Subject: CRC16 Library
Has entered the following message into the contact form:
Hi,
my name is Arne, I live in Juelich, Germany, and want to equip a high altitude balloon with a radio tracker.
These radio trackers transmit the data of the flying balloon to distributed listeners wherever the balloon can be heard by radio recievers; and then the telemetry data is uploaded stored in a database (www.habhub.org)
Before this is done, the data (a string) is checked with a checksum; this checksum then appended to the data string.
I did this already, based on an Arduino Uno, and all worked fine: data acquisition, checksum generatioin, radio transmission, upload and storage in the habhub database.
As recommended by www.ukhas.org.uk, I used the #include <util/crc16.h> on the arduino platform.
For several reasons, I now intend to build such a tracker based on a Adafruit Feather M0 Adalogger.
I/Os, GPS and external sensors already work fine, data can also be stored on SD card.
Only the checksum generation like on the Arduino does not work; i.e., #include <util/crc16.h> cannot be compiled on the Feather.
With excitement I found your platform-independent checksum generator in the Arduino libraries, sent it to the Feather – and voilá: It works great.
It works, but the checksum which is generated is not compatible to the requirement of the balloon server.
All requirements can be found here:
https://ukhas.org.uk/communication:protocol?s[]=crc16
Example of a CRC16_CCITT'd string:
$$hadie,181,10:42:10,54.422829,-6.741293,27799.3,1:10*002A
The first two $$ are ignored in checksum generation. The appended checksum is separated from the datastring with the *
My question is: Is there a way to use your library in such a manner that the Checksum is generated like in the example above?
Your help is highly appreciated, as no other variant of the CRC16 is accepted by the habhub server. There are some others allowed, but also for these I did not find a code that works…
Maybe you can help? I am very happy to hearing from you.
Best wishes
Arne