aboutsummaryrefslogtreecommitdiff
path: root/src/data.h
diff options
context:
space:
mode:
authorFrançois Cartegnie <281376+fcartegnie@users.noreply.github.com>2024-07-09 08:46:46 +0200
committerGitHub <noreply@github.com>2024-07-09 08:46:46 +0200
commitb25d62d1362cfd711e6617a9212e3eddc4e9fddd (patch)
tree7bb91449ca4b586cf7739a6d727855338f3ab410 /src/data.h
parenta6c62295e92b3d960700508a445be1fba71a3cc2 (diff)
parent86e6f0db4d8349a7efbd98ac5fe5453fb58bd82c (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.h42
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__ */