diff options
| author | François Cartegnie <281376+fcartegnie@users.noreply.github.com> | 2024-07-09 08:46:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-09 08:46:46 +0200 |
| commit | b25d62d1362cfd711e6617a9212e3eddc4e9fddd (patch) | |
| tree | 7bb91449ca4b586cf7739a6d727855338f3ab410 /src/data.h | |
| parent | a6c62295e92b3d960700508a445be1fba71a3cc2 (diff) | |
| parent | 86e6f0db4d8349a7efbd98ac5fe5453fb58bd82c (diff) | |
Merge pull request #31 from kienvo/ble-save
feat: Save received data from BLE to flash
Diffstat (limited to 'src/data.h')
| -rw-r--r-- | src/data.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/data.h b/src/data.h new file mode 100644 index 0000000..813176d --- /dev/null +++ b/src/data.h @@ -0,0 +1,42 @@ +#ifndef __DATA_H__ +#define __DATA_H__ + +#include <stdint.h> + +#include "fb.h" + +typedef struct { + uint8_t header[6]; + uint8_t flash; + uint8_t marquee; + uint8_t modes[8]; + + uint16_t sizes[8]; // big endian + + uint8_t pad6[6]; + uint8_t timestamp[6]; + uint8_t pad4[4]; + + uint8_t separator[16]; + + uint8_t *bitmapdata; +} data_legacy_t; + +#define LEGACY_TRANSFER_WIDTH (16) +#define LEGACY_HEADER_SIZE (sizeof(data_legacy_t) - sizeof(uint8_t *)) + +static inline uint16_t bswap16(uint16_t i) { + return (i >> 8) | (i << 8); +} +uint32_t bigendian16_sum(uint16_t *s, int len); + +uint32_t data_flatSave(uint8_t *data, uint32_t len); +uint16_t data_flash2newmem(uint8_t **chunk, uint32_t n); + +void chunk2buffer(uint8_t *chunk, uint16_t size, uint16_t *buf); +void chunk2fb(uint8_t *chunk, uint16_t size, fb_t *fb); + +fb_t *chunk2newfb(uint8_t *chunk, uint16_t size); +fb_t *flash2newfb(uint32_t n); + +#endif /* __DATA_H__ */ |