Bugzilla – Attachment 275 Details for
Bug 877
PWM doesn't handle decode back in time.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
restart on backwards time jump
0001-pwm-handle-sigrok-restarting-decoding.patch (text/plain), 1.83 KB, created by
karlp
on 2016-12-12 18:22:02 CET
(
hide
)
Description:
restart on backwards time jump
Filename:
MIME Type:
Creator:
karlp
Created:
2016-12-12 18:22:02 CET
Size:
1.83 KB
patch
obsolete
>From a631a619756ca1a5e610cb27f33a0365381dd647 Mon Sep 17 00:00:00 2001 >From: Karl Palsson <karlp@etactica.com> >Date: Mon, 12 Dec 2016 16:47:01 +0000 >Subject: [PATCH] pwm: handle sigrok restarting decoding > >With live captures, sigrok is (wastefully) resubmitting older data to >the decoder. Wastefully just restart in that case. > >Signed-off-by: Karl Palsson <karlp@etactica.com> >--- > decoders/pwm/pd.py | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > >diff --git a/decoders/pwm/pd.py b/decoders/pwm/pd.py >index 6ca46b1..7ee36d7 100644 >--- a/decoders/pwm/pd.py >+++ b/decoders/pwm/pd.py >@@ -49,7 +49,7 @@ class Decoder(srd.Decoder): > ('raw', 'RAW file'), > ) > >- def __init__(self): >+ def reinit(self): > self.ss_block = self.es_block = None > self.first_transition = True > self.first_samplenum = None >@@ -58,12 +58,17 @@ def __init__(self): > self.oldpin = None > self.num_cycles = 0 > self.average = 0 >+ self.last_ss = None >+ >+ def __init__(self): >+ self.reinit() > > def metadata(self, key, value): > if key == srd.SRD_CONF_SAMPLERATE: > self.samplerate = value > > def start(self): >+ self.reinit() > self.startedge = 0 if self.options['polarity'] == 'active-low' else 1 > self.out_ann = self.register(srd.OUTPUT_ANN) > self.out_binary = self.register(srd.OUTPUT_BINARY) >@@ -95,6 +100,10 @@ def putb(self, data): > self.put(self.num_cycles, self.num_cycles, self.out_binary, data) > > def decode(self, ss, es, data): >+ # Work around sigrok wastefully resubmitting earlier data >+ if self.last_ss and ss < self.last_ss: >+ self.start() >+ self.last_ss = ss > > for (self.samplenum, pins) in data: > # Ignore identical samples early on (for performance reasons). >-- >2.4.11 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 877
: 275