Hi all, Basically, I made a capture of a serial-type signal with Saleae Logic, digital mode, 5 MS/s. Exported this to .vcd, imported into Pulseview (PulseView 0.5.0-git-58cd5b5)
Then I use a custom protocol decoder in Python; where I have something like this: def decode(self): if not self.samplerate: raise SamplerateError('Cannot decode without samplerate.') while True: if self.state == 'FIND BREAK': print("prewait: run_start {} samplenum {}".format(self.run_start, self.samplenum) # wait for falling edge (mysig,) = self.wait({0: 'l'}) # after wait has stopped blocking, condition is found, and samplenum is set self.run_start = self.samplenum print("midwait: run_start {} samplenum {}".format(self.run_start, self.samplenum) .... ... and eventually, I run into this printout: prewait: run_start 1823675000 samplenum 1823675000 midwait: run_start -1467259896 samplenum -1467259896 So, I'm getting a negative self.samplenum in the protocol decoder; apparently there are 4 bytes allocated for this integer, and it wrapped. And thus, I get no decoded fields drawn in Pulseview from this point on (this point corresponds to approx 2828 ms in my capture) What can I do to fix this? Thanks! _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel