#ifndef MyOtaBootloader_H #define MyOtaBootloader_H #include #include #include #include #include #include #include #include #include #include #include "MyMessage.h" #include "MySensor.h" #include "MyOtaBootloaderRF24.h" #define FIRMWARE_BLOCK_SIZE 16 struct FirmwareConfig { uint16_t type; uint16_t version; uint16_t blocks; uint16_t crc; }; typedef struct { uint16_t type; uint16_t version; } FirmwareConfigRequest; typedef struct { uint16_t type; uint16_t version; uint16_t blocks; uint16_t crc; } FirmwareConfigResponse; typedef struct { uint16_t type; uint16_t version; uint16_t block; } FirmwareRequest; typedef struct { uint16_t type; uint16_t version; uint16_t block; uint8_t data[FIRMWARE_BLOCK_SIZE]; } FirmwareResponse; static struct NodeConfig nc; static struct FirmwareConfig fc; static MyMessage msg; static MyMessage rmsg; static clock_div_t orgClockDiv = 0; static uint8_t progBuf[SPM_PAGESIZE]; #endif // MyOtaBootloader_H