I created a system with a microcontroller (part# AT89S52) in which data can be transferred between any set of devices via a wireless serial port.

I have created a data format thats similar to UDP except the bit fields are 8-bit instead of 16.

Format is as follows:

1 byte for recipient
1 byte for sender
any # bytes for data
1 byte for CRC8 checksum

Is there a program out there that exists for DOS or UNIX that would allow me to specify any amount of data including the remote machine and local machine ID on the command line and then the program calculates the CRC8 checksum of all data (assume CRC8 intial value is 0) and sends the data out through the serial port?

For example, If I typed on the command line:

programname target=0x1 me=0x2 data=0x11,0x22,0x33

I'd like to have the following sent down on the serial port:

0x1 0x2 0x11 0x22 0x33 0x__ <- checksum of last 5 bytes here will replace underscores

The amount of data can be variable but I won't be dealing with more than 16 bytes.

The serial port speed settings can be preset by the system settings.

Does anyone know if there's a piece of free software out there that does this? If so, what is the name of it and where can I find it?

I would prefer if the software you suggest does not require Windows or any of the libraries Windows uses.

  • I am extremely confident that you will not find that off the shelf. However, it is simple enough to code yourself. At most, you need to be able to parse command parameters (maybe using` argparse in Python?), then find a FOSS implementation of CRC8. – Mawg says reinstate Monica Sep 4 '18 at 13:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.