|
|
2 years ago | |
|---|---|---|
| src | 2 years ago | |
| .gitignore | 2 years ago | |
| .gitlab-ci.yml | 2 years ago | |
| Doxyfile | 2 years ago | |
| LICENSE | 2 years ago | |
| Makefile | 2 years ago | |
| apollo.json | 2 years ago | |
| readme.md | 2 years ago |
Create formatted frame from basic types:
Support modes:
Data are stored in Little Endian format.
Structure of data frame (TYPE_HEADER_1B):
Structure of data frame (TYPE_HEADER_2B):
Structure of data frame (TYPE_PLAIN):
The library contans universal function:
uint8_t crc8(uint8_t crc, uint8_t Size, uint8_t *Buffer);
void main(){
uint8_t data[24];
DataFrame packet(data_packet, sizeof(data_packet), TYPE_HEADER_1B, CRC_ON);
packet.AddUint8(0xAB);
packet.AddUint16(65874);
packet.AddInt8(-45874);
packet.AddUint32(0x12345678);
packet.AddInt32(-0xA2345678);
packet.AddFloat(0.265);
packet.AddFloat(-3.1415);
// resulted length is 23B (20B of data, 1B breamble, 1B lenfth byte, 1B CRC)
int data_length = packet.Commit();
if (packet.getError() == ERROR_NONE) {
// frame[1] contain packet length. The real value is 20
uint8_t* frame = packet.GetFrame();
}
}