Convert unsigned char to uint8_t to better reflect the content of the variables

This does not introduce any functional change, it just makes the code
easier to read.
A misleading warning would be issued when the datarate throttling is enabled

The test condition was wrong.
Add FCS (CRC-16) footer to the frames

This addition is useful when packets are feed to real hardware or when
computing the exact size of the packets is important (e.g. for
connecting to a simulation engine).

A big thank you to Ross Williams and J. Zibicak for making their work
public domain.