Midnight Sun Firmware
Loading...
Searching...
No Matches
fota_datagram_payloads.h
1#pragma once
2
3/************************************************************************************************
4 * @file fota_datagram.h
5 *
6 * @brief Fota Datagram Header File
7 *
8 * @date 2025-04-30
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdbool.h>
14#include <stdint.h>
15
16/* Inter-component Headers */
17
18/* Intra-component Headers */
19#include "fota_datagram.h"
20
28#define FOTA_ERROR_MSG_LENGTH 256U
29
31#define FOTA_FIRMWARE_ID_LENGTH 256U
32
33typedef struct {
34 uint32_t binary_size;
36 uint8_t version_major;
37 uint8_t version_minor;
38 char firmware_id[FOTA_FIRMWARE_ID_LENGTH];
40
41typedef struct {
42 uint8_t data[FOTA_MAX_DATAGRAM_SIZE];
44
45typedef struct {
46 uint8_t jump_location;
47 uint32_t magic_number;
50
51typedef struct {
52 uint8_t ack_status;
54 uint32_t error_code;
55 char error_msg[FOTA_ERROR_MSG_LENGTH];
57
#define FOTA_FIRMWARE_ID_LENGTH
Firmware ID length in bytes.
Definition: fota_datagram_payloads.h:31
#define FOTA_MAX_DATAGRAM_SIZE
Maximum supported datagram size (2KB)
Definition: fota_datagram.h:28
#define FOTA_ERROR_MSG_LENGTH
Error message length in bytes.
Definition: fota_datagram_payloads.h:28
Definition: fota_datagram_payloads.h:51
uint8_t ack_status
Definition: fota_datagram_payloads.h:52
uint32_t error_code
Definition: fota_datagram_payloads.h:54
uint8_t response_to_type
Definition: fota_datagram_payloads.h:53
Definition: fota_datagram_payloads.h:41
Definition: fota_datagram_payloads.h:33
uint32_t binary_size
Definition: fota_datagram_payloads.h:34
uint8_t version_major
Definition: fota_datagram_payloads.h:36
uint8_t version_minor
Definition: fota_datagram_payloads.h:37
uint32_t expected_binary_crc32
Definition: fota_datagram_payloads.h:35
Definition: fota_datagram_payloads.h:45
uint32_t magic_number
Definition: fota_datagram_payloads.h:47
uint8_t validation_flag
Definition: fota_datagram_payloads.h:48
uint8_t jump_location
Definition: fota_datagram_payloads.h:46