19#include "bootloader_can.h"
20#include "bootloader_error.h"
36#define DGRAM_MAX_MSG_SIZE 8
105 uint16_t req : 4 , data_len : 12;
BootloaderDatagram deserialize_datagram(Boot_CanMessage *msg, uint16_t *target_nodes)
Deserialize an incoming CAN message.
void send_ack_datagram(bool ack, BootloaderError error)
Send Bootloader ACK/NACK message over CAN.
Definition: bootloader_can_datagram.c:60
BootloaderCanID
Bootloader reserved CAN arbitration IDs.
Definition: bootloader_can_datagram.h:41
BootloaderError
Bootloader error definitions.
Definition: bootloader_error.h:28
@ BOOTLOADER_CAN_JUMP_BOOTLOADER
Definition: bootloader_can_datagram.h:47
@ BOOTLOADER_CAN_FLASH_ID
Definition: bootloader_can_datagram.h:43
@ BOOTLOADER_CAN_PING_METADATA_ID
Definition: bootloader_can_datagram.h:48
@ BOOTLOADER_CAN_JUMP_APPLICATION_ID
Definition: bootloader_can_datagram.h:44
@ BOOTLOADER_CAN_PING_DATA_ID
Definition: bootloader_can_datagram.h:49
@ BOOTLOADER_CAN_SEQUENCING_ID
Definition: bootloader_can_datagram.h:42
@ BOOTLOADER_CAN_ACK_ID
Definition: bootloader_can_datagram.h:45
@ BOOTLOADER_CAN_START_ID
Definition: bootloader_can_datagram.h:46
CAN message structure.
Definition: bootloader_can.h:80
Datagram message definition.
Definition: bootloader_can_datagram.h:55
uint32_t data_len
Definition: bootloader_can_datagram.h:67
uint32_t crc32
Definition: bootloader_can_datagram.h:75
uint16_t sequence_num
Definition: bootloader_can_datagram.h:74
uint16_t bootloader_error
Definition: bootloader_can_datagram.h:97
uint8_t ack_status
Definition: bootloader_can_datagram.h:96
uint8_t * data
Definition: bootloader_can_datagram.h:82
uint16_t node_ids
Definition: bootloader_can_datagram.h:66
uint8_t datagram_type_id
Definition: bootloader_can_datagram.h:56