21#if defined(HAVE_BOLOS)
22#include "bolos_privileged_ux.h"
64#define UX_INIT() nbgl_objInit();
68#define UX_FORWARD_EVENT_REDRAWCB(bypasspincheck, \
72 os_sched_last_status, \
75 ignoring_app_if_ux_busy) \
76 ux_params.ux_id = BOLOS_UX_EVENT; \
79 ux_params.len = os_sched_last_status(TASK_BOLOS_UX); \
80 if (ux.asynchmodal_end_callback \
81 && os_ux_get_status(BOLOS_UX_ASYNCHMODAL_PAIRING_REQUEST) != 0) { \
82 asynchmodal_end_callback_t cb = ux.asynchmodal_end_callback; \
83 ux.asynchmodal_end_callback = NULL; \
84 cb(os_ux_get_status(BOLOS_UX_ASYNCHMODAL_PAIRING_REQUEST)); \
94 G_ux_params.ux_id = BOLOS_UX_WAKE_UP; \
95 G_ux_params.len = 0; \
96 os_ux(&G_ux_params); \
97 G_ux_params.len = os_sched_last_status(TASK_BOLOS_UX);
104#define UX_BUTTON_PUSH_EVENT(seph_packet)
106#define UX_BUTTON_PUSH_EVENT(seph_packet) ux_process_button_event(seph_packet)
114#define UX_FINGER_EVENT(seph_packet) ux_process_finger_event(seph_packet)
116#define UX_FINGER_EVENT(seph_packet)
123#define UX_TICKER_EVENT(seph_packet, callback) ux_process_ticker_event()
129#define UX_DEFAULT_EVENT() ux_process_default_event()
137 unsigned int ux_status;
141#ifdef HAVE_BACKGROUND_IMG
142SYSCALL PERMISSION(APPLICATION_FLAG_BOLOS_UX)
143uint8_t *fetch_background_img(
bool allow_candidate);
144SYSCALL PERMISSION(APPLICATION_FLAG_BOLOS_UX)
145bolos_err_t delete_background_img(
void);
153#if defined(HAVE_LANGUAGE_PACK)
155void bolos_ux_select_language(
uint16_t language);
156void bolos_ux_refresh_language(
void);
158typedef struct ux_loc_language_pack_infos {
159 unsigned char available;
161} UX_LOC_LANGUAGE_PACK_INFO;
164SYSCALL PERMISSION(APPLICATION_FLAG_BOLOS_UX)
void list_language_packs(
165 UX_LOC_LANGUAGE_PACK_INFO *packs PLENGTH(NB_LANG *
sizeof(UX_LOC_LANGUAGE_PACK_INFO)));
166SYSCALL PERMISSION(APPLICATION_FLAG_BOLOS_UX)
const LANGUAGE_PACK *get_language_pack(
167 unsigned int language);
const char * get_ux_loc_string(uint32_t index)
unsigned int button_same_mask_counter
asynchmodal_end_callback_t asynchmodal_end_callback
bolos_task_status_t exit_code
bool validate_pin_from_dashboard
BOLOS_UX_LOC_STRINGS UX_LOC_STRINGS_INDEX
void ux_process_default_event(void)
bolos_ux_params_t G_ux_params
void(* asynchmodal_end_callback_t)(unsigned int ux_status)
void ux_process_finger_event(uint8_t seph_packet[])
Process finger event.
struct ux_seph_s ux_seph_os_and_app_t
void io_seproxyhal_power_off(bool criticalBattery)
void ux_process_button_event(uint8_t seph_packet[])
void ux_process_ticker_event(void)
Process the ticker_event to the os ux handler. Ticker event callback is always called whatever the re...
ux_seph_os_and_app_t G_ux_os
void io_seproxyhal_request_mcu_status(void)