21 lines
972 B
C
21 lines
972 B
C
#include "firmware_info.h"
|
|
#include <assert.h>
|
|
#include <string.h>
|
|
|
|
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;
|
|
}
|