X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fnunchuk%2Fpd.py;h=59b102890dcd0ea507f954d18084847562d0cf97;hp=afcf1de2d417936b2cd9ea5becb84c7c15940b74;hb=6cbba91f23b9f9ace75b4722c9c0776b9211008d;hpb=486b19ce017c6663be6574dacd0c823304903bca diff --git a/decoders/nunchuk/pd.py b/decoders/nunchuk/pd.py index afcf1de..59b1028 100644 --- a/decoders/nunchuk/pd.py +++ b/decoders/nunchuk/pd.py @@ -14,21 +14,21 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## along with this program; if not, see . ## import sigrokdecode as srd class Decoder(srd.Decoder): - api_version = 2 + api_version = 3 id = 'nunchuk' name = 'Nunchuk' longname = 'Nintendo Wii Nunchuk' desc = 'Nintendo Wii Nunchuk controller protocol.' license = 'gplv2+' inputs = ['i2c'] - outputs = ['nunchuck'] + outputs = [] + tags = ['Sensor'] annotations = \ tuple(('reg-0x%02X' % i, 'Register 0x%02X' % i) for i in range(6)) + ( ('bit-bz', 'BZ bit'), @@ -47,7 +47,10 @@ class Decoder(srd.Decoder): ('warnings', 'Warnings', (14,)), ) - def __init__(self, **kwargs): + def __init__(self): + self.reset() + + def reset(self): self.state = 'IDLE' self.sx = self.sy = self.ax = self.ay = self.az = self.bz = self.bc = -1 self.databytecount = 0 @@ -128,8 +131,8 @@ class Decoder(srd.Decoder): t = (self.sx, self.sy, self.ax, self.ay, self.az, self.bz, self.bc) if -1 in t: return - bz = 'pressed' if self.bz == 1 else 'not pressed' - bc = 'pressed' if self.bc == 1 else 'not pressed' + bz = 'pressed' if self.bz == 0 else 'not pressed' + bc = 'pressed' if self.bc == 0 else 'not pressed' s = 'Analog stick: %d/%d, accelerometer: %d/%d/%d, Z: %s, C: %s' % \ (self.sx, self.sy, self.ax, self.ay, self.az, bz, bc) self.putb([13, [s]])