Thank you, this is helpful. It would be even better if would be
commented... :).

On Tue, Aug 6, 2024, 19:48 Rob CJ <[email protected]> wrote:

> Hi Vasile,
>
> In the virtual_wire library I do the following CRC calculation. A bit
> different from yours.
>
> -- Calculate new crc over given data. Formula is:
> -- Xexp16 + Xexp12 + Xexp5 + 1
> function _vw_calc_crc(word in crc, byte in data) return word is
> var word data_2
>   data = data ^ byte(crc & 0x00ff)
>   data = data ^ (data << 4)
>   data_2 = word(data)
>   return (((data_2 << 8) | (crc >> 8)) ^ (data_2 >> 4) ^ (data_2 << 3))
> end function
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens vsurducan
> <[email protected]>
> *Verzonden:* dinsdag 6 augustus 2024 11:37
> *Aan:* [email protected] <[email protected]>
> *Onderwerp:* [jallib] CRC16 implementation?
>
> Hi Rob,
> Is there any CRC16 implementation example? DS18B20 library has a CRC8
> implemented, but only for bit checking.
> I need a CRC16 computation for reading a  MODBUS slave. The polynomial
> generator is X16+X12+X2+1 and the value for computation 0xA0001.
>
> The C implementation for CRC16 MODBUS seems to be this one:
> https://www.modbustools.com/modbus_crc16.html
> and an application library here:
> https://github.com/mandulaj/PZEM-004T-v30/blob/master/src/PZEM004Tv30.cpp
>
> The problem is that translating this C to jal seems very painful...
> I can find each CRC value for each needed command by running a MODBUS
> software, but the CRC values will be different for each slave address
> and/or numbers of bytes to be read from one particular slave...which is
> inconvenient.
>
> thank you,
> Vasile
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/CAM%2Bj4qvE3tUP%2BuKwiPNxNcWLpvi_4uR69fETm59z4cGFS_30zA%40mail.gmail.com
> <https://groups.google.com/d/msgid/jallib/CAM%2Bj4qvE3tUP%2BuKwiPNxNcWLpvi_4uR69fETm59z4cGFS_30zA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/GVXP195MB1637A05519FEAED5F5BE8E94E6BF2%40GVXP195MB1637.EURP195.PROD.OUTLOOK.COM
> <https://groups.google.com/d/msgid/jallib/GVXP195MB1637A05519FEAED5F5BE8E94E6BF2%40GVXP195MB1637.EURP195.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/CAM%2Bj4qtQoLc9_b_FmTXW55pDpcjSQP8Bb40d_0KH8jWLRNMkQQ%40mail.gmail.com.

Reply via email to