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

Reply via email to