Midnight Sun Firmware
Loading...
Searching...
No Matches
bootloader_packet_handler.h
1#pragma once
2
3/************************************************************************************************
4 * @file bootloader_packet_handler.h
5 *
6 * @brief Bootloader Packet Handler
7 *
8 * @date 2025-10-05
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15
16/* Intra-component Headers */
17#include "bootloader.h"
18#include "bootloader_can_datagram.h"
19
29typedef struct {
31 uint32_t bytes_written;
32 uint32_t data_size;
33 uint32_t packet_crc32;
35 uint16_t buffer_index;
37 uint8_t ping_data_len;
38 uint16_t target_nodes;
42
49
58
67BootloaderError bootloader_receive_data(PacketManager *pm, BootloaderDatagram *datagram, uint8_t *flash_buffer);
68
77
86BootloaderError bootloader_ping(PacketManager *pm, BootloaderDatagram *datagram, uint8_t *flash_buffer);
87
BootloaderError packet_handler_init(PacketManager *pm)
Initialize the PacketManager struct.
Definition: bootloader_packet_handler.c:27
BootloaderError bootloader_wait_sequencing(PacketManager *pm, BootloaderDatagram *datagram)
Function call for BOOTLOADER_WAIT_SEQUENCING state.
Definition: bootloader_packet_handler.c:127
BootloaderError bootloader_ping(PacketManager *pm, BootloaderDatagram *datagram, uint8_t *flash_buffer)
Function call for the BOOTLOADER_PING state.
Definition: bootloader_packet_handler.c:145
BootloaderError bootloader_start(PacketManager *pm, BootloaderDatagram *datagram)
Function call for the BOOTLOADER_START state.
Definition: bootloader_packet_handler.c:46
BootloaderError bootloader_receive_data(PacketManager *pm, BootloaderDatagram *datagram, uint8_t *flash_buffer)
Function call for the BOOTLOADER_DATA_RECEIVE state.
Definition: bootloader_packet_handler.c:64
BootloaderPingStates
Bootloader Ping States.
Definition: bootloader.h:46
BootloaderError
Bootloader error definitions.
Definition: bootloader_error.h:28
Datagram message definition.
Definition: bootloader_can_datagram.h:54
Stores info related to receiving data.
Definition: bootloader_packet_handler.h:29
uint16_t buffer_index
Definition: bootloader_packet_handler.h:35
uintptr_t current_write_address
Definition: bootloader_packet_handler.h:30
uint32_t bytes_written
Definition: bootloader_packet_handler.h:31
BootloaderPingStates ping_type
Definition: bootloader_packet_handler.h:36
bool first_byte_received
Definition: bootloader_packet_handler.h:39
uint16_t target_nodes
Definition: bootloader_packet_handler.h:38
uint32_t packet_crc32
Definition: bootloader_packet_handler.h:33
bool first_ping_received
Definition: bootloader_packet_handler.h:40
uint8_t ping_data_len
Definition: bootloader_packet_handler.h:37
uint32_t data_size
Definition: bootloader_packet_handler.h:32
uint16_t expected_sequence_number
Definition: bootloader_packet_handler.h:34