Sending and reception of big data file (1kB example)

Dependencies:   modem_ref_helper CRC DebouncedInterrupt

Committer:
Jeej
Date:
Thu Dec 14 18:25:58 2017 +0000
Revision:
1:76a8a3cc5f2e
Parent:
0:a2bbc478f812
First version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jeej 0:a2bbc478f812 1 #ifndef _FILES_H_
Jeej 0:a2bbc478f812 2 #define _FILES_H_
Jeej 0:a2bbc478f812 3
Jeej 0:a2bbc478f812 4 #include "mbed.h"
Jeej 0:a2bbc478f812 5 #include "revision.h"
Jeej 0:a2bbc478f812 6 #include "alp_spec.h"
Jeej 0:a2bbc478f812 7 #include "alp_helpers.h"
Jeej 0:a2bbc478f812 8 #include "modem_ref.h"
Jeej 0:a2bbc478f812 9
Jeej 0:a2bbc478f812 10 #define sizeof_field(_struct,_field) sizeof(((_struct*)0)->_field)
Jeej 0:a2bbc478f812 11
Jeej 0:a2bbc478f812 12 TYPEDEF_STRUCT_PACKED {
Jeej 0:a2bbc478f812 13 uint8_t fid;
Jeej 0:a2bbc478f812 14 uint32_t offset;
Jeej 0:a2bbc478f812 15 uint32_t length;
Jeej 0:a2bbc478f812 16 } touch_t;
Jeej 0:a2bbc478f812 17
Jeej 0:a2bbc478f812 18 extern Queue<touch_t, 8> g_file_modified;
Jeej 0:a2bbc478f812 19
Jeej 0:a2bbc478f812 20 TYPEDEF_STRUCT_PACKED {
Jeej 0:a2bbc478f812 21 uint8_t data[1024];
Jeej 0:a2bbc478f812 22 uint32_t crc;
Jeej 1:76a8a3cc5f2e 23 } output_file_t;
Jeej 1:76a8a3cc5f2e 24
Jeej 1:76a8a3cc5f2e 25 TYPEDEF_STRUCT_PACKED {
Jeej 1:76a8a3cc5f2e 26 uint8_t data[1024];
Jeej 1:76a8a3cc5f2e 27 uint32_t crc;
Jeej 0:a2bbc478f812 28 } input_file_t;
Jeej 0:a2bbc478f812 29
Jeej 0:a2bbc478f812 30 #define FID_HOST_REV 65
Jeej 0:a2bbc478f812 31 #define SIZE_HOST_REV sizeof(revision_t)
Jeej 0:a2bbc478f812 32 extern alp_file_header_t h_rev;
Jeej 0:a2bbc478f812 33 extern revision_t f_rev;
Jeej 0:a2bbc478f812 34
Jeej 1:76a8a3cc5f2e 35 #define FID_OUTPUT_FILE 200
Jeej 1:76a8a3cc5f2e 36 #define SIZE_OUTPUT_FILE sizeof(output_file_t)
Jeej 1:76a8a3cc5f2e 37 extern alp_file_header_t h_output_file;
Jeej 1:76a8a3cc5f2e 38 extern output_file_t f_output_file;
Jeej 1:76a8a3cc5f2e 39
Jeej 0:a2bbc478f812 40 #define FID_INPUT_FILE 201
Jeej 0:a2bbc478f812 41 #define SIZE_INPUT_FILE sizeof(input_file_t)
Jeej 0:a2bbc478f812 42 extern alp_file_header_t h_input_file;
Jeej 0:a2bbc478f812 43 extern input_file_t f_input_file;
Jeej 0:a2bbc478f812 44
Jeej 0:a2bbc478f812 45 #endif // _FILE_H_