#include "firmware_info.h" #include #include int main(void) { firmware_info_t info = {1U, 2U, 3U, 0U, 0U, 0U, 0U, 0U, 0U, ""}; uint16_t words[FIRMWARE_INFO_REGISTER_COUNT]; uint8_t bytes[FIRMWARE_INFO_PAYLOAD_SIZE]; assert(firmware_info_set_build_id(&info, "abc") == FIRMWARE_INFO_OK); assert(strcmp(info.build_id, "abc00000") == 0); assert(firmware_info_parse_build_stamp("Aug 30 2026", "12:34:56", &info) == FIRMWARE_INFO_OK); assert(firmware_info_to_registers(&info, words, FIRMWARE_INFO_REGISTER_COUNT) == FIRMWARE_INFO_OK); assert(words[0] == 1U && words[1] == 1U && words[4] == 2026U); assert(words[5] == 0x081eU && words[6] == 0x0c22U && words[7] == 56U); assert(words[8] == 0x6162U && words[9] == 0x6330U); assert(firmware_info_to_le_bytes(&info, bytes, sizeof(bytes)) == FIRMWARE_INFO_OK); assert(bytes[0] == 1U && bytes[1] == 0U && bytes[16] == 0x62U && bytes[17] == 0x61U); return 0; }