Hello Sam, Thanks for the change! I would appreciate if you could open a pull request for https://github.com/sigrokproject/libsigrokdecode and if you have .sr files that contain RGBW communication, also against sigrok-dumps. That way, Uwe has less work to do and the project as a whole can progress more quickly.
If you really want to make us happy, adding your change to the PD unit test suite would also be awesome: https://github.com/sigrokproject/sigrok-test All the best -Soeren On Thu, 2020-06-04 at 10:22 +0200, Sxxx Mxxx wrote: > Hi, > > thank you for providing the decoder for the WS281x protocol. > As there are now not only RGB but also RGBW stripes commonly > available I > would propose a small improvement: Add an option to switch between 3 > and 4 > bytes. > The change is pretty trivial and straightforward. > > Hope this helps & best regards > Sam > > Attached diff: > 48,51d47 > < options = ( > < {'id': 'type', 'desc': 'RGB or RGBW', 'default': 'RGB', > < 'values': ('RGB', 'RGBW')}, > < ) > 73,88c69,75 > < if self.options['type'] == 'RGB': > < if len(self.bits) == 24: > < grb = reduce(lambda a, b: (a << 1) | b, self.bits) > < rgb = (grb & 0xff0000) >> 8 | (grb & 0x00ff00) << 8 > | > (grb & 0x0000ff) > < self.put(self.ss_packet, samplenum, self.out_ann, > < [2, ['#%06x' % rgb]]) > < self.bits = [] > < self.ss_packet = None > < else: > < if len(self.bits) == 32: > < grb = reduce(lambda a, b: (a << 1) | b, self.bits) > < rgb = (grb & 0xff0000) >> 8 | (grb & 0x00ff00) << 8 > | > (grb & 0xff0000ff) > < self.put(self.ss_packet, samplenum, self.out_ann, > < [2, ['#%08x' % rgb]]) > < self.bits = [] > < self.ss_packet = None > --- > > if len(self.bits) == 24: > > grb = reduce(lambda a, b: (a << 1) | b, self.bits) > > rgb = (grb & 0xff0000) >> 8 | (grb & 0x00ff00) << 8 | > > (grb & > 0x0000ff) > > self.put(self.ss_packet, samplenum, self.out_ann, > > [2, ['#%06x' % rgb]]) > > self.bits = [] > > self.ss_packet = None > > _______________________________________________ > sigrok-devel mailing list > sigrok-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/sigrok-devel _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel