Hi,

On Fri, Apr 03, 2020 at 10:49:03AM +0000, Perisanu, Teo wrote:
> Analog Devices would like to contribute to the sigrok project with 4
> protocol decoders.

Great, thanks a lot!


> The patches for these decoders can be found at:

A GitHub pull-request against github.com/sigrokproject is fine btw, no
need for patch files.


The files for sigrok-dumps are all merged, with very minor
cosmetic/whitespace fixes in the READMEs squashed in, thanks!


The decoders all all merged as well, with a few changes as follows
(some of them I squashed into your original commits to avoid cluttering
git history too much with directory renames, whitespace changes and such):

 * The PD names/dirs are now: adxl345, ltc242x, ltc26x7, ad5626, ad79x0.
   I tried to use a name that allows for additional support for more
   models (mentioned in the same datasheet) later on.

   E.g. ltc242x could gain LTC2421 support via a 'chip' option, like you
   already added in ltc26x7.

 * Some devices can use multiple protocols (e.g. SPI or I2C), for those
   it would be great if you could provide some more samples for
   sigrok-dumps, we might want to add a respective PD for the I2C
   variant as well later on, for example.

   Yes, this would somewhat duplicate some code chunks in PDs; if it's
   not a lot of code, that's fine; for larger chunks, some common things
   like register tables can be moved to the common/ directory, if needed.

   If possible, also hook up all pins to the sample files ideally (e.g. LDAC#,
   CLR# and such). This can be helpful for better understanding what is
   happening on the lines, as well as for potentially improving PDs later.

 * This is fully optional, but we're currently in the process of
   improving the readability of PDs a bit by using SrdIntEnum and
   friends, so I've converted adxl345 as a quick demo.

 * For PDs with multiple channels, I've put each one on an extra
   annotation row, which allows the user to more easily see
   (graphically) what's going on, e.g. in PulseView.

 * I fixed two issues I noticed in adxl345, but please double-check,
   just in case. There's one remaining potential issue I haven't addressed:
   handle_reg_0x22/_0x23/_0x24 all use "Latent" as string; is that
   intentional? Or should those be Latent/Window/THRESH_ACT or such?

 * I've moved the ad5626 sample files from spi/ to dac/. IMHO this
   doesn't "really" count as SPI even though the SPI decoder works
   somewhat for more or less any random sync/clocked protocol.

   I've merged the ad5626 decoder for now, but this one should probably
   be eventually replaced with a non-stacked version which implements
   the DAC protocol directly, including LDAC# and CLR# handling, etc.

   Another such decoder we already have is tlc5620 btw. if you want to
   have a look at that. That one is not perfect and could use various
   improvements as well, but it's an example for another non-SPI DAC.

   And yes, sooner or later we'd like to have support for additional
   logic input channels for stacked decoders, but that's currently not
   possible, yet.

 * Finally, I've added a few test-cases in our sigrok-test repo, based
   on your .sr files in sigrok-dumps. We use this to (regression-)test
   decoders as much as possible.


Thanks again for your contributions!

Cheers, Uwe.
-- 
http://hermann-uwe.de | http://randomprojects.org | http://sigrok.org


_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to