Hello Sigrok, I'm Guy Colin (alias JumpZero). I wrote a decoder for 1wire temperature devices A few weeks ago I was chatting with some of you on #sigrok IRC channel. However I cannot be online all the time on this channel so it isn't convenient for me. That's why I came here. GSI told me somebody else will have a look at this decoder. Then I may have missed messages.
The decoder is on my github: https://github.com/villeneuve/libsigrokdecode-ds18b20 To write it, I've followed the howto. It's finished and works as expected. Tested with latest libsigrok and PulseView. 5 dumps are provided, with explanations on hardware and software setup, + PulseView screenshot Each dump demonstrates a different 1wire command. A unit test is provided as well. The decoder has been successfully tested with real 1wire devices and with the sigrok repository available dumps. ===================================== The current 1wire decoders situation in sigrok is : in addition to the 1wire-link and 1wire-network decoders, the existing 1wire devices decoders are: - DS2408 8 channels switch - DS243x EEPROM - DS24EA00 Temperature sensor The DS24EA00 is the only temperature device decoder. My decoder is forked from this one and offers more features. The Device DS28EA00 shares a command set with other 1wire temperature sensor devices: 5 ROM commands + 6 Function commands. Devices list sharing this commands set supported by my proposed decoder: - DS1822 - DS1825 - DS18S20 - DS18B20 / DS18B20-PAR - DS28EA00 My proposed decoder implements all these commands. The existing DS28EA00 decoder implements only a subset of these commands. The existing DS28EA00 decoder doesn’t decode all the information, it just mentions the command name. My proposed decoder decodes all the information: When decoding the ROM it decodes the device's 48 bits unique ID, the device type and the CRC. When decoding a “read scratchpad” command it displays: Temperature, TH (high threshold alarm), TL (low threshold alarm) and resolution. The same applies for a “write scratchpad command”. At the beginning I wrote a decoder for the ds18b20 device only, because it's a very popular temperature device in the maker world. But when chatting on #sigrok IRC channel, I was suggested to do it for all 1wire temperature devices. This is what I did. So I would like somebody to have a look at what I did. Specially I think two questions must be answered by sigrok team: These questions are: - The decoder name (currently "ds18b20" but this can be changed to reflect the decoder multi devices capability. If changed I've some software changes to do) - Do I include the "DS28EA00 only commands" yes/no? These commands run only on this device. If I include them then maybe the DS28EA00 decoder isn't needed anymore.. You can find the same questions + some helpful screenshots here: https://github.com/villeneuve/libsigrokdecode-ds18b20/blob/main/explanations/explanations.pdf You can browse my github to check the decoder, the dumps, the explanations texts, the screenshots and the unit test. Let me know what you think. Thanks. -- Guy COLIN
_______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel