+ for (self.samplenum, (val, pon)) in data:
+
+ # Always remember the old PON state.
+ if self.oldpon != pon:
+ self.oldpon = pon
+
+ # Warn if PON goes low.
+ if self.oldpon == 1 and pon == 0:
+ self.pon_ss = self.samplenum
+ self.put(self.samplenum, self.samplenum, self.out_ann,
+ [1, ['Warning: PON goes low, DCF77 reception '
+ 'no longer possible']])
+ elif self.oldpon == 0 and pon == 1:
+ self.put(self.samplenum, self.samplenum, self.out_ann,
+ [0, ['PON goes high, DCF77 reception now possible']])
+ self.put(self.pon_ss, self.samplenum, self.out_ann,
+ [1, ['Warning: PON low, DCF77 reception disabled']])
+
+ # Ignore samples where PON == 0, they can't contain DCF77 signals.
+ if pon == 0:
+ continue