Common BOTA definitions. More...
Data Structures | |
struct | BotaTransferRequest |
Structure defining the TRANSFER.request packet. More... | |
struct | BotaTransferConfirmation |
Structure defining the TRANSFER.confirmation packet. More... | |
struct | BotaBulkWriteRequest |
Structure defining the BULK_WRITE.request packet. More... | |
struct | BotaBulkMissingRequest |
Structure defining the BULK_MISSING.request packet. More... | |
struct | BotaBulkMissingConfirmation |
Structure defining the BULK_MISSING.confirmation packet. More... | |
struct | BotaValidateRequest |
Structure defining the VALIDATE.request packet. More... | |
struct | BotaValidateConfirmation |
Structure defining the VALIDATE.confirmation packet. More... | |
Macros | |
#define | BOTA_PACKED __attribute__((packed)) |
#define | BOTA_STATIC_ASSERT(...) static_assert(__VA_ARGS__) |
#define | BOTA_SENDER_MAX_TRANSFERS 2 |
Maximum number of simultaneous transfers that is supported. More... | |
#define | BOTA_SENDER_MAX_MISSING_CHUNKS 100 |
Maximum number of missing data chunks that can be tracked at once per transfer. More... | |
#define | BOTA_RECIPIENT_MAX_TRANSFERS 2 |
Maximum number of simultaneous transfers that is supported. More... | |
#define | BOTA_RECIPIENT_MAX_MISSING_CHUNKS 50 |
Maximum number of missing data chunks that can be tracked at once per transfer. More... | |
#define | BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_INTERVAL_MS 45000 |
BOTA timings - RECIPIENT. More... | |
#define | BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_RANDOMIZATION_MS 15000 |
BULK_MISSING.request randomization (first transmission of BULK_MISSING.request will be after randomized time) More... | |
#define | BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_RETRIES 20 |
how many times BULK_MISSING.request will be send until transfer abort More... | |
#define | BOTA_RECIPIENT_TRANSFER_CONFIRMATION_SEND_RANDOMIZATION_MS 5000 |
TRANSFER.confirmation randomization. More... | |
#define | BOTA_RECIPIENT_VALIDATE_CONFIRMATION_SEND_RANDOMIZATION_MS 5000 |
VALIDATE.confirmation randomization. More... | |
#define | BOTA_RECIPIENT_TRANSFER_TIMEOUT_MS (24 * 3600 * 1000) |
inactivity timeout during transfer that leads to aborting the transfer More... | |
#define | BOTA_RECIPIENT_TRANSFER_OVERWRITE_TIMEOUT_MS (5 * 60 * 1000) |
inactivity timeout during transfer that makes it possible to overwrite the transfer with new one More... | |
#define | BOTA_SENDER_DEFAULT_BULK_WRITE_SENDING_INTERVAL_MS 3000 |
Default timings for BOTA Sender. More... | |
#define | BOTA_SENDER_DEFAULT_TRANSFER_REQUEST_SENDING_DELAY_SEC 20 |
Default TRANSFER.request sending delay (in seconds) after last TRANSFER.confirmation was received. More... | |
#define | BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_PAUSE_SEC 60 |
Default value of how long to wait (in seconds) from last BULK_WRITE.request to the first VALIDATE.request. More... | |
#define | BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_SENDING_DELAY_SEC 20 |
Default VALIDATE.request sending delay (in seconds) after last VALIDATE.confirmation was received. More... | |
#define | BOTA_SENDER_DEFAULT_TRANSFER_REQUEST_RETRIES 3 |
Default setting of how many times TRANSFER.request will be sent. More... | |
#define | BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_RETRIES 3 |
Default setting of how many times VALIDATE.request will be sent. More... | |
#define | BOTA_TRANSFER_INVALID 0 |
Invalid transfer identifier. More... | |
#define | BOTA_MAX_TRANSFER_INFO_SIZE 32 |
Maximum size of the user data associated with the transfer. More... | |
#define | BOTA_CHUNK_SIZE 72 |
Size of a single data chunk sent in a single UDP packet. More... | |
#define | BOTA_MAX_OFFSETS_IN_BULK_MISSING_REQUEST 18 |
Maximum number of offsets in BULK_MISSING.request packet. More... | |
#define | BOTA_DEFAULT_PORT (0xf0b2) |
Default UDP port number for the BOTA service. More... | |
#define | BOTA_SENDER_ESTIMATED_TRANSFER_DURATION(bulkSize) |
Helper macro to estimate total transfer duration (in ms) More... | |
Typedefs | |
typedef uint16_t | BotaTransferId |
BOTA transfer identifier used to identify and distinguish the transfers. More... | |
typedef uint32_t | BotaMemoryAddr |
Address in the Bulk memory. More... | |
typedef void(* | BotaReadFunc) (BotaMemoryAddr addr, void *dst, size_t size, BotaTransferId transferId) |
typedef void(* | BotaWriteFunc) (BotaMemoryAddr addr, const void *src, size_t size, BotaTransferId transferId) |
typedef uint64_t(* | BotaTimeFunc) (void) |
Detailed Description
Common BOTA definitions.
- License: Commercial
- Copyright
- (c) 2023 EMBETECH SP. Z O.O. All rights reserved.
- Version
- 1.0.3624
- Purpose: Bulk Over-The-Air (BOTA) service
Macro Definition Documentation
◆ BOTA_PACKED
#define BOTA_PACKED __attribute__((packed)) |
◆ BOTA_STATIC_ASSERT
#define BOTA_STATIC_ASSERT | ( | ... | ) | static_assert(__VA_ARGS__) |
◆ BOTA_SENDER_MAX_TRANSFERS
#define BOTA_SENDER_MAX_TRANSFERS 2 |
Maximum number of simultaneous transfers that is supported.
◆ BOTA_SENDER_MAX_MISSING_CHUNKS
#define BOTA_SENDER_MAX_MISSING_CHUNKS 100 |
Maximum number of missing data chunks that can be tracked at once per transfer.
◆ BOTA_RECIPIENT_MAX_TRANSFERS
#define BOTA_RECIPIENT_MAX_TRANSFERS 2 |
Maximum number of simultaneous transfers that is supported.
◆ BOTA_RECIPIENT_MAX_MISSING_CHUNKS
#define BOTA_RECIPIENT_MAX_MISSING_CHUNKS 50 |
Maximum number of missing data chunks that can be tracked at once per transfer.
◆ BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_INTERVAL_MS
#define BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_INTERVAL_MS 45000 |
BOTA timings - RECIPIENT.
BULK_MISSING.request send time interval
◆ BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_RANDOMIZATION_MS
#define BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_RANDOMIZATION_MS 15000 |
BULK_MISSING.request randomization (first transmission of BULK_MISSING.request will be after randomized time)
◆ BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_RETRIES
#define BOTA_RECIPIENT_BULK_MISSING_REQUEST_SEND_RETRIES 20 |
how many times BULK_MISSING.request will be send until transfer abort
◆ BOTA_RECIPIENT_TRANSFER_CONFIRMATION_SEND_RANDOMIZATION_MS
#define BOTA_RECIPIENT_TRANSFER_CONFIRMATION_SEND_RANDOMIZATION_MS 5000 |
TRANSFER.confirmation randomization.
◆ BOTA_RECIPIENT_VALIDATE_CONFIRMATION_SEND_RANDOMIZATION_MS
#define BOTA_RECIPIENT_VALIDATE_CONFIRMATION_SEND_RANDOMIZATION_MS 5000 |
VALIDATE.confirmation randomization.
◆ BOTA_RECIPIENT_TRANSFER_TIMEOUT_MS
#define BOTA_RECIPIENT_TRANSFER_TIMEOUT_MS (24 * 3600 * 1000) |
inactivity timeout during transfer that leads to aborting the transfer
◆ BOTA_RECIPIENT_TRANSFER_OVERWRITE_TIMEOUT_MS
#define BOTA_RECIPIENT_TRANSFER_OVERWRITE_TIMEOUT_MS (5 * 60 * 1000) |
inactivity timeout during transfer that makes it possible to overwrite the transfer with new one
◆ BOTA_SENDER_DEFAULT_BULK_WRITE_SENDING_INTERVAL_MS
#define BOTA_SENDER_DEFAULT_BULK_WRITE_SENDING_INTERVAL_MS 3000 |
Default timings for BOTA Sender.
Default BULK_WRITE.request sending delay (in ms), limits the overall data transfer
◆ BOTA_SENDER_DEFAULT_TRANSFER_REQUEST_SENDING_DELAY_SEC
#define BOTA_SENDER_DEFAULT_TRANSFER_REQUEST_SENDING_DELAY_SEC 20 |
Default TRANSFER.request sending delay (in seconds) after last TRANSFER.confirmation was received.
◆ BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_PAUSE_SEC
#define BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_PAUSE_SEC 60 |
Default value of how long to wait (in seconds) from last BULK_WRITE.request to the first VALIDATE.request.
◆ BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_SENDING_DELAY_SEC
#define BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_SENDING_DELAY_SEC 20 |
Default VALIDATE.request sending delay (in seconds) after last VALIDATE.confirmation was received.
◆ BOTA_SENDER_DEFAULT_TRANSFER_REQUEST_RETRIES
#define BOTA_SENDER_DEFAULT_TRANSFER_REQUEST_RETRIES 3 |
Default setting of how many times TRANSFER.request will be sent.
◆ BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_RETRIES
#define BOTA_SENDER_DEFAULT_TRANSFER_VALIDATE_REQUEST_RETRIES 3 |
Default setting of how many times VALIDATE.request will be sent.
◆ BOTA_TRANSFER_INVALID
#define BOTA_TRANSFER_INVALID 0 |
Invalid transfer identifier.
◆ BOTA_MAX_TRANSFER_INFO_SIZE
#define BOTA_MAX_TRANSFER_INFO_SIZE 32 |
Maximum size of the user data associated with the transfer.
◆ BOTA_CHUNK_SIZE
#define BOTA_CHUNK_SIZE 72 |
Size of a single data chunk sent in a single UDP packet.
◆ BOTA_MAX_OFFSETS_IN_BULK_MISSING_REQUEST
#define BOTA_MAX_OFFSETS_IN_BULK_MISSING_REQUEST 18 |
Maximum number of offsets in BULK_MISSING.request packet.
◆ BOTA_DEFAULT_PORT
#define BOTA_DEFAULT_PORT (0xf0b2) |
Default UDP port number for the BOTA service.
◆ BOTA_SENDER_ESTIMATED_TRANSFER_DURATION
#define BOTA_SENDER_ESTIMATED_TRANSFER_DURATION | ( | bulkSize | ) |
Helper macro to estimate total transfer duration (in ms)
Typedef Documentation
◆ BotaTransferId
typedef uint16_t BotaTransferId |
BOTA transfer identifier used to identify and distinguish the transfers.
◆ BotaMemoryAddr
typedef uint32_t BotaMemoryAddr |
Address in the Bulk memory.
◆ BotaReadFunc
typedef void(* BotaReadFunc) (BotaMemoryAddr addr, void *dst, size_t size, BotaTransferId transferId) |
Function that reads the destination memory for the BOTA service (callback).
- Parameters
-
[in] addr address from which to read [in] dst place to store the read data [in] size size of the data to read (in number of bytes) [in] transferId id of the transfer that requests the data
◆ BotaWriteFunc
typedef void(* BotaWriteFunc) (BotaMemoryAddr addr, const void *src, size_t size, BotaTransferId transferId) |
Function that writes the destination memory for the BOTA service (callback).
- Parameters
-
[in] addr address to which to write [in] src data to be written [in] size size of the data to write (in number of bytes) [in] transferId id of the transfer that provides the data
◆ BotaTimeFunc
typedef uint64_t(* BotaTimeFunc) (void) |
BOTA time provider callback function.
- Returns
- current time in ms
Enumeration Type Documentation
◆ BotaResult
enum BotaResult |
Possible BOTA function results.
◆ BotaTransferReaction
enum BotaTransferReaction |
Possible recipient reactions to a new BOTA transfer.
◆ BotaPacketType
enum BotaPacketType |
Possible BOTA packet types.
Generated on Wed Feb 8 2023 19:52:39 for BOTA Bulk-Over-The-Air service by 1.9.3