8__attribute__((noreturn))
void send_swap_error_simple(uint16_t status_word,
9 uint8_t common_error_code,
10 uint8_t application_specific_error_code)
12 send_swap_error_with_buffers(
13 status_word, common_error_code, application_specific_error_code, NULL, 0);
16__attribute__((noreturn))
void send_swap_error_with_buffer(uint16_t status_word,
17 uint8_t common_error_code,
18 uint8_t application_specific_error_code,
21 send_swap_error_with_buffers(
22 status_word, common_error_code, application_specific_error_code, &buffer_data, 1);
25__attribute__((noreturn))
void send_swap_error_with_buffers(uint16_t status_word,
26 uint8_t common_error_code,
27 uint8_t application_specific_error_code,
32 PRINTF(
"Fatal error, send_swap_error_with_buffers called outside of swap context\n");
41 uint8_t swap_error_code[2] = {common_error_code, application_specific_error_code};
44 buffer_t response[1 + SWAP_ERROR_HELPER_MAX_BUFFER_COUNT] = {0};
45 response[0].
ptr = (uint8_t *) &swap_error_code;
46 response[0].
size =
sizeof(swap_error_code);
49 if (count > SWAP_ERROR_HELPER_MAX_BUFFER_COUNT) {
50 PRINTF(
"send_swap_error_with_buffers truncated from %d to %d\n",
52 SWAP_ERROR_HELPER_MAX_BUFFER_COUNT);
53 count = SWAP_ERROR_HELPER_MAX_BUFFER_COUNT;
56 memcpy(&response[1], buffer_data, count *
sizeof(
buffer_t));
WEAK int io_send_response_buffers(const buffer_t *rdatalist, size_t count, uint16_t sw)
__attribute__((section("._nbgl_fonts_"))) const
return the non-unicode font corresponding to the given font ID
size_t size
Pointer to byte buffer.
volatile bool G_called_from_swap
volatile bool G_swap_response_ready