# Simple wrapper for DataFrame Create formatted frame from basic types: - uint8_t, int8_t - uint16_t, int16_t - uint32_t, int32_t - float Structure of data frame: - starting byte (0xCC) - length of frame: count of bytes in payload. The first 2 bytes is not included to overal length. Maximum length: 254 (0xFE) - payload - CRC8 ## Basic usage ```c void main(){ uint8_t data[128]; packet_create(data, 128); packet_add_uint8(0xAB); packet_add_uint16(0xABCD); packet_add_uint32(0x12345678); packet_add_float(0.265); int data_length = packet_commit(); } ``` ## CRC8 Computation - Generator polynome: 0x97 -> 0x197 = x^8 + x^7 + x^4 + x^2 + x^1 +1 - CRC is implemented as fast computation with prepared CrcTable. Algorithm complexity is O(n)