19#include "fota_datagram.h"
20#include "fota_encryption.h"
21#include "fota_error.h"
22#include "fota_packet.h"
24#include "network_buffer.h"
33#define FOTA_MAX_ACTIVE_DATAGRAMS 2U
35typedef void (*FotaDatagramCompleteCb)(
FotaDatagram *datagram);
54 uint16_t bytes_received;
64 FotaDatagramCompleteCb datagram_complete_callback;
UartPort
UART Port selection.
Definition: network.h:30
FotaDatagramType
Datagram types corresponding to different FOTA operations.
Definition: fota_datagram.h:39
PacketReceiverState
State machine states for packet receiving.
Definition: packet_manager.h:40
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:122
FotaError packet_manager_free_datagram(PacketManager *manager, uint32_t datagram_id)
Free a datagram slot.
Definition: packet_manager.c:190
#define FOTA_MAX_ACTIVE_DATAGRAMS
Maximum number of datagrams that can be processed simultaneously.
Definition: packet_manager.h:33
FotaError packet_manager_init(PacketManager *manager, UartPort uart, UartSettings *uart_settings, FotaDatagramCompleteCb callback)
Initialize the packet manager.
Definition: packet_manager.c:23
FotaError packet_manager_get_datagram(PacketManager *manager, uint32_t datagram_id, FotaDatagram **datagram)
Get a pointer to a completed datagram.
Definition: packet_manager.c:174
FotaError packet_manager_process(PacketManager *manager)
Process received data from the network buffer.
Definition: packet_manager.c:44
FotaError
FOTA Error code definitions.
Definition: fota_error.h:27
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:153
@ PKT_STATE_WAITING_SOF
Definition: packet_manager.h:41
@ PKT_STATE_READING_PACKET
Definition: packet_manager.h:42
Structure representing datagram.
Definition: fota_datagram.h:78
FOTA Packet structure.
Definition: fota_packet.h:69
struct containing details of circular buffer
Definition: network_buffer.h:36
Packet manager context structure.
Definition: packet_manager.h:48
UART Settings.
Definition: network.h:67