11#ifndef BLACKBOX_LOGGER_INTERNAL_H
12#define BLACKBOX_LOGGER_INTERNAL_H
18#define BLACKBOX_LOGGER_HEADER_MAGIC (0x5355424DUL)
19#define BLACKBOX_LOGGER_TAIL_MAGIC (0x4D425553UL)
20#define BLACKBOX_LOGGER_ENTRY_SIZE_WITHOUT_DATA_LENGTH \
21 (sizeof (blackbox_logger_entry_header_t) + \
22 sizeof (blackbox_logger_entry_tail_t))
23#define BLACKBOX_LOGGER_WRITE_LOCK_TIMEOUT_MS (50U)
24#define BLACKBOX_LOGGER_SECTOR_LOCK_TIMEOUT_MS (500U)
56 return ((number + (align_to - 1U)) & (~(align_to - 1U)));
94 return (uint32_t) (candidate - reference) < 0x80000000U;
Flash-backed circular logging system.
#define BLACKBOX_LOGGER_ENTRY_SIZE_WITHOUT_DATA_LENGTH
Definition blackbox_logger_internal.h:20
size_t entry_total_size_helper(size_t data_length)
Calculates entry total size.
Definition blackbox_logger_internal.h:66
size_t align_num_up_helper(size_t number, size_t align_to)
Align-up number.
Definition blackbox_logger_internal.h:54
size_t entry_total_aligned_size_helper(size_t data_length, size_t align_to)
Calculates entry total aligned size.
Definition blackbox_logger_internal.h:79
static bool is_logically_next_in_order_helper(uint32_t candidate, uint32_t reference)
Check if candidate comes after reference taking wrap-around into account.
Definition blackbox_logger_internal.h:91
Blackbox logger entry header structure.
Definition blackbox_logger_internal.h:29
uint32_t length
Definition blackbox_logger_internal.h:32
uint32_t id
Definition blackbox_logger_internal.h:31
uint32_t tail_magic
Definition blackbox_logger_internal.h:40
uint16_t crc
Definition blackbox_logger_internal.h:39
uint32_t header_magic
Definition blackbox_logger_internal.h:30