19#include "fota_datagram.h"
20#include "fota_encryption.h"
21#include "fota_error.h"
22#include "fota_packet.h"
23#include "network_buffer.h"
43#define FOTA_MAX_ACTIVE_DATAGRAMS 2U
54 uint16_t bytes_received;
60 FotaDatagram active_datagrams[FOTA_MAX_ACTIVE_DATAGRAMS];
61 bool datagram_active[FOTA_MAX_ACTIVE_DATAGRAMS];
64 void (*datagram_complete_callback)(
FotaDatagram *datagram);
FotaDatagramType
Datagram types corresponding to different FOTA operations.
Definition: fota_datagram.h:36
PacketReceiverState
State machine states for packet receiving.
Definition: packet_manger.h:34
FotaError packet_manager_send_datagram(PacketManager *manager, FotaDatagram *datagram, FotaError(*send_func)(int8_t *data, uint32_t length))
Send a datagram by fragmenting it into packets.
Definition: packet_manager.c:194
FotaError packet_manager_free_datagram(PacketManager *manager, uint32_t datagram_id)
Free a datagram slot.
Definition: packet_manager.c:269
FotaError packet_manager_create_datagram(PacketManager *manager, FotaDatagramType type, uint8_t *data, uint32_t length, FotaDatagram *datagram)
Create a new datagram for sending.
Definition: packet_manager.c:227
FotaError packet_manager_init(PacketManager *manager, UartSettings *uart2_settings, void(*callback)(FotaDatagram *datagram))
Initialize the packet manager.
Definition: packet_manager.c:20
FotaError packet_manager_get_datagram(PacketManager *manager, uint32_t datagram_id, FotaDatagram **datagram)
Get a pointer to a completed datagram.
Definition: packet_manager.c:253
FotaError packet_manager_process(PacketManager *manager)
Process received data from the network buffer.
Definition: packet_manager.c:56
FotaError
FOTA Error code definitions.
Definition: fota_error.h:27
@ PKT_STATE_WAITING_SOF
Definition: packet_manger.h:35
@ PKT_STATE_READING_HEADER
Definition: packet_manger.h:36
@ PKT_STATE_READING_EOF
Definition: packet_manger.h:39
@ PKT_STATE_READING_CRC
Definition: packet_manger.h:38
@ PKT_STATE_READING_PAYLOAD
Definition: packet_manger.h:37
Structure representing datagram.
Definition: fota_datagram.h:58
FOTA Packet structure.
Definition: fota_packet.h:68
struct containing details of circular buffer
Definition: network_buffer.h:36
Packet manager context structure.
Definition: packet_manger.h:48
UART Settings.
Definition: network.h:67