CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::ui Namespace Reference

Centralized key-code constants for cdc_views. More...

Namespaces

namespace  settings
namespace  layout
 Centralized layout constants for cdc_views.
namespace  render

Classes

struct  UiDeps
class  SleepManager
class  BlePairingPromptView
class  BlePairingView
 Discoverable/pairing-mode screen. More...
class  LockScreenView
class  PinChangeView
struct  WifiWizard
struct  WifiConfig
class  WifiHandlers
struct  PendingPairing
struct  FixedMenuEntry
class  BleScanView
 ListView for the BLE scan results that drives async name resolution while visible and cancels it when the view closes. More...
struct  FixedExpertEntry
struct  WifiItem
 One scanned Wi-Fi network entry displayed in the scan list. More...
struct  I18nEntry
 Single English translation entry. More...
struct  OverlayLanguage
 Internationalization singleton. More...
class  I18n
class  IView
class  ViewBase
struct  PsramCjsonScope
 Routes cJSON allocations to PSRAM for the lifetime of the scope. More...
class  ViewStack
class  CanvasView
 Generic canvas view exposed to WASM plugins for custom UIs. More...
class  ColorPickerView
 Monochrome RGB color picker. More...
class  ConfirmView
struct  ContextMenuItem
class  ContextMenuView
class  DateInputView
class  InfoView
struct  ListItem
class  ListView
class  MessageBox
class  PasswordT9View
 T9 input variant for secrets: displays asterisks instead of letters and offers a long-press reveal toggle. More...
class  PinEntryView
class  QRCodeView
class  SliderView
class  T9InputView
class  TimeInputView
class  ToastView
class  Console

Typedefs

using BleListenerToken = hal::IBluetoothController::ListenerToken
using BackupEntryHandler = bool (*)(const cJSON* entry, void* user)
 Per-entry restore callback for importJsonArray().

Enumerations

enum class  StatusIcon : uint16_t {
  NONE = 0 , LOCK = (1 << 0) , DEEP_SLEEP = (1 << 1) , LIGHT_SLEEP = (1 << 2) ,
  BACKLIGHT = (1 << 3) , USB = (1 << 4) , BLE = (1 << 5) , WIFI = (1 << 6) ,
  SAO = (1 << 7) , CHARGING = (1 << 8) , NO_BATTERY = (1 << 9) , CAFFEINATED = (1 << 10) ,
  BACKGROUND = (1 << 11)
}
enum  MainMenuFixed : uint8_t { MM_PLUGINS , MM_TOOLS , MM_SETTINGS , MAIN_MENU_FIXED_COUNT }
enum  SettingsMenuIdx {
  SETTINGS_IDX_BRIGHTNESS = 0 , SETTINGS_IDX_LANGUAGE , SETTINGS_IDX_TIMEZONE , SETTINGS_IDX_AUTO_SLEEP ,
  SETTINGS_IDX_BADGE_TEXT , SETTINGS_IDX_SET_DATE , SETTINGS_IDX_SET_TIME , SETTINGS_IDX_CHANGE_PIN ,
  SETTINGS_IDX_COUNT
}
 Index enum for the fixed settings menu. More...
enum  BluetoothMenuIdx {
  BT_IDX_ENABLE = 0 , BT_IDX_PAIR , BT_IDX_PAIRED , BT_IDX_STATUS ,
  BT_IDX_SCAN , BT_IDX_BEACON , BT_IDX_FORGET_BONDS , BT_IDX_FIXED_COUNT
}
 Bluetooth fixed menu indices and capacity limits. More...
enum class  BleResolvePhase : uint8_t {
  Idle , Begin , Connecting , Discovering ,
  Reading , Settle
}
enum  WifiMainMenuIdx {
  WIFI_IDX_CONNECT = 0 , WIFI_IDX_SETUP , WIFI_IDX_DETAILS , WIFI_IDX_NTP_SYNC ,
  WIFI_IDX_COUNT
}
 Fixed Wi-Fi menu and wizard index enums. More...
enum  WifiAuthIdx {
  WIFI_AUTH_WPA2 = 0 , WIFI_AUTH_WPA_WPA2 , WIFI_AUTH_WPA3 , WIFI_AUTH_WPA ,
  WIFI_AUTH_OPEN , WIFI_AUTH_WEP , WIFI_AUTH_COUNT
}
enum  WifiIpModeIdx { WIFI_IP_DHCP = 0 , WIFI_IP_STATIC , WIFI_IP_COUNT }
enum class  InputResult : uint8_t { CONSUMED , IGNORED , REQUEST_POP , REQUEST_PUSH }
enum class  FontId : uint8_t {
  Builtin = 0 , Bold9pt = 1 , Bold12pt = 2 , Bold18pt = 3 ,
  Bold24pt = 4
}
 Canonical font identifier shared by firmware UI and plugin host API. More...
enum class  MessageIcon : uint8_t {
  NONE = 0 , SUCCESS , ERROR , INFO ,
  WARNING
}

Functions

void ui_init (const UiDeps &deps)
 Initializes App UI, builds all core views, and wires callbacks.
void ui_on_modules_ready ()
 Refreshes module-backed menus once module startup is complete.
void ui_rebuild_menus ()
 Rebuilds dynamic UI menus.
void ui_process (uint32_t nowMs)
 Main UI tick: input processing, timeouts, status updates, and rendering.
void rebootIntoBootloader ()
 Reboots the device into USB download (bootloader) mode.
void showHardwareInfo ()
 Opens hardware info screen using shared info view.
StatusIcon operator| (StatusIcon a, StatusIcon b)
StatusIcon operator& (StatusIcon a, StatusIcon b)
StatusIconoperator|= (StatusIcon &a, StatusIcon b)
static uint8_t getPluginsIndex ()
 Returns main-menu index of the fixed "Plugins" item.
static uint8_t getToolsIndex ()
 Returns main-menu index of the fixed "Tools" item.
static uint8_t getSettingsIndex ()
 Returns main-menu index of the fixed "Settings" item.
static uint8_t getMainMenuCount ()
 Returns effective main-menu item count including fixed entries.
static void onUnlockRequested ()
 Starts unlock flow from lock screen.
static bool onPinVerify (const char *pin)
 Verifies entered PIN via PinManager.
static void onPinSuccess ()
 Handles successful unlock and transitions to main menu.
static void onMainMenuSelect (uint16_t index, void *userData)
 Handles main-menu item selection.
static void onToolsSelect (uint16_t index, void *userData)
 Handles tools-menu item selection.
static void onSettingsSelect (uint16_t index, void *userData)
 Handles settings-menu item selection.
static void onLanguageSelect (uint16_t index, void *userData)
 Handles language-menu item selection.
static void rebuildLanguageMenu ()
 Rebuilds the language picker from the overlay files present.
static void rebuildMenuLabels ()
 Rebuilds labels for translatable menus after language change.
static void onInactivityTimeout ()
 Callback invoked when inactivity timeout is reached.
static void clearKeypadBuffer ()
 Drains buffered keypad events.
void drawSignalBars (Gdey029T94 *gfx, int x, int y, int8_t rssi, bool inverted)
 Draws RSSI signal bars using the shared lock-screen visual style.
static void updateStatusIcon (StatusIcon icon, bool active, bool &last)
 Updates a single boolean-driven status icon on the lock screen.
static void updateBatteryIndicator ()
 Updates the battery percentage indicator on the lock screen.
void updatePowerStatusIcons ()
 Synchronizes lock-screen status icons with current hardware state.
static void updateLockScreenClock ()
 Updates lock-screen clock/date once per minute while lock screen is visible.
static bool onDuressPinSet (const char *currentPin, const char *newPin)
 PinChangeView change-callback for the duress-PIN setup flow.
void showDuressPinSetup ()
 Opens the duress / self-destruct PIN setup wizard.
static void performAntiBlockLock ()
 Anti-block instant lock: force the badge into a clean locked state.
void rebuildMainMenu ()
 Rebuilds main menu entries including dynamically provided modules.
static uint8_t toolsBluetoothIcon ()
void rebuildToolsMenu ()
 Rebuilds tools menu entries including dynamic module tools.
bool isBadgeLocked ()
 Returns whether the badge is currently locked (showing lock screen with no menu above).
static void onBleNumericComparison (uint16_t connHandle, uint32_t passkey)
 Numeric-comparison pairing request, invoked on the nimble_host task.
static void onBlePairingRequestEvent (const core::Event &evt)
 Main-task handler for a deferred numeric-comparison pairing request.
void prepareForBootloaderReset ()
 Puts the badge into a quiet pre-reset state.
void showWifiMainMenu ()
 Shows top-level Wi-Fi menu and reloads stored configuration.
void rebuildWifiMainMenu ()
 Rebuilds top-level Wi-Fi menu items and dynamic module extensions.
void showBluetoothMenu ()
 Shows top-level Bluetooth menu.
void rebuildBluetoothMenu ()
 Rebuilds Bluetooth menu entries and dynamic module items.
void msgTransferUiInit ()
void msgTransferUiProcess (uint32_t nowMs)
void showBeaconMenu ()
void showMsgBeaconScan ()
void showExpertMenu ()
 Shows expert menu and initial warning toast.
void showModulesView ()
 Shows module management list view.
void onModuleErrorEvent (const core::Event &evt)
 Displays toast notification for module error events.
void showBackupMenu ()
 Shows the Backup submenu (Export / Import / Delete).
void registerBackupSerialCommand ()
 Registers the AUTH-gated BACKUP serial command.
static void onBluetoothMenuSelect (uint16_t index, void *userData)
 Handles Bluetooth menu selection.
static void toggleBluetoothEnable ()
 Toggles BLE controller enabled state.
static void showBluetoothStatus ()
 Shows BLE status and adapter information.
static void startBluetoothScan ()
 Starts BLE scan and opens result list.
static void showPairedDevices ()
 Shows the list of paired (bonded) devices.
static bool renderBleRow (Gdey029T94 *gfx, const ListItem &item, uint16_t index, int x, int y, int w, int h, bool selected, void *userCtx)
 Renders one BLE scan row with signal bars and RSSI text.
static void sortBleScanResults ()
 Sorts BLE scan results by RSSI descending.
static void bleResolveStop ()
static void bleResolveBeginNext (uint32_t nowMs)
 Starts resolving the next device that still shows its MAC.
static void bleResolveMac (const hal::BleScanResult &d, char *out, size_t n)
 Formats a scan result's MAC the same way as the no-name fallback.
static bool bleDeviceNeedsName (uint8_t i)
 True when the row still shows the MAC fallback (no name yet).
static void bleResolveClearEvents ()
static void rOnConnect (uint16_t connHandle)
static void rOnDisconnect (uint16_t connHandle, int)
static void rOnServiceDiscovered (uint16_t connHandle, const hal::IBluetoothController::DiscoveredService *svc, bool complete)
static void rOnCharRead (uint16_t connHandle, uint16_t, const uint8_t *data, uint16_t len)
static void bleResolveCleanupToSettle (uint32_t nowMs)
 Tears down the current attempt and waits briefly for a clean stack.
static void bleResolveStart ()
static void bleResolveTick (uint32_t nowMs)
static void rebuildPairedList ()
 Rebuilds the paired-device list from the current bond store.
static void onForgetConfirm (void *)
 Confirmed-forget handler: unpairs the selected device and refreshes.
static void onPairedSelect (uint16_t index, void *userData)
 Asks for confirmation to forget the selected paired device.
static void runSystemTest ()
 Opens hardware information/system-test screen.
static void runTropicCacheRebuild ()
 Rebuilds cached TROPIC metadata and reports operation result.
static void runTropicCacheCleanup ()
 Cleans cached TROPIC metadata and reports operation result.
static void enterShipModeMenu ()
 Prompts to confirm ship-mode entry from the expert menu.
static void rebuildModulesView ()
 Rebuilds module status list view content.
static void onModuleRetryConfirm (void *userData)
 Retries failed module initialization after user confirmation.
static void onModuleSelect (uint16_t index, void *userData)
 Handles module list selection for retry/toggle behavior.
static void onShipModeConfirm (void *)
 Disconnects the battery (ship mode) after user confirmation.
static void rebuildExpertMenu ()
 Rebuilds expert menu item list including module-provided entries.
static void onExpertMenuSelect (uint16_t index, void *userData)
 Handles expert menu selection actions.
static void bootloaderResetTask (void *)
 Worker that detaches USB, arms the download-boot bit and triggers a hard system reset.
static void buildHardwareInfoText (char *buf, size_t bufSize)
 Builds localized hardware info text into a caller-provided buffer.
static void onLightMenuCallback ()
 Context-menu callback toggling lock-screen backlight mode.
static void onWifiToggleCallback ()
 Context-menu callback toggling WiFi on/off via the user intent flag.
static void moduleContextCallback0 ()
 Wrapper callback for module context item at index 0.
static void moduleContextCallback1 ()
 Wrapper callback for module context item at index 1.
static void moduleContextCallback2 ()
 Wrapper callback for module context item at index 2.
static void moduleContextCallback3 ()
 Wrapper callback for module context item at index 3.
static void moduleContextCallback4 ()
 Wrapper callback for module context item at index 4.
static void moduleContextCallback5 ()
 Wrapper callback for module context item at index 5.
static void moduleContextCallback6 ()
 Wrapper callback for module context item at index 6.
static void pluginContextCallback0 ()
static void pluginContextCallback1 ()
static void pluginContextCallback2 ()
static void pluginContextCallback3 ()
static void onWifiMainSelect (uint16_t index, void *userData)
 Handles top-level Wi-Fi menu selection.
static void wifiConnect ()
 Connects using saved Wi-Fi configuration.
static void wifiSetup ()
 Starts Wi-Fi setup wizard flow.
static void wifiShowDetails ()
 Shows Wi-Fi details/info screen.
static void wifiDisconnect ()
 Disconnects active Wi-Fi session.
static void wifiNtpSync ()
 Runs NTP synchronization via Wi-Fi.
static void wifiStartScan ()
 Starts network scan and opens scan result list.
static void onWifiScanSelect (uint16_t index, void *userData)
 Handles scan result selection.
static void sortWifiScanResults ()
 Sorts scan results by RSSI descending.
static void wifiShowAuthMenu ()
 Opens security/authentication selection menu.
static void onWifiAuthSelect (uint16_t index, void *userData)
 Handles authentication mode selection.
static void wifiShowPasswordInput ()
 Opens password input for selected network.
static void onWifiPasswordEntered (const char *password)
 Stores entered password and continues wizard.
static void wifiShowIpModeMenu ()
 Opens IP mode selection menu (DHCP/static).
static void onWifiIpModeSelect (uint16_t index, void *userData)
 Handles IP mode selection.
static void wifiShowIpInputField (const char *title, char *target, size_t targetSize, T9InputView::SaveCallback onComplete)
 Opens generic IP-related text input step.
static void onWifiStaticIpEntered (const char *ip)
 Validates and stores static IP input.
static void onWifiGatewayEntered (const char *gateway)
 Validates and stores gateway input.
static void onWifiNetmaskEntered (const char *netmask)
 Validates and stores netmask input.
static void wifiFinishSetup ()
 Persists wizard config and attempts connection.
static void drawWifiLockIcon (Gdey029T94 *gfx, int x, int y, bool inverted)
 Draws padlock icon for secured Wi-Fi networks.
static bool renderWifiRow (Gdey029T94 *gfx, const ListItem &item, uint16_t index, int x, int y, int w, int h, bool selected, void *userCtx)
 Custom list-row renderer for Wi-Fi scan entries.
cdc::core::IModule::BackupResult importJsonArray (const cJSON *array, BackupEntryHandler handler, void *user)
 Iterates a JSON backup array best-effort and tallies the outcome.
const char * tr (const char *key)
 Look up a translation by string key.
static bool isListView (const IView *view)
 Checks whether a view is a ListView by runtime name.
void showConfirm (const char *message, ConfirmView::ConfirmCallback onConfirm, ConfirmView::CancelCallback onCancel, ConfirmView::Icon icon, void *userData)
 Shows a shared modal confirmation dialog instance.
void askConfirm (const char *message, ConfirmView::ConfirmCallback onYes, void *userData=nullptr)
ContextMenuViewshowContextMenu (const char *title, const ContextMenuItem *items, uint8_t count)
 Shows the shared context menu instance as modal.
void hideContextMenu ()
 Hides the active context menu modal.
const GFXfont * getGfxFont (FontId id)
 Resolves a FontId to its underlying GFX font pointer.
const GFXfont * getGfxFont (uint8_t id)
 Integer overload, for plugin/host-API bridges that ship uint8_t.
InfoViewshowInfo (const char *title, const char *text, const char *hint)
 Shows a shared info view instance and pushes it onto the view stack.
ListViewshowListView (const char *title, const ListItem *items, uint16_t count, ListView::SelectCallback onSelect, const char *hint)
 Shows a shared list view instance with selection callback.
void showMessage (const char *message, MessageIcon icon, uint32_t timeoutMs, MessageBox::CloseCallback onClose)
 Shows the shared modal message box.
void showSuccess (const char *message, uint32_t timeoutMs=2000)
void showError (const char *message, uint32_t timeoutMs=2000)
void hideMessage ()
 Hides the currently shown modal message box.
PinEntryViewshowPinEntry (const char *title, PinEntryView::VerifyCallback onVerify, PinEntryView::SuccessCallback onSuccess, uint8_t maxLength, uint8_t minLength, uint8_t maxAttempts)
 Shows a shared PIN entry view instance.
QRCodeViewshowQRCode (const char *data, const char *title, const char *subtitle, const char *hint)
 Shows a shared QR code view instance.
SliderViewshowSlider (const char *title, uint16_t minVal, uint16_t maxVal, uint16_t initial, uint16_t step, const char *unit, SliderView::SaveCallback onSave, SliderView::ChangeCallback onChange)
 Shows a shared slider view instance.
T9InputViewshowT9Input (const char *title, const char *initialText, T9InputView::SaveCallback onSave, uint16_t maxLen)
 Shows a shared T9 input view instance.
void showToast (const char *message, uint16_t durationMs)
 Shows a plain toast message.
void showToastSuccess (const char *message, uint16_t durationMs)
 Shows a success toast message.
void showToastError (const char *message, uint16_t durationMs)
 Shows an error toast message.
void showToastInfo (const char *message, uint16_t durationMs)
 Shows an informational toast message.
void showToastTask (const char *message, uint16_t durationMs)
 Shows a task/progress toast message.
void showToastAlert (const char *message, uint16_t durationMs)
 Shows an alert toast message.
void showToastAlertSticky (const char *message)
 Shows a non-dismissible alert toast.
static void qrDisplayCallback (esp_qrcode_handle_t qrcode)
 Renders or measures the QR code through the ESP QR callback.
static void showToastInternal (const char *message, ToastView::Icon icon, uint16_t durationMs, bool dismissible=true)
 Shows the shared toast instance with custom icon and behavior.

Variables

static constexpr uint32_t LIGHT_SLEEP_TIMEOUT_MS = 120 * 1000
static constexpr uint8_t MAX_SLEEP_INHIBITORS = 8
static constexpr uint32_t DEEP_SLEEP_HOLD_MS = 5000
static constexpr uint32_t WIFI_CONNECT_TIMEOUT_DEFAULT_MS = 15000
static constexpr uint32_t WIFI_CONNECT_TIMEOUT_MIN_MS = 3000
static constexpr uint32_t WIFI_CONNECT_TIMEOUT_MAX_MS = 60000
static constexpr uint32_t WIFI_SCAN_TIMEOUT_MS = 10000
static constexpr uint32_t NTP_SYNC_TIMEOUT_MS = 10000
static constexpr uint8_t MAIN_MENU_MAX_ITEMS = 16
 Menu sizing and inactivity timeout constants.
static constexpr uint8_t TOOLS_MAX_ITEMS = 16
static constexpr uint32_t INACTIVITY_TIMEOUT_MS = 5 * 60 * 1000
static constexpr uint16_t MAX_LANGUAGES = 16
 Upper bound on languages shown in the picker (English + overlay files).
static LockScreenViews_lockScreen = nullptr
 Static UI state and lazily constructed view pointers.
static PinEntryViews_pinEntry = nullptr
static ListViews_mainMenu = nullptr
static ListViews_toolsMenu = nullptr
static ListViews_settingsMenu = nullptr
static SliderViews_brightnessSlider = nullptr
static SliderViews_sleepSlider = nullptr
static SliderViews_timezoneSlider = nullptr
static ListViews_languageMenu = nullptr
static DateInputViews_dateInput = nullptr
static TimeInputViews_timeInput = nullptr
static PinChangeViews_pinChangeView = nullptr
static PinChangeViews_duressPinView = nullptr
static BlePairingPromptViews_pairingPrompt = nullptr
static cdc::plugin_manager::PluginListViews_pluginListView = nullptr
static PendingPairing s_pendingPairing
static SemaphoreHandle_t s_blePendingMutex = nullptr
static UiDeps s_deps = {}
 Runtime dependencies provided during ui_init.
static ListItem s_mainMenuItems [MAIN_MENU_MAX_ITEMS]
 Main-menu backing storage for module and fixed menu entries.
static core::ModuleMenuItem s_mainMenuModuleItems [MAIN_MENU_MAX_ITEMS]
static uint8_t s_mainMenuPluginCount = 0
static ListItem s_toolsItems [TOOLS_MAX_ITEMS]
 Tools-menu backing storage for fixed and module entries.
static core::ModuleMenuItem s_toolsModuleItems [TOOLS_MAX_ITEMS]
static uint8_t s_toolsModuleCount = 0
static ListItem s_settingsItems [SETTINGS_IDX_COUNT]
 Settings menu backing storage.
static ListItem s_languageItems [MAX_LANGUAGES]
 Language menu backing storage (filled dynamically from overlay files).
static char s_languageCodes [MAX_LANGUAGES][8]
static uint16_t s_languageCount = 0
static int8_t s_lastMinute = -1
 Last rendered minute for lock-screen clock throttling.
static bool s_lastUsbConnected = false
 Last known status-icon inputs to avoid redundant updates.
static bool s_lastCharging = false
static bool s_lastWifiConnected = false
static bool s_lastBleEnabled = false
static bool s_lastBackgroundPlugin = false
static bool s_lastBatteryPresent = false
static constexpr uint32_t BATTERY_SAMPLE_INTERVAL_MS = 30000
static uint32_t s_lastBatterySampleMs = 0
static bool s_ignoreKeyUntilRelease = false
 Prevents stale key events directly after unlock transition.
static std::atomic< bool > s_antiBlockLockRequested {false}
static const FixedMenuEntry kToolsFixed []
static constexpr uint8_t TOOLS_FIXED_COUNT
static constexpr uint32_t TOAST_DURATION_SHORT_MS = 1000
static constexpr uint32_t TOAST_DURATION_MEDIUM_MS = 1500
static constexpr uint32_t TOAST_DURATION_LONG_MS = 2500
static const char * TAG = "BleMenu"
static constexpr uint8_t BT_MENU_MAX_ITEMS = 16
static constexpr uint8_t BLE_MAX_SCAN_RESULTS = hal::IBluetoothController::MAX_SCAN_RESULTS
static constexpr uint8_t BLE_MAX_BONDS = hal::IBluetoothController::MAX_BONDED_DEVICES
static constexpr uint32_t BLE_SCAN_TIMEOUT_MS = 8000
static ListViews_bluetoothMenu = nullptr
 Bluetooth menu and scan state.
static ListItem s_bluetoothItems [BT_MENU_MAX_ITEMS]
static core::ModuleMenuItem s_bluetoothModuleItems [12]
static uint8_t s_bluetoothModuleCount = 0
static ListViews_bleScanView = nullptr
 BLE scan result list state.
static ListItem s_bleScanItems [BLE_MAX_SCAN_RESULTS]
static hal::BleScanResult s_bleScanResults [BLE_MAX_SCAN_RESULTS]
static uint8_t s_bleScanCount = 0
static ListViews_pairedView = nullptr
 Paired (bonded) device list state.
static ListItem s_pairedItems [BLE_MAX_BONDS]
static hal::BleBondInfo s_pairedBonds [BLE_MAX_BONDS]
static char s_pairedLabels [BLE_MAX_BONDS][24]
static uint8_t s_pairedCount = 0
static hal::BleBondInfo s_forgetTarget = {}
static constexpr size_t BLE_STATUS_BUF_SIZE = 256
 PSRAM-backed text buffer used for BLE status details.
static char s_bleStatusBuf [BLE_STATUS_BUF_SIZE]
static constexpr uint16_t BLE_GAP_SVC_UUID = 0x1800
static constexpr uint16_t BLE_DEV_NAME_UUID = 0x2A00
static constexpr uint32_t BLE_RESOLVE_DEVICE_TIMEOUT_MS = 5000
static constexpr uint32_t BLE_RESOLVE_SETTLE_TIMEOUT_MS = 800
static BleResolvePhase s_resolvePhase = BleResolvePhase::Idle
static bool s_resolveActive = false
static uint8_t s_resolveIndex = 0
static uint16_t s_resolveConn = 0xFFFF
static uint16_t s_resolveNameHandle = 0
static uint32_t s_resolveDeviceStartMs = 0
static uint32_t s_resolveSettleStartMs = 0
static volatile bool s_evtConnected = false
static volatile bool s_evtDiscovered = false
static volatile bool s_evtGotName = false
static volatile bool s_evtDisconnected = false
static volatile uint16_t s_evtConnHandle = 0xFFFF
static volatile uint16_t s_evtNameHandle = 0
static char s_resolveNameBuf [32]
static constexpr BleListenerToken kInvalidListener = hal::IBluetoothController::INVALID_LISTENER
static BleListenerToken s_tokResConn = kInvalidListener
static BleListenerToken s_tokResDisc = kInvalidListener
static BleListenerToken s_tokResSvc = kInvalidListener
static BleListenerToken s_tokResRead = kInvalidListener
static constexpr uint8_t EXPERT_MAX_ITEMS = 16
 Expert menu sizing constants.
static constexpr uint8_t MODULES_VIEW_MAX = 16
static const FixedExpertEntry kExpertTop []
static const FixedExpertEntry kExpertBottom []
static constexpr uint8_t EXPERT_TOP_COUNT = sizeof(kExpertTop) / sizeof(kExpertTop[0])
static constexpr uint8_t EXPERT_BOTTOM_COUNT = sizeof(kExpertBottom) / sizeof(kExpertBottom[0])
static constexpr uint8_t EXPERT_FIXED_COUNT = EXPERT_TOP_COUNT + EXPERT_BOTTOM_COUNT
static ListViews_expertMenu = nullptr
 Static view pointers and menu item storage for expert/module views.
static ListItem s_expertItems [EXPERT_MAX_ITEMS]
static core::ModuleMenuItem s_expertModuleItems [EXPERT_MAX_ITEMS - EXPERT_FIXED_COUNT]
static uint8_t s_expertModuleCount = 0
static ListViews_modulesView = nullptr
static ListItem s_modulesItems [MODULES_VIEW_MAX]
static char s_moduleLabels [MODULES_VIEW_MAX][48]
static LockScreenViews_lockScreenInstance = nullptr
 Static lock-screen instance pointer for C-style callbacks.
static constexpr uint8_t MAX_CONTEXT_ITEMS = 12
 Storage for dynamic context-menu items contributed by modules.
static constexpr uint8_t MAX_PLUGIN_ITEMS = 4
static constexpr uint8_t MAX_MODULE_CONTEXT_ITEMS = 7
static ContextMenuItem s_contextItems [MAX_CONTEXT_ITEMS]
static core::LockScreenContextItem s_moduleContextItems [MAX_MODULE_CONTEXT_ITEMS]
static uint8_t s_moduleContextCount = 0
static cdc::plugin_manager::PluginManager::LockscreenItem s_pluginContextItems [MAX_PLUGIN_ITEMS]
static uint8_t s_pluginContextCount = 0
static void(*const s_moduleCallbacks [])()
static void(*const s_pluginCallbacks [MAX_PLUGIN_ITEMS])()
static constexpr uint8_t WIFI_MAX_NETWORKS = hal::IWifiController::MAX_SCAN_RESULTS
 Wi-Fi menu size limits.
static constexpr uint8_t WIFI_MENU_MAX_ITEMS = 16
static constexpr uint8_t WIFI_MENU_FIXED_COUNT = WIFI_IDX_COUNT
 Static view pointers and wizard/scan state.
static ListViews_wifiMainMenu = nullptr
static ListViews_wifiScanView = nullptr
static ListViews_wifiAuthMenu = nullptr
static ListViews_wifiIpMenu = nullptr
static ListItem s_wifiMainItems [WIFI_MENU_MAX_ITEMS]
static core::ModuleMenuItem s_wifiModuleItems [12]
static uint8_t s_wifiModuleCount = 0
static ListItem s_wifiAuthItems [WIFI_AUTH_COUNT]
static ListItem s_wifiIpItems [WIFI_IP_COUNT]
static ListItem s_wifiScanItems [WIFI_MAX_NETWORKS+1]
static char s_wifiManualLabel [48]
static WifiItem s_wifiScanResults [WIFI_MAX_NETWORKS]
static uint8_t s_wifiScanCount = 0
static const char * s_wifiAuthLabels [WIFI_AUTH_COUNT]
static constexpr size_t WIFI_DETAILS_BUF_SIZE = 512
 PSRAM-backed text buffer used for Wi-Fi details view.
static char s_wifiDetailsBuf [WIFI_DETAILS_BUF_SIZE]
static const char * TAG = "I18n"
constexpr uint8_t kFontIdCount = 5
 Number of entries in the canonical font table.
static constexpr char KEY_UP = '2'
 Move selection up (numeric '2').
static constexpr char KEY_DOWN = '8'
 Move selection down (numeric '8').
static constexpr char KEY_SELECT = '5'
 Center select / digit '5'.
static constexpr char KEY_YES = 'Y'
 Confirm / OK / Save.
static constexpr char KEY_NO = 'N'
 Cancel / Back / Backspace.
static constexpr char KEY_MENU = '3'
 Open context menu / digit '3'.
static ConfirmView s_sharedConfirm
 Convenience helper functions.
static ContextMenuView s_sharedContextMenu
 Convenience helper functions.
static InfoView s_sharedInfoView
 Convenience factory/helper function.
static ListView s_sharedListView
 Convenience factory/helper function.
static MessageBox s_sharedMessageBox
 Convenience helper functions.
static constexpr int TITLE_Y = 5
 Layout constants mirror the ones used by T9InputView.
static constexpr int TEXT_Y = 50
static constexpr int TEXT_MARGIN = 10
static PinEntryView s_sharedPinEntry
 Convenience factory/helper function.
struct { 
   int   cdc::ui::offsetX 
   int   cdc::ui::offsetY 
   int   cdc::ui::scale 
   int   cdc::ui::actualSize 
   bool   cdc::ui::sizingPass 
   Gdey029T94 *   cdc::ui::display 
s_qrCtx
 QR rendering context used by callback-driven rendering.
static QRCodeView s_sharedQRCodeView
 Convenience factory/helper function.
static SliderView s_sharedSlider
 Convenience factory/helper function.
static T9InputView s_sharedT9Input
 Convenience factory/helper function.
static ToastView s_sharedToast
 Convenience helper functions.

Detailed Description

Centralized key-code constants for cdc_views.

Canonical font table shared by firmware UI and plugin host API.

Internal header shared between AppUi sub-files. Not part of the public API - only used by AppUi*.cpp and *MenuUi.cpp files.

The badge uses a TCA9535-driven 12-key keypad with the following physical layout:

1 2 3
4 5 6
7 8 9
N 0 Y

Across the views these characters carry conventional UI meanings. Using named constants keeps key handlers readable and makes it easier to retarget the badge to a different keypad in the future.

Notes:

  • 'Y' (yes/OK) and 'N' (no/cancel) are shared by every view.
  • 'N' also acts as backspace in text-entry views.
  • '2' / '8' are used for vertical navigation in list-style views.
  • '3' opens a context menu where one is provided.
  • '5' is the digit "five"; some views also use it as a center-select.

Not every view consumes every key; views that do not need a given action simply ignore it.

ConfirmView Implementation

Y/N confirmation dialog

ToastView Implementation

Temporary overlay message with auto-dismiss

Typedef Documentation

◆ BackupEntryHandler

using cdc::ui::BackupEntryHandler = bool (*)(const cJSON* entry, void* user)

Per-entry restore callback for importJsonArray().

Receives one element of the backup array and performs the module-specific field mapping plus upsert through the module's own storage path.

Parameters
entryOne element of the JSON array (not guaranteed to be an object).
userOpaque pointer forwarded from importJsonArray().
Returns
true if the entry was stored, false if it was rejected/skipped.

Definition at line 18 of file BackupImport.h.

◆ BleListenerToken

Enumeration Type Documentation

◆ BleResolvePhase

enum class cdc::ui::BleResolvePhase : uint8_t
strong
Enumerator
Idle 
Begin 
Connecting 
Discovering 
Reading 
Settle 

Definition at line 338 of file BluetoothMenuUi.cpp.

◆ BluetoothMenuIdx

Bluetooth fixed menu indices and capacity limits.

Enumerator
BT_IDX_ENABLE 
BT_IDX_PAIR 
BT_IDX_PAIRED 
BT_IDX_STATUS 
BT_IDX_SCAN 
BT_IDX_BEACON 
BT_IDX_FORGET_BONDS 
BT_IDX_FIXED_COUNT 

Definition at line 25 of file BluetoothMenuUi.cpp.

◆ FontId

enum class cdc::ui::FontId : uint8_t
strong

Canonical font identifier shared by firmware UI and plugin host API.

The integer values are stable and form the wire format used by the WASM plugin host API (HOST_FONT_*). Do not reorder.

Enumerator
Builtin 

Adafruit-GFX 6x8. Umlauts present at CP437 codepoints (0x84..0x9C). Pass raw CP437 bytes to draw them.

Bold9pt 

FreeMonoBold 9pt. Latin-1 indexed; render via drawCp437Text() to map CP437 input.

Bold12pt 

FreeMonoBold 12pt. Latin-1 indexed; same mapping path as Bold9pt.

Bold18pt 

FreeMonoBold 18pt. ASCII only (0x20..0x7E).

Bold24pt 

FreeMonoBold 24pt. ASCII only (0x20..0x7E).

Definition at line 15 of file Fonts.h.

◆ InputResult

enum class cdc::ui::InputResult : uint8_t
strong

Result of input handling

Enumerator
CONSUMED 
IGNORED 
REQUEST_POP 
REQUEST_PUSH 

Definition at line 10 of file IView.h.

◆ MainMenuFixed

enum cdc::ui::MainMenuFixed : uint8_t
Enumerator
MM_PLUGINS 
MM_TOOLS 
MM_SETTINGS 
MAIN_MENU_FIXED_COUNT 

Definition at line 62 of file AppUi.cpp.

◆ MessageIcon

enum class cdc::ui::MessageIcon : uint8_t
strong

MessageBox Icon Types

Enumerator
NONE 
SUCCESS 
ERROR 
INFO 
WARNING 

Definition at line 11 of file MessageBox.h.

◆ SettingsMenuIdx

Index enum for the fixed settings menu.

Enumerator
SETTINGS_IDX_BRIGHTNESS 
SETTINGS_IDX_LANGUAGE 
SETTINGS_IDX_TIMEZONE 
SETTINGS_IDX_AUTO_SLEEP 
SETTINGS_IDX_BADGE_TEXT 
SETTINGS_IDX_SET_DATE 
SETTINGS_IDX_SET_TIME 
SETTINGS_IDX_CHANGE_PIN 
SETTINGS_IDX_COUNT 

Definition at line 69 of file AppUi.cpp.

◆ StatusIcon

enum class cdc::ui::StatusIcon : uint16_t
strong

Status icons for lock screen

Enumerator
NONE 
LOCK 
DEEP_SLEEP 
LIGHT_SLEEP 
BACKLIGHT 
USB 
BLE 
WIFI 
SAO 
CHARGING 
NO_BATTERY 
CAFFEINATED 
BACKGROUND 

Definition at line 20 of file LockScreenView.h.

◆ WifiAuthIdx

Enumerator
WIFI_AUTH_WPA2 
WIFI_AUTH_WPA_WPA2 
WIFI_AUTH_WPA3 
WIFI_AUTH_WPA 
WIFI_AUTH_OPEN 
WIFI_AUTH_WEP 
WIFI_AUTH_COUNT 

Definition at line 46 of file WifiMenuUi.cpp.

◆ WifiIpModeIdx

Enumerator
WIFI_IP_DHCP 
WIFI_IP_STATIC 
WIFI_IP_COUNT 

Definition at line 56 of file WifiMenuUi.cpp.

◆ WifiMainMenuIdx

Fixed Wi-Fi menu and wizard index enums.

Enumerator
WIFI_IDX_CONNECT 
WIFI_IDX_SETUP 
WIFI_IDX_DETAILS 
WIFI_IDX_NTP_SYNC 
WIFI_IDX_COUNT 

Definition at line 38 of file WifiMenuUi.cpp.

Function Documentation

◆ askConfirm()

void cdc::ui::askConfirm ( const char * message,
ConfirmView::ConfirmCallback onYes,
void * userData = nullptr )
inline

Show a simple Y/N confirm and return result via callback Shorthand for common "Are you sure?" pattern

Definition at line 94 of file ConfirmView.h.

References cdc::ui::ConfirmView::QUESTION, and showConfirm().

Referenced by onBluetoothMenuSelect(), and onPairedSelect().

◆ bleDeviceNeedsName()

bool cdc::ui::bleDeviceNeedsName ( uint8_t i)
static

True when the row still shows the MAC fallback (no name yet).

Definition at line 374 of file BluetoothMenuUi.cpp.

References bleResolveMac(), name, and s_bleScanResults.

Referenced by bleResolveBeginNext(), and bleResolveStart().

◆ bleResolveBeginNext()

void cdc::ui::bleResolveBeginNext ( uint32_t nowMs)
static

◆ bleResolveCleanupToSettle()

void cdc::ui::bleResolveCleanupToSettle ( uint32_t nowMs)
static

Tears down the current attempt and waits briefly for a clean stack.

Definition at line 427 of file BluetoothMenuUi.cpp.

References cdc::hal::getBluetoothControllerInstance(), s_evtDisconnected, s_resolveConn, s_resolvePhase, s_resolveSettleStartMs, and Settle.

Referenced by bleResolveTick().

◆ bleResolveClearEvents()

void cdc::ui::bleResolveClearEvents ( )
static

◆ bleResolveMac()

void cdc::ui::bleResolveMac ( const hal::BleScanResult & d,
char * out,
size_t n )
static

Formats a scan result's MAC the same way as the no-name fallback.

Definition at line 368 of file BluetoothMenuUi.cpp.

References cdc::hal::BleScanResult::mac.

Referenced by bleDeviceNeedsName().

◆ bleResolveStart()

◆ bleResolveStop()

◆ bleResolveTick()

◆ bootloaderResetTask()

void cdc::ui::bootloaderResetTask ( void * )
static

Worker that detaches USB, arms the download-boot bit and triggers a hard system reset.

  • tud_disconnect() first so the host sees a USB disconnect and will re-enumerate after the reset; without this, the CDC endpoint stays "connected but unresponsive" until the cable is unplugged manually.
  • esp_rom_software_reset_system() instead of esp_restart() because shutdown handlers can hang in the active state (USB CDC enumerated, BLE/HID running, plugins ticking).
  • RTC_CNTL_FORCE_DOWNLOAD_BOOT survives the soft reset, so the ROM bootloader enters USB download mode on the next boot.

Definition at line 317 of file ExpertMenuUi.cpp.

Referenced by rebootIntoBootloader().

◆ buildHardwareInfoText()

void cdc::ui::buildHardwareInfoText ( char * buf,
size_t bufSize )
static

◆ clearKeypadBuffer()

void cdc::ui::clearKeypadBuffer ( )
static

Drains buffered keypad events.

Clears pending keypad key events.

Definition at line 313 of file AppUi.cpp.

References cdc::hal::KEY_NONE, and s_deps.

Referenced by onInactivityTimeout(), onUnlockRequested(), performAntiBlockLock(), and ui_process().

◆ drawSignalBars()

void cdc::ui::drawSignalBars ( Gdey029T94 * gfx,
int x,
int y,
int8_t rssi,
bool inverted )

Draws RSSI signal bars using the shared lock-screen visual style.

Parameters
gfxDisplay graphics context.
xLeft position.
yTop reference position.
rssiSignal strength in dBm.
invertedWhether to draw inverted colors.

Draw RSSI signal strength bars (used by WiFi and BLE scan views)

Definition at line 199 of file AppUi.cpp.

Referenced by renderBleRow(), and renderWifiRow().

◆ drawWifiLockIcon()

void cdc::ui::drawWifiLockIcon ( Gdey029T94 * gfx,
int x,
int y,
bool inverted )
static

Draws padlock icon for secured Wi-Fi networks.

Parameters
gfxDisplay graphics context.
xLeft position.
yTop position.
invertedWhether colors are inverted due to row selection.

Definition at line 136 of file WifiMenuUi.cpp.

Referenced by renderWifiRow().

◆ enterShipModeMenu()

void cdc::ui::enterShipModeMenu ( )
static

Prompts to confirm ship-mode entry from the expert menu.

Definition at line 245 of file ExpertMenuUi.cpp.

References onShipModeConfirm(), showConfirm(), tr(), and cdc::ui::ConfirmView::WARNING.

◆ getGfxFont() [1/2]

const GFXfont * cdc::ui::getGfxFont ( FontId id)

Resolves a FontId to its underlying GFX font pointer.

Parameters
idFont identifier.
Returns
Pointer to the GFX font, or nullptr for Builtin / out-of-range ids (callers pass nullptr to setFont() to select the built-in font).

Definition at line 26 of file Fonts.cpp.

References getGfxFont().

Referenced by getGfxFont(), host_text_pick_font_that_fits(), and cdc::ui::LockScreenView::render().

◆ getGfxFont() [2/2]

const GFXfont * cdc::ui::getGfxFont ( uint8_t id)

Integer overload, for plugin/host-API bridges that ship uint8_t.

Definition at line 30 of file Fonts.cpp.

References kFontIdCount.

◆ getMainMenuCount()

uint8_t cdc::ui::getMainMenuCount ( )
inlinestatic

Returns effective main-menu item count including fixed entries.

Definition at line 166 of file AppUi.cpp.

References MAIN_MENU_FIXED_COUNT, and s_mainMenuPluginCount.

Referenced by rebuildMainMenu().

◆ getPluginsIndex()

uint8_t cdc::ui::getPluginsIndex ( )
inlinestatic

Returns main-menu index of the fixed "Plugins" item.

Definition at line 160 of file AppUi.cpp.

References MM_PLUGINS, and s_mainMenuPluginCount.

Referenced by onMainMenuSelect(), and rebuildMainMenu().

◆ getSettingsIndex()

uint8_t cdc::ui::getSettingsIndex ( )
inlinestatic

Returns main-menu index of the fixed "Settings" item.

Definition at line 164 of file AppUi.cpp.

References MM_SETTINGS, and s_mainMenuPluginCount.

Referenced by onMainMenuSelect(), and rebuildMainMenu().

◆ getToolsIndex()

uint8_t cdc::ui::getToolsIndex ( )
inlinestatic

Returns main-menu index of the fixed "Tools" item.

Definition at line 162 of file AppUi.cpp.

References MM_TOOLS, and s_mainMenuPluginCount.

Referenced by onMainMenuSelect(), and rebuildMainMenu().

◆ hideContextMenu()

◆ hideMessage()

void cdc::ui::hideMessage ( )

Hides the currently shown modal message box.

Hide current message box (if visible)

Returns
void

Definition at line 222 of file MessageBox.cpp.

References cdc::ui::ViewStack::hideModal(), and cdc::ui::ViewStack::instance().

Referenced by cdc::ui::MessageBox::onKey(), and cdc::ui::MessageBox::onTick().

◆ importJsonArray()

cdc::core::IModule::BackupResult cdc::ui::importJsonArray ( const cJSON * array,
BackupEntryHandler handler,
void * user )
inline

Iterates a JSON backup array best-effort and tallies the outcome.

Walks every element of array and invokes handler for each. A handler returning false (or a non-object element) is counted as failed; the loop never aborts early. The module-specific schema check and field mapping stay in the caller/handler.

Parameters
arrayJSON array node (nullptr or non-array yields an empty tally).
handlerPer-entry mapping/upsert callback.
userOpaque pointer forwarded to handler.
Returns
Tally of imported and failed records.

Definition at line 33 of file BackupImport.h.

References cdc::core::IModule::BackupResult::failed, and cdc::core::IModule::BackupResult::imported.

Referenced by cdc::mod_2fa::TwoFaModule::importBackup(), cdc::mod_password::PasswordModule::importBackup(), and cdc::mod_vcard::VcardModule::importBackup().

◆ isBadgeLocked()

bool cdc::ui::isBadgeLocked ( )

Returns whether the badge is currently locked (showing lock screen with no menu above).

True if the lock screen is the only view on the stack (badge locked).

Returns
true if the lock screen is the only view on the stack.

Definition at line 689 of file AppUi.cpp.

References cdc::ui::ViewStack::current(), cdc::ui::ViewStack::depth(), cdc::ui::ViewStack::instance(), and s_lockScreen.

Referenced by onBlePairingRequestEvent().

◆ isListView()

bool cdc::ui::isListView ( const IView * view)
static

Checks whether a view is a ListView by runtime name.

Definition at line 27 of file ViewStack.cpp.

References cdc::ui::IView::getName().

Referenced by cdc::ui::ViewStack::replace().

◆ moduleContextCallback0()

void cdc::ui::moduleContextCallback0 ( )
static

Wrapper callback for module context item at index 0.

Returns
void

Definition at line 285 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ moduleContextCallback1()

void cdc::ui::moduleContextCallback1 ( )
static

Wrapper callback for module context item at index 1.

Returns
void

Definition at line 290 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ moduleContextCallback2()

void cdc::ui::moduleContextCallback2 ( )
static

Wrapper callback for module context item at index 2.

Returns
void

Definition at line 295 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ moduleContextCallback3()

void cdc::ui::moduleContextCallback3 ( )
static

Wrapper callback for module context item at index 3.

Returns
void

Definition at line 300 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ moduleContextCallback4()

void cdc::ui::moduleContextCallback4 ( )
static

Wrapper callback for module context item at index 4.

Returns
void

Definition at line 305 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ moduleContextCallback5()

void cdc::ui::moduleContextCallback5 ( )
static

Wrapper callback for module context item at index 5.

Returns
void

Definition at line 310 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ moduleContextCallback6()

void cdc::ui::moduleContextCallback6 ( )
static

Wrapper callback for module context item at index 6.

Returns
void

Definition at line 315 of file LockScreenView.cpp.

References hideContextMenu(), and s_moduleContextItems.

◆ msgTransferUiInit()

◆ msgTransferUiProcess()

void cdc::ui::msgTransferUiProcess ( uint32_t nowMs)

◆ onBleNumericComparison()

void cdc::ui::onBleNumericComparison ( uint16_t connHandle,
uint32_t passkey )
static

Numeric-comparison pairing request, invoked on the nimble_host task.

Parameters
connHandleBLE connection handle being paired.
passkeySix-digit confirmation code shown by the remote host.

Touches no UI: parks the request under s_blePendingMutex and defers the prompt to the main task via BLE_PAIRING_REQUEST. A second request arriving before the first is consumed is rejected inline.

Definition at line 703 of file AppUi.cpp.

References cdc::core::BLE_PAIRING_REQUEST, cdc::hal::getBluetoothControllerInstance(), cdc::core::EventBus::instance(), s_blePendingMutex, and s_pendingPairing.

Referenced by ui_init().

◆ onBlePairingRequestEvent()

void cdc::ui::onBlePairingRequestEvent ( const core::Event & evt)
static

Main-task handler for a deferred numeric-comparison pairing request.

Parameters
evtUnused event payload; the request is read from s_pendingPairing.

If the badge is locked the request is rejected without prompting. Otherwise a modal pairing prompt is shown; ui_process renders it on the next pass.

Definition at line 738 of file AppUi.cpp.

References cdc::ui::PendingPairing::connHandle, cdc::hal::getBluetoothControllerInstance(), cdc::ui::ViewStack::instance(), isBadgeLocked(), cdc::ui::PendingPairing::passkey, s_blePendingMutex, s_pairingPrompt, s_pendingPairing, cdc::ui::ViewStack::showModal(), and cdc::ui::PendingPairing::valid.

Referenced by ui_init().

◆ onBluetoothMenuSelect()

void cdc::ui::onBluetoothMenuSelect ( uint16_t index,
void * userData )
static

◆ onDuressPinSet()

bool cdc::ui::onDuressPinSet ( const char * currentPin,
const char * newPin )
static

PinChangeView change-callback for the duress-PIN setup flow.

Step 1 of the wizard already verified the current badge PIN, so the current PIN is ignored here. Arms the duress PIN via PinManager (rejects a duress PIN equal to the badge PIN).

Parameters
currentPinVerified badge PIN (unused).
newPinNew duress PIN.
Returns
true if the duress PIN was set.

Definition at line 378 of file AppUi.cpp.

References cdc::core::PinManager::instance(), and cdc::core::PinManager::setDuressPin().

Referenced by ui_init().

◆ onExpertMenuSelect()

void cdc::ui::onExpertMenuSelect ( uint16_t index,
void * userData )
static

Handles expert menu selection actions.

Handles selected expert-menu action.

Parameters
indexSelected menu item index.
userDataOptional callback user data.

Definition at line 345 of file ExpertMenuUi.cpp.

References EXPERT_BOTTOM_COUNT, EXPERT_TOP_COUNT, cdc::ui::ViewStack::instance(), kExpertBottom, kExpertTop, cdc::ui::ViewStack::push(), s_expertModuleCount, and s_expertModuleItems.

Referenced by showExpertMenu().

◆ onForgetConfirm()

void cdc::ui::onForgetConfirm ( void * )
static

Confirmed-forget handler: unpairs the selected device and refreshes.

Definition at line 686 of file BluetoothMenuUi.cpp.

References cdc::hal::getBluetoothControllerInstance(), rebuildPairedList(), s_forgetTarget, showToastSuccess(), and tr().

Referenced by onPairedSelect().

◆ onInactivityTimeout()

void cdc::ui::onInactivityTimeout ( )
static

Callback invoked when inactivity timeout is reached.

Locks UI back to root lock-screen state on inactivity timeout.

Definition at line 407 of file AppUi.cpp.

References clearKeypadBuffer(), cdc::plugin_manager::PluginManager::instance(), cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::pop(), cdc::ui::ViewStack::resetInactivityTimer(), and s_ignoreKeyUntilRelease.

Referenced by ui_init().

◆ onLanguageSelect()

void cdc::ui::onLanguageSelect ( uint16_t index,
void * userData )
static

Handles language-menu item selection.

Applies the selected UI language and rebuilds translated menus.

Parameters
indexSelected language item index.
userDataOptional callback user data.

Definition at line 676 of file AppUi.cpp.

References cdc::plugin_manager::PluginManager::instance(), cdc::ui::I18n::instance(), cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::pop(), cdc::plugin_manager::PluginManager::reloadActiveLangOverlay(), s_languageCodes, s_languageCount, and cdc::ui::I18n::setLanguageCode().

Referenced by rebuildLanguageMenu().

◆ onLightMenuCallback()

void cdc::ui::onLightMenuCallback ( )
static

Context-menu callback toggling lock-screen backlight mode.

Definition at line 248 of file LockScreenView.cpp.

References hideContextMenu(), and s_lockScreenInstance.

Referenced by cdc::ui::LockScreenView::onKey().

◆ onMainMenuSelect()

void cdc::ui::onMainMenuSelect ( uint16_t index,
void * userData )
static

Handles main-menu item selection.

Handles main-menu selection and dispatches configured destination views.

Parameters
indexSelected item index.
userDataOptional callback user data.

Definition at line 546 of file AppUi.cpp.

References getPluginsIndex(), getSettingsIndex(), getToolsIndex(), cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), s_mainMenuModuleItems, s_mainMenuPluginCount, s_pluginListView, s_settingsMenu, and s_toolsMenu.

Referenced by ui_init().

◆ onModuleErrorEvent()

void cdc::ui::onModuleErrorEvent ( const core::Event & evt)

Displays toast notification for module error events.

Parameters
evtEvent payload from module registry.

Definition at line 375 of file ExpertMenuUi.cpp.

References cdc::core::Event::data, cdc::core::ModuleRegistry::instance(), cdc::core::MODULE_ERROR, name, showToastError(), TOAST_DURATION_LONG_MS, cdc::core::Event::type, and cdc::core::Event::value.

Referenced by ui_init().

◆ onModuleRetryConfirm()

void cdc::ui::onModuleRetryConfirm ( void * userData)
static

Retries failed module initialization after user confirmation.

Parameters
userDataEncoded module index.

Definition at line 75 of file ExpertMenuUi.cpp.

References cdc::core::ModuleRegistry::instance(), rebuildModulesView(), showToastError(), showToastSuccess(), TOAST_DURATION_MEDIUM_MS, TOAST_DURATION_SHORT_MS, tr(), and ui_rebuild_menus().

Referenced by onModuleSelect().

◆ onModuleSelect()

void cdc::ui::onModuleSelect ( uint16_t index,
void * userData )
static

◆ onPairedSelect()

void cdc::ui::onPairedSelect ( uint16_t index,
void * userData )
static

Asks for confirmation to forget the selected paired device.

Parameters
indexSelected list index.
userDataUnused.

Definition at line 700 of file BluetoothMenuUi.cpp.

References askConfirm(), onForgetConfirm(), s_forgetTarget, s_pairedBonds, s_pairedCount, and tr().

Referenced by showPairedDevices().

◆ onPinSuccess()

void cdc::ui::onPinSuccess ( )
static

Handles successful unlock and transitions to main menu.

Handles successful unlock, switches to main menu, and dispatches unlock hooks.

Definition at line 398 of file AppUi.cpp.

References cdc::core::ModuleRegistry::dispatchUnlock(), cdc::core::ModuleRegistry::instance(), cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::replace(), s_deps, and s_mainMenu.

Referenced by ui_init().

◆ onPinVerify()

bool cdc::ui::onPinVerify ( const char * pin)
static

Verifies entered PIN via PinManager.

Verifies entered badge PIN against secure PinManager state.

Parameters
pinNull-terminated PIN text.
Returns
true if PIN is valid, otherwise false.

Definition at line 355 of file AppUi.cpp.

References cdc::core::PinManager::instance(), and cdc::core::selfDestruct().

Referenced by ui_init().

◆ onSettingsSelect()

void cdc::ui::onSettingsSelect ( uint16_t index,
void * userData )
static

◆ onShipModeConfirm()

void cdc::ui::onShipModeConfirm ( void * )
static

Disconnects the battery (ship mode) after user confirmation.

Parameters
userDataUnused callback user data.

Definition at line 235 of file ExpertMenuUi.cpp.

References cdc::hal::getPowerManagerInstance(), showToastError(), TOAST_DURATION_MEDIUM_MS, and tr().

Referenced by enterShipModeMenu().

◆ onToolsSelect()

void cdc::ui::onToolsSelect ( uint16_t index,
void * userData )
static

Handles tools-menu item selection.

Handles tools-menu selection and routes to fixed or module-defined views.

Parameters
indexSelected item index.
userDataOptional callback user data.

Definition at line 574 of file AppUi.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), s_toolsModuleCount, s_toolsModuleItems, showBeaconMenu(), showBluetoothMenu(), showExpertMenu(), showWifiMainMenu(), and TOOLS_FIXED_COUNT.

Referenced by ui_init().

◆ onUnlockRequested()

void cdc::ui::onUnlockRequested ( )
static

Starts unlock flow from lock screen.

Handles lock-screen unlock request and opens PIN entry when required.

Definition at line 340 of file AppUi.cpp.

References clearKeypadBuffer(), cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), s_ignoreKeyUntilRelease, and s_pinEntry.

Referenced by ui_init().

◆ onWifiAuthSelect()

void cdc::ui::onWifiAuthSelect ( uint16_t index,
void * userData )
static

Handles authentication mode selection.

Stores selected authentication mode and continues wizard.

Parameters
indexSelected authentication mode index.
userDataOptional callback user data.

Definition at line 486 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), cdc::hal::OPEN, cdc::hal::WEP, WIFI_AUTH_OPEN, WIFI_AUTH_WEP, WIFI_AUTH_WPA, WIFI_AUTH_WPA2, WIFI_AUTH_WPA3, WIFI_AUTH_WPA_WPA2, wifiShowIpModeMenu(), wifiShowPasswordInput(), cdc::ui::WifiHandlers::wizard(), cdc::hal::WPA2_PSK, cdc::hal::WPA3_PSK, and cdc::hal::WPA_PSK.

Referenced by wifiShowAuthMenu().

◆ onWifiGatewayEntered()

void cdc::ui::onWifiGatewayEntered ( const char * gateway)
static

Validates and stores gateway input.

Validates and stores gateway value.

Parameters
gatewayEntered gateway IP string.

Definition at line 590 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), cdc::ui::WifiHandlers::isValidIpAddress(), onWifiGatewayEntered(), onWifiNetmaskEntered(), showToastError(), TOAST_DURATION_MEDIUM_MS, tr(), wifiShowIpInputField(), and cdc::ui::WifiHandlers::wizard().

Referenced by onWifiGatewayEntered(), and onWifiStaticIpEntered().

◆ onWifiIpModeSelect()

void cdc::ui::onWifiIpModeSelect ( uint16_t index,
void * userData )
static

Handles IP mode selection.

Handles IP-mode choice and proceeds with DHCP or static inputs.

Parameters
indexSelected IP-mode index.
userDataOptional callback user data.

Definition at line 545 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), onWifiStaticIpEntered(), cdc::ui::WifiWizard::useDhcp, WIFI_IP_DHCP, wifiFinishSetup(), wifiShowIpInputField(), and cdc::ui::WifiHandlers::wizard().

Referenced by wifiShowIpModeMenu().

◆ onWifiMainSelect()

void cdc::ui::onWifiMainSelect ( uint16_t index,
void * userData )
static

Handles top-level Wi-Fi menu selection.

Handles top-level Wi-Fi menu actions.

Parameters
indexSelected item index.
userDataOptional callback user data.

Definition at line 256 of file WifiMenuUi.cpp.

References cdc::hal::getWifiControllerInstance(), cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), rebuildWifiMainMenu(), s_wifiModuleCount, s_wifiModuleItems, WIFI_IDX_CONNECT, WIFI_IDX_DETAILS, WIFI_IDX_NTP_SYNC, WIFI_IDX_SETUP, WIFI_MENU_FIXED_COUNT, wifiConnect(), wifiDisconnect(), wifiNtpSync(), wifiSetup(), and wifiShowDetails().

Referenced by showWifiMainMenu().

◆ onWifiNetmaskEntered()

void cdc::ui::onWifiNetmaskEntered ( const char * netmask)
static

Validates and stores netmask input.

Validates and stores netmask value.

Parameters
netmaskEntered netmask string.

Definition at line 605 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), cdc::ui::WifiHandlers::isValidIpAddress(), onWifiNetmaskEntered(), showToastError(), TOAST_DURATION_MEDIUM_MS, tr(), wifiFinishSetup(), wifiShowIpInputField(), and cdc::ui::WifiHandlers::wizard().

Referenced by onWifiGatewayEntered(), and onWifiNetmaskEntered().

◆ onWifiPasswordEntered()

void cdc::ui::onWifiPasswordEntered ( const char * password)
static

Stores entered password and continues wizard.

Stores entered Wi-Fi password and proceeds to IP-mode step.

Parameters
passwordEntered Wi-Fi password.

Definition at line 518 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), wifiShowIpModeMenu(), and cdc::ui::WifiHandlers::wizard().

Referenced by wifiShowPasswordInput().

◆ onWifiScanSelect()

void cdc::ui::onWifiScanSelect ( uint16_t index,
void * userData )
static

Handles scan result selection.

Handles selected scan entry and advances setup wizard.

Parameters
indexSelected list index.
userDataOptional pointer to selected WifiItem.

Definition at line 438 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), cdc::hal::OPEN, showT9Input(), tr(), wifiShowAuthMenu(), wifiShowIpModeMenu(), wifiShowPasswordInput(), and cdc::ui::WifiHandlers::wizard().

Referenced by wifiStartScan().

◆ onWifiStaticIpEntered()

void cdc::ui::onWifiStaticIpEntered ( const char * ip)
static

Validates and stores static IP input.

Validates and stores static IP value.

Parameters
ipEntered IP address string.

Definition at line 575 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), cdc::ui::WifiHandlers::isValidIpAddress(), onWifiGatewayEntered(), onWifiStaticIpEntered(), showToastError(), TOAST_DURATION_MEDIUM_MS, tr(), wifiShowIpInputField(), and cdc::ui::WifiHandlers::wizard().

Referenced by onWifiIpModeSelect(), and onWifiStaticIpEntered().

◆ onWifiToggleCallback()

void cdc::ui::onWifiToggleCallback ( )
static

Context-menu callback toggling WiFi on/off via the user intent flag.

Definition at line 258 of file LockScreenView.cpp.

References hideContextMenu(), and cdc::ui::WifiHandlers::instance().

Referenced by cdc::ui::LockScreenView::onKey().

◆ operator&()

StatusIcon cdc::ui::operator& ( StatusIcon a,
StatusIcon b )
inline

Definition at line 40 of file LockScreenView.h.

◆ operator|()

StatusIcon cdc::ui::operator| ( StatusIcon a,
StatusIcon b )
inline

Definition at line 37 of file LockScreenView.h.

◆ operator|=()

StatusIcon & cdc::ui::operator|= ( StatusIcon & a,
StatusIcon b )
inline

Definition at line 43 of file LockScreenView.h.

◆ performAntiBlockLock()

void cdc::ui::performAntiBlockLock ( )
static

Anti-block instant lock: force the badge into a clean locked state.

Triggered by the reserved N+Y rescue chord. Unloads every loaded plugin, dismisses all modals and views back to the lock screen, and notifies modules so the badge recovers from a wedged view or undefined UI state without a hardware reset.

Definition at line 432 of file AppUi.cpp.

References clearKeypadBuffer(), cdc::core::ModuleRegistry::dispatchLock(), cdc::core::ModuleRegistry::instance(), cdc::plugin_manager::PluginManager::instance(), cdc::ui::ViewStack::instance(), s_ignoreKeyUntilRelease, s_lockScreen, and cdc::plugin_manager::PluginManager::unloadAllFromRam().

Referenced by ui_process().

◆ pluginContextCallback0()

◆ pluginContextCallback1()

◆ pluginContextCallback2()

◆ pluginContextCallback3()

◆ prepareForBootloaderReset()

void cdc::ui::prepareForBootloaderReset ( )

Puts the badge into a quiet pre-reset state.

Forces the badge into a quiet state ahead of the bootloader reset: pops every view back to the lock screen, replaces the lock-screen text with "BOOTLOADER MODE" / reset-button hint and triggers a full EPD refresh + backlight off.

Replaces lock-screen text with a clear "BOOTLOADER MODE" banner, drops any open views/modals, forces a full EPD refresh and switches the backlight off. The follow-up download-boot reset is triggered by the caller from a separate worker task.

Provided by AppUi.cpp because it touches the static lock-screen instance.

Definition at line 1052 of file AppUi.cpp.

References cdc::hal::FULL, cdc::ui::ViewStack::instance(), s_deps, and s_lockScreen.

Referenced by rebootIntoBootloader().

◆ qrDisplayCallback()

void cdc::ui::qrDisplayCallback ( esp_qrcode_handle_t qrcode)
static

Renders or measures the QR code through the ESP QR callback.

Parameters
qrcodeQR handle provided by the ESP QR generator.
Returns
void

Definition at line 48 of file QRCodeView.cpp.

References LOG_D, s_qrCtx, scale, and TAG.

◆ rebootIntoBootloader()

void cdc::ui::rebootIntoBootloader ( )

Reboots the device into USB download (bootloader) mode.

Reboots into USB download mode.

Shows a "Bootloader Mode" toast, forces an EPD full refresh, switches off the backlight, then spawns a dedicated task that arms RTC_CNTL_FORCE_DOWNLOAD_BOOT and calls esp_restart(). Returns to the caller so any locks it holds are released before the reset runs.

Forces the UI to the lock screen with a "BOOTLOADER MODE" banner, flushes the EPD and switches the backlight off (the lock-screen path is the known-quiet rendering state), then spawns a dedicated worker that detaches USB and triggers the hard reset. The caller returns immediately so any locks it holds are released before reset proceeds.

Definition at line 333 of file ExpertMenuUi.cpp.

References bootloaderResetTask(), and prepareForBootloaderReset().

Referenced by cdc::serial::cmdBootloader().

◆ rebuildBluetoothMenu()

◆ rebuildExpertMenu()

void cdc::ui::rebuildExpertMenu ( )
static

Rebuilds expert menu item list including module-provided entries.

Rebuilds expert menu entries including dynamically provided items.

Definition at line 274 of file ExpertMenuUi.cpp.

References EXPERT_BOTTOM_COUNT, EXPERT_FIXED_COUNT, EXPERT_MAX_ITEMS, cdc::core::EXPERT_MENU, EXPERT_TOP_COUNT, cdc::core::ModuleRegistry::instance(), kExpertBottom, kExpertTop, s_expertItems, s_expertMenu, s_expertModuleCount, s_expertModuleItems, and tr().

Referenced by showExpertMenu().

◆ rebuildLanguageMenu()

void cdc::ui::rebuildLanguageMenu ( )
static

Rebuilds the language picker from the overlay files present.

Rebuilds the language picker from the overlay files on the plugins FAT.

The list always starts with English (in-code) followed by one entry per lang_<code>.json discovered by I18n, each labelled with the file's own core.lang_name. With no overlay files present only English is shown.

Definition at line 641 of file AppUi.cpp.

References cdc::ui::I18n::instance(), MAX_LANGUAGES, onLanguageSelect(), s_languageCodes, s_languageCount, s_languageItems, s_languageMenu, and tr().

Referenced by onSettingsSelect(), and ui_init().

◆ rebuildMainMenu()

◆ rebuildMenuLabels()

void cdc::ui::rebuildMenuLabels ( )
static

Rebuilds labels for translatable menus after language change.

Rebuilds all translatable menu labels and refreshes visible menus.

Definition at line 522 of file AppUi.cpp.

References rebuildMainMenu(), rebuildToolsMenu(), s_settingsItems, s_settingsMenu, SETTINGS_IDX_AUTO_SLEEP, SETTINGS_IDX_BADGE_TEXT, SETTINGS_IDX_BRIGHTNESS, SETTINGS_IDX_CHANGE_PIN, SETTINGS_IDX_COUNT, SETTINGS_IDX_LANGUAGE, SETTINGS_IDX_SET_DATE, SETTINGS_IDX_SET_TIME, SETTINGS_IDX_TIMEZONE, and tr().

Referenced by ui_rebuild_menus().

◆ rebuildModulesView()

void cdc::ui::rebuildModulesView ( )
static

Rebuilds module status list view content.

Rebuilds module list rows with current enabled/state/error markers.

Definition at line 158 of file ExpertMenuUi.cpp.

References cdc::core::IService::getName(), cdc::core::ModuleRegistry::instance(), MODULES_VIEW_MAX, s_moduleLabels, s_modulesItems, s_modulesView, and tr().

Referenced by onModuleRetryConfirm(), onModuleSelect(), and showModulesView().

◆ rebuildPairedList()

void cdc::ui::rebuildPairedList ( )
static

Rebuilds the paired-device list from the current bond store.

Definition at line 662 of file BluetoothMenuUi.cpp.

References BLE_MAX_BONDS, cdc::hal::getBluetoothControllerInstance(), s_pairedBonds, s_pairedCount, s_pairedItems, s_pairedLabels, s_pairedView, and tr().

Referenced by onForgetConfirm(), and showPairedDevices().

◆ rebuildToolsMenu()

void cdc::ui::rebuildToolsMenu ( )

◆ rebuildWifiMainMenu()

◆ registerBackupSerialCommand()

void cdc::ui::registerBackupSerialCommand ( )

Registers the AUTH-gated BACKUP serial command.

Definition at line 218 of file BackupMenuUi.cpp.

References cdc::serial::getCommandRegistry(), and cdc::serial::ICommandRegistry::registerCommand().

Referenced by ui_init().

◆ renderBleRow()

bool cdc::ui::renderBleRow ( Gdey029T94 * gfx,
const ListItem & item,
uint16_t index,
int x,
int y,
int w,
int h,
bool selected,
void * userCtx )
static

Renders one BLE scan row with signal bars and RSSI text.

Parameters
gfxDisplay graphics context.
itemList item containing BleScanResult in userData.
indexRow index.
xRow left position.
yRow top position.
wRow width.
hRow height.
selectedWhether row is selected.
userCtxOptional renderer context.
Returns
true when rendered.

Definition at line 91 of file BluetoothMenuUi.cpp.

References drawSignalBars(), cdc::ui::render::printText(), and cdc::ui::ListItem::userData.

Referenced by startBluetoothScan().

◆ renderWifiRow()

bool cdc::ui::renderWifiRow ( Gdey029T94 * gfx,
const ListItem & item,
uint16_t index,
int x,
int y,
int w,
int h,
bool selected,
void * userCtx )
static

Custom list-row renderer for Wi-Fi scan entries.

Parameters
gfxDisplay graphics context.
itemItem metadata and optional scan-result user data.
indexRow index.
xRow left position.
yRow top position.
wRow width.
hRow height.
selectedWhether row is selected.
userCtxOptional renderer context.
Returns
Always true.

Definition at line 159 of file WifiMenuUi.cpp.

References drawSignalBars(), drawWifiLockIcon(), cdc::ui::ListItem::label, cdc::hal::OPEN, cdc::ui::render::printText(), and cdc::ui::ListItem::userData.

Referenced by wifiStartScan().

◆ rOnCharRead()

void cdc::ui::rOnCharRead ( uint16_t connHandle,
uint16_t ,
const uint8_t * data,
uint16_t len )
static

Definition at line 413 of file BluetoothMenuUi.cpp.

References s_evtGotName, s_resolveActive, s_resolveConn, and s_resolveNameBuf.

Referenced by bleResolveStart().

◆ rOnConnect()

void cdc::ui::rOnConnect ( uint16_t connHandle)
static

Definition at line 390 of file BluetoothMenuUi.cpp.

References s_evtConnected, s_evtConnHandle, and s_resolveActive.

Referenced by bleResolveStart().

◆ rOnDisconnect()

void cdc::ui::rOnDisconnect ( uint16_t connHandle,
int  )
static

Definition at line 395 of file BluetoothMenuUi.cpp.

References s_evtDisconnected, s_resolveActive, and s_resolveConn.

Referenced by bleResolveStart().

◆ rOnServiceDiscovered()

◆ runSystemTest()

void cdc::ui::runSystemTest ( )
static

Opens hardware information/system-test screen.

Definition at line 199 of file ExpertMenuUi.cpp.

References showHardwareInfo().

◆ runTropicCacheCleanup()

void cdc::ui::runTropicCacheCleanup ( )
static

◆ runTropicCacheRebuild()

void cdc::ui::runTropicCacheRebuild ( )
static

◆ showBackupMenu()

void cdc::ui::showBackupMenu ( )

Shows the Backup submenu (Export / Import / Delete).

Definition at line 203 of file BackupMenuUi.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and tr().

◆ showBeaconMenu()

void cdc::ui::showBeaconMenu ( )

Definition at line 401 of file MsgTransferUi.cpp.

References cdc::ui::ViewStack::instance(), and cdc::ui::ViewStack::push().

Referenced by onToolsSelect().

◆ showBluetoothMenu()

void cdc::ui::showBluetoothMenu ( )

Shows top-level Bluetooth menu.

Definition at line 185 of file BluetoothMenuUi.cpp.

References cdc::ui::ViewStack::instance(), onBluetoothMenuSelect(), cdc::ui::ViewStack::push(), rebuildBluetoothMenu(), and s_bluetoothMenu.

Referenced by onToolsSelect().

◆ showBluetoothStatus()

void cdc::ui::showBluetoothStatus ( )
static

Shows BLE status and adapter information.

Builds and shows BLE status information view.

Definition at line 281 of file BluetoothMenuUi.cpp.

References BLE_STATUS_BUF_SIZE, cdc::hal::getBluetoothControllerInstance(), s_bleStatusBuf, showInfo(), and tr().

Referenced by onBluetoothMenuSelect().

◆ showConfirm()

void cdc::ui::showConfirm ( const char * message,
ConfirmView::ConfirmCallback onConfirm,
ConfirmView::CancelCallback onCancel = nullptr,
ConfirmView::Icon icon = ConfirmView::Icon::QUESTION,
void * userData = nullptr )

Shows a shared modal confirmation dialog instance.

Show a confirmation dialog (modal)

Parameters
messageQuestion to display
onConfirmCallback when Y is pressed
onCancelCallback when N is pressed (optional)
iconIcon type
userDataUser data passed to callbacks
messageDialog message text.
onConfirmCallback for confirmation action.
onCancelCallback for cancel action.
iconIcon type to display.
userDataUser context passed to callbacks.
Returns
void

Definition at line 208 of file ConfirmView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::render(), s_sharedConfirm, and cdc::ui::ViewStack::showModal().

Referenced by askConfirm(), cdc::mod_2fa::ble_chalresp_tick(), cdc::mod_gpg::confirmReset(), cdc::mod_vcard::ctxReceivedDelete(), enterShipModeMenu(), cdc::mod_fido2::fido2_ui_user_presence_callback(), cdc::mod_nvsedit::getNvsEditorView(), cdc::mod_password::onMenuDelete(), onModuleSelect(), and cdc::mod_gpg::onReceivedActionSelect().

◆ showContextMenu()

ContextMenuView * cdc::ui::showContextMenu ( const char * title,
const ContextMenuItem * items,
uint8_t count )

Shows the shared context menu instance as modal.

Show a context menu as modal overlay. The menu will close after selection or cancel.

Parameters
titleMenu title
itemsArray of menu items
countNumber of items
Returns
Pointer to the ContextMenuView

Example: static ContextMenuItem items[] = { {"Copy", []() { doCopy(); }}, {"Paste", []() { doPaste(); }}, {"Delete", []() { doDelete(); }} }; showContextMenu("Actions", items, 3);

Parameters
titleMenu title text.
itemsMenu item array.
countNumber of menu items.
Returns
Pointer to the shared ContextMenuView instance.

Definition at line 283 of file ContextMenuView.cpp.

References cdc::ui::ViewStack::instance(), s_sharedContextMenu, and cdc::ui::ViewStack::showModal().

Referenced by cdc::ui::LockScreenView::onKey(), cdc::mod_nvsedit::onKeyMenu(), cdc::mod_password::onListMenu(), cdc::mod_nvsedit::onNamespaceMenu(), cdc::mod_vcard::onReceivedMenu(), and cdc::mod_vcard::onReceivedViewMenu().

◆ showDuressPinSetup()

void cdc::ui::showDuressPinSetup ( )

Opens the duress / self-destruct PIN setup wizard.

Reuses the PIN-change wizard: step 1 re-authenticates with the badge PIN, steps 2-3 enter and confirm the new duress PIN.

Definition at line 389 of file AppUi.cpp.

References cdc::core::PinManager::BADGE_PIN_MAX, cdc::core::PinManager::BADGE_PIN_MIN, cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_duressPinView.

◆ showError()

void cdc::ui::showError ( const char * message,
uint32_t timeoutMs = 2000 )
inline

Shorthand for error message

Definition at line 95 of file MessageBox.h.

References ERROR, and showMessage().

◆ showExpertMenu()

void cdc::ui::showExpertMenu ( )

Shows expert menu and initial warning toast.

Definition at line 258 of file ExpertMenuUi.cpp.

References cdc::ui::ViewStack::instance(), onExpertMenuSelect(), cdc::ui::ViewStack::push(), rebuildExpertMenu(), s_expertMenu, showToastInfo(), and tr().

Referenced by onToolsSelect().

◆ showHardwareInfo()

void cdc::ui::showHardwareInfo ( )

Opens hardware info screen using shared info view.

Returns
void

Definition at line 186 of file HardwareInfo.cpp.

References buildHardwareInfoText(), showInfo(), and tr().

Referenced by runSystemTest().

◆ showInfo()

InfoView * cdc::ui::showInfo ( const char * title,
const char * text,
const char * hint = nullptr )

Shows a shared info view instance and pushes it onto the view stack.

Show an info view and push it to the ViewStack. Simplest API for displaying scrollable text.

Parameters
titleView title
textText to display (multi-line with
)
hintOptional custom footer hint
Returns
Pointer to the InfoView

Example: showInfo("Help", "Line 1\nLine 2\nLine 3...");

Parameters
titleTitle text.
textBody text.
hintOptional custom footer hint.
Returns
Pointer to the shared InfoView instance.

Definition at line 310 of file InfoView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_sharedInfoView.

Referenced by showBluetoothStatus(), showHardwareInfo(), cdc::mod_gpg::showReceivedKeys(), and wifiShowDetails().

◆ showListView()

ListView * cdc::ui::showListView ( const char * title,
const ListItem * items,
uint16_t count,
ListView::SelectCallback onSelect,
const char * hint = nullptr )

Shows a shared list view instance with selection callback.

Show a list menu and push it to the ViewStack. Simplest possible API: "here's the array and callback, show it".

Parameters
titleList title
itemsArray of items (pointer is stored)
countNumber of items
onSelectCallback when item is selected
hintOptional custom footer hint (nullptr = default)
Returns
Pointer to the ListView (for further configuration if needed)

Example: static ListItem items[] = { {"Option 1"}, {"Option 2"} }; showListView("Title", items, 2, [](uint16_t idx, void*) { ... });

Parameters
titleList title text.
itemsItem array pointer.
countNumber of items.
onSelectSelection callback.
hintOptional footer hint override.
Returns
Pointer to the shared ListView instance.

Definition at line 438 of file ListView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_sharedListView.

◆ showMessage()

void cdc::ui::showMessage ( const char * message,
MessageIcon icon = MessageIcon::NONE,
uint32_t timeoutMs = 0,
MessageBox::CloseCallback onClose = nullptr )

Shows the shared modal message box.

Show a message box overlay (modal). Simplest API for user feedback.

Parameters
messageText to display
iconIcon type
timeoutMsAuto-dismiss timeout (0 = manual dismiss with Y/N)
onCloseOptional callback when dismissed

Examples: showMessage("Saved!"); // Simple info showMessage("Success!", MessageIcon::SUCCESS, 2000); // Auto-dismiss after 2s showMessage("Wrong PIN!", MessageIcon::ERROR, 1500); // Error with timeout

Parameters
messageMessage text.
iconIcon type.
timeoutMsAuto-close timeout in milliseconds.
onCloseOptional close callback.
Returns
void

Definition at line 211 of file MessageBox.cpp.

References cdc::ui::ViewStack::instance(), s_sharedMessageBox, and cdc::ui::ViewStack::showModal().

Referenced by showError(), and showSuccess().

◆ showModulesView()

void cdc::ui::showModulesView ( )

Shows module management list view.

Definition at line 186 of file ExpertMenuUi.cpp.

References cdc::ui::ViewStack::instance(), onModuleSelect(), cdc::ui::ViewStack::push(), rebuildModulesView(), and s_modulesView.

◆ showMsgBeaconScan()

void cdc::ui::showMsgBeaconScan ( )

◆ showPairedDevices()

void cdc::ui::showPairedDevices ( )
static

Shows the list of paired (bonded) devices.

Builds and shows the paired-device list view.

Definition at line 710 of file BluetoothMenuUi.cpp.

References cdc::hal::getBluetoothControllerInstance(), cdc::ui::ViewStack::instance(), onPairedSelect(), cdc::ui::ViewStack::push(), rebuildPairedList(), s_pairedView, showToastError(), and tr().

Referenced by onBluetoothMenuSelect().

◆ showPinEntry()

PinEntryView * cdc::ui::showPinEntry ( const char * title,
PinEntryView::VerifyCallback onVerify,
PinEntryView::SuccessCallback onSuccess,
uint8_t maxLength = 6,
uint8_t minLength = 4,
uint8_t maxAttempts = 3 )

Shows a shared PIN entry view instance.

Show a PIN entry view and push it to the ViewStack. Simplest possible API for PIN input.

Parameters
titleTitle text
onVerifyVerification callback (return true if PIN correct)
onSuccessCalled after successful verification
maxLengthMaximum PIN length (default 6)
minLengthMinimum PIN length (default 4)
maxAttemptsMaximum attempts (0 = unlimited, default 3)
Returns
Pointer to the PinEntryView

Example (default PIN is "1234"): showPinEntry("Enter PIN", [](const char* pin) { return strcmp(pin, "1234") == 0; }, []() { unlockDevice(); });

Parameters
titleView title text.
onVerifyVerification callback.
onSuccessSuccess callback.
maxLengthMaximum PIN length.
minLengthMinimum PIN length.
maxAttemptsMaximum retry attempts.
Returns
Pointer to the shared PinEntryView instance.

Definition at line 325 of file PinEntryView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_sharedPinEntry.

◆ showQRCode()

QRCodeView * cdc::ui::showQRCode ( const char * data,
const char * title = nullptr,
const char * subtitle = nullptr,
const char * hint = nullptr )

Shows a shared QR code view instance.

Show a QR code view.

Parameters
dataData to encode
titleOptional title
subtitleOptional subtitle
hintOptional footer hint (default: "Any key = Back")
Returns
Pointer to the QRCodeView

Example: showQRCode("https://example.com", "Website", "Scan me!");

Parameters
dataQR payload text.
titleOptional title text.
subtitleOptional subtitle text.
hintOptional custom footer hint.
Returns
Pointer to the shared QRCodeView instance.

Definition at line 352 of file QRCodeView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_sharedQRCodeView.

Referenced by cdc::mod_vcard::showVcardQr().

◆ showSlider()

SliderView * cdc::ui::showSlider ( const char * title,
uint16_t minVal,
uint16_t maxVal,
uint16_t initial,
uint16_t step,
const char * unit,
SliderView::SaveCallback onSave,
SliderView::ChangeCallback onChange = nullptr )

Shows a shared slider view instance.

Show a slider and push it to the ViewStack. Simplest possible API for value adjustment.

Parameters
titleSlider title
minValMinimum value
maxValMaximum value
initialInitial value
stepStep size
unitUnit string (e.g., "%")
onSaveCalled when Y is pressed (save)
onChangeCalled on every adjustment (real-time preview)
Returns
Pointer to the SliderView (for further configuration)

Example (Brightness): showSlider("Brightness", 0, 100, 50, 10, "%", [](uint16_t v) { saveNVS(v); }, [](uint16_t v) { display->setBacklight(v * 10); });

Parameters
titleView title text.
minValMinimum slider value.
maxValMaximum slider value.
initialInitial slider value.
stepDefault step size.
unitOptional value unit suffix.
onSaveSave callback.
onChangeOptional live-change callback.
Returns
Pointer to the shared SliderView instance.

Definition at line 277 of file SliderView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_sharedSlider.

◆ showSuccess()

void cdc::ui::showSuccess ( const char * message,
uint32_t timeoutMs = 2000 )
inline

Shorthand for success message

Definition at line 88 of file MessageBox.h.

References showMessage(), and SUCCESS.

◆ showT9Input()

T9InputView * cdc::ui::showT9Input ( const char * title,
const char * initialText,
T9InputView::SaveCallback onSave,
uint16_t maxLen = 128 )

Shows a shared T9 input view instance.

Show a T9 input view and push it to the ViewStack. Simplest possible API for text input.

Parameters
titleView title
initialTextInitial text (nullptr for empty)
onSaveCalled when Y is pressed (save)
maxLenMaximum text length
Returns
Pointer to the T9InputView (for further configuration)

Example: showT9Input("Enter Name", nullptr, [](const char* text) { saveToNVS(text); });

Parameters
titleView title text.
initialTextInitial text value.
onSaveSave callback invoked on confirm.
maxLenMaximum input length.
Returns
Pointer to the shared T9InputView instance.

Definition at line 391 of file T9InputView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::push(), and s_sharedT9Input.

Referenced by onWifiScanSelect(), cdc::ui::settings::showBadgeTextStep(), wifiShowIpInputField(), and wifiShowPasswordInput().

◆ showToast()

void cdc::ui::showToast ( const char * message,
uint16_t durationMs = 1500 )

Shows a plain toast message.

Show a toast message (shown as modal overlay)

Parameters
messageText to display
durationMsDuration in ms (default 1500)
messageToast message text.
durationMsAuto-dismiss duration in milliseconds.
Returns
void

Definition at line 225 of file ToastView.cpp.

References cdc::ui::ToastView::NONE, and showToastInternal().

Referenced by cdc::mod_gpg::onReceivedActionSelect(), cdc::mod_gpg::onReceivedDeleteConfirm(), cdc::mod_gpg::onReceivedSignConfirm(), and cdc::mod_gpg::showSendKey().

◆ showToastAlert()

void cdc::ui::showToastAlert ( const char * message,
uint16_t durationMs = 1500 )

Shows an alert toast message.

Show an alert toast with warning icon

Parameters
messageToast message text.
durationMsAuto-dismiss duration in milliseconds.
Returns
void

Definition at line 275 of file ToastView.cpp.

References cdc::ui::ToastView::ALERT, and showToastInternal().

◆ showToastAlertSticky()

void cdc::ui::showToastAlertSticky ( const char * message)

Shows a non-dismissible alert toast.

Show a non-dismissible alert toast (panic)

Parameters
messageToast message text.
Returns
void

Definition at line 284 of file ToastView.cpp.

References cdc::ui::ToastView::ALERT, and showToastInternal().

Referenced by onModuleSelect(), and ui_init().

◆ showToastError()

void cdc::ui::showToastError ( const char * message,
uint16_t durationMs = 1500 )

Shows an error toast message.

Show an error toast with X icon

Parameters
messageToast message text.
durationMsAuto-dismiss duration in milliseconds.
Returns
void

Definition at line 245 of file ToastView.cpp.

References cdc::ui::ToastView::ERROR, and showToastInternal().

Referenced by cdc::ui::T9InputView::forceDigit(), cdc::mod_gpg::GpgModule::getMenuItems(), cdc::mod_password::PasswordModule::getMenuItems(), cdc::plugin_manager::onCtxDisable(), cdc::plugin_manager::onCtxEnable(), cdc::mod_nvsedit::onDeleteKey(), cdc::mod_nvsedit::onDeleteNamespace(), cdc::mod_2fa::OathCodeView::onEnter(), cdc::mod_2fa::OathCodeView::onKey(), cdc::mod_password::onMenuDeleteConfirm(), onModuleErrorEvent(), onModuleRetryConfirm(), onModuleSelect(), cdc::mod_vcard::onMyVcardLockscreenSelect(), cdc::mod_fido2::onPinFailure(), cdc::mod_vcard::onReceivedDeleteConfirm(), cdc::mod_gpg::onResetConfirm(), onShipModeConfirm(), cdc::mod_password::onTypePassword(), onWifiGatewayEntered(), onWifiNetmaskEntered(), onWifiStaticIpEntered(), cdc::mod_gpg::onWizardCurve(), cdc::mod_password::onWizardTotp(), cdc::ui::T9InputView::processKey(), cdc::mod_fido2::promptComplete(), cdc::mod_password::rebuildList(), cdc::plugin_manager::reportStartResult(), runTropicCacheCleanup(), runTropicCacheRebuild(), cdc::mod_nvsedit::showDeleteDisabled(), cdc::mod_password::showDetails(), cdc::mod_gpg::showExport(), showMsgBeaconScan(), showPairedDevices(), startBluetoothScan(), cdc::mod_ble_serial::BleSerialModule::toggle(), toggleBluetoothEnable(), wifiConnect(), wifiNtpSync(), wifiStartScan(), cdc::mod_2fa::wizardEdit(), cdc::mod_password::wizardEdit(), cdc::mod_2fa::wizardFinish(), cdc::mod_password::wizardFinish(), and cdc::mod_vcard::wizardFinish().

◆ showToastInfo()

void cdc::ui::showToastInfo ( const char * message,
uint16_t durationMs = 1500 )

◆ showToastInternal()

void cdc::ui::showToastInternal ( const char * message,
ToastView::Icon icon,
uint16_t durationMs,
bool dismissible = true )
static

Shows the shared toast instance with custom icon and behavior.

Parameters
messageToast message text.
iconIcon type to display.
durationMsAuto-dismiss duration in milliseconds.
dismissibleWhether key presses can dismiss the toast.
Returns
void

Definition at line 212 of file ToastView.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::ViewStack::render(), s_sharedToast, and cdc::ui::ViewStack::showModal().

Referenced by showToast(), showToastAlert(), showToastAlertSticky(), showToastError(), showToastInfo(), showToastSuccess(), and showToastTask().

◆ showToastSuccess()

◆ showToastTask()

void cdc::ui::showToastTask ( const char * message,
uint16_t durationMs = 0 )

Shows a task/progress toast message.

Show a task toast with hourglass icon (default: until dismissed)

Parameters
messageToast message text.
durationMsAuto-dismiss duration in milliseconds.
Returns
void

Definition at line 265 of file ToastView.cpp.

References showToastInternal(), and cdc::ui::ToastView::TASK.

Referenced by cdc::ui::WifiHandlers::connect(), runTropicCacheCleanup(), runTropicCacheRebuild(), and wifiNtpSync().

◆ showWifiMainMenu()

void cdc::ui::showWifiMainMenu ( )

◆ sortBleScanResults()

void cdc::ui::sortBleScanResults ( )
static

Sorts BLE scan results by RSSI descending.

Definition at line 130 of file BluetoothMenuUi.cpp.

References s_bleScanCount, and s_bleScanResults.

Referenced by startBluetoothScan().

◆ sortWifiScanResults()

void cdc::ui::sortWifiScanResults ( )
static

Sorts scan results by RSSI descending.

Sorts scanned networks by signal strength in descending order.

Definition at line 345 of file WifiMenuUi.cpp.

References s_wifiScanCount, and s_wifiScanResults.

Referenced by wifiStartScan().

◆ startBluetoothScan()

void cdc::ui::startBluetoothScan ( )
static

◆ toggleBluetoothEnable()

void cdc::ui::toggleBluetoothEnable ( )
static

Toggles BLE controller enabled state.

Toggles BLE enable state and refreshes related menus.

Definition at line 256 of file BluetoothMenuUi.cpp.

References cdc::hal::getBluetoothControllerInstance(), rebuildBluetoothMenu(), rebuildToolsMenu(), showToastError(), showToastInfo(), showToastSuccess(), and tr().

Referenced by onBluetoothMenuSelect().

◆ toolsBluetoothIcon()

uint8_t cdc::ui::toolsBluetoothIcon ( )
static

Definition at line 479 of file AppUi.cpp.

References cdc::hal::getBluetoothControllerInstance().

◆ tr()

const char * cdc::ui::tr ( const char * key)
inline

Look up a translation by string key.

Definition at line 208 of file I18n.h.

References cdc::ui::I18n::instance(), and cdc::ui::I18n::tr().

Referenced by cdc::mod_2fa::ble_chalresp_tick(), buildHardwareInfoText(), cdc::mod_gpg::confirmReset(), cdc::ui::WifiHandlers::connect(), enterShipModeMenu(), cdc::mod_fido2::fido2_ui_get_label(), cdc::mod_fido2::fido2_ui_user_presence_callback(), cdc::ui::T9InputView::forceDigit(), cdc::mod_2fa::OathCodeView::getFooterHint(), cdc::plugin_manager::PluginListView::getFooterHint(), cdc::ui::DateInputView::getFooterHint(), cdc::ui::InfoView::getFooterHint(), cdc::ui::ListView::getFooterHint(), cdc::ui::LockScreenView::getFooterHint(), cdc::ui::PasswordT9View::getFooterHint(), cdc::ui::PinChangeView::getFooterHint(), cdc::ui::PinEntryView::getFooterHint(), cdc::ui::QRCodeView::getFooterHint(), cdc::ui::SliderView::getFooterHint(), cdc::ui::T9InputView::getFooterHint(), cdc::ui::TimeInputView::getFooterHint(), cdc::mod_sao::getInfoView(), cdc::mod_2fa::TwoFaModule::getMenuItems(), cdc::mod_ble_serial::BleSerialModule::getMenuItems(), cdc::mod_gpg::GpgModule::getMenuItems(), cdc::mod_password::PasswordModule::getMenuItems(), cdc::mod_sao::SaoModule::getMenuItems(), cdc::mod_fido2::handleDelete(), msgTransferUiProcess(), cdc::mod_vcard::mstr(), onBluetoothMenuSelect(), cdc::plugin_manager::onCtxDisable(), cdc::plugin_manager::onCtxEnable(), cdc::mod_2fa::OathCodeView::onEnter(), onForgetConfirm(), cdc::mod_2fa::OathCodeView::onKey(), cdc::ui::LockScreenView::onKey(), cdc::mod_fido2::onListMenu(), cdc::mod_password::onListMenu(), cdc::mod_password::onMenuDelete(), cdc::mod_password::onMenuDeleteConfirm(), onModuleRetryConfirm(), onModuleSelect(), onPairedSelect(), cdc::mod_fido2::onPinFailure(), cdc::mod_fido2::onPromptApprove(), cdc::mod_gpg::onReceivedActionSelect(), cdc::mod_gpg::onReceivedDeleteConfirm(), cdc::mod_vcard::onReceivedDeleteConfirm(), cdc::mod_vcard::onReceivedMenu(), cdc::mod_gpg::onReceivedSignConfirm(), cdc::mod_vcard::onReceivedViewMenu(), cdc::mod_gpg::onResetConfirm(), cdc::plugin_manager::PluginListView::onResume(), cdc::mod_gpg::onSettingsSelect(), onShipModeConfirm(), cdc::mod_password::onTypePassword(), onWifiGatewayEntered(), onWifiNetmaskEntered(), onWifiScanSelect(), onWifiStaticIpEntered(), cdc::mod_2fa::onWizardAlgo(), cdc::mod_gpg::onWizardCurve(), cdc::mod_gpg::onWizardEmail(), cdc::mod_2fa::onWizardIssuer(), cdc::mod_2fa::onWizardName(), cdc::mod_gpg::onWizardName(), cdc::mod_password::onWizardPassword(), cdc::mod_2fa::onWizardSecret(), cdc::mod_password::onWizardTitle(), cdc::mod_password::onWizardTotp(), cdc::mod_2fa::onWizardType(), cdc::mod_password::onWizardUrl(), cdc::mod_password::onWizardUsername(), cdc::ui::T9InputView::processKey(), cdc::mod_fido2::promptComplete(), cdc::mod_2fa::pushAlgoStep(), cdc::mod_2fa::pushTouchStep(), cdc::mod_2fa::pushUsbCrStep(), rebuildBluetoothMenu(), rebuildExpertMenu(), rebuildLanguageMenu(), cdc::mod_2fa::rebuildList(), cdc::mod_fido2::rebuildList(), cdc::mod_password::rebuildList(), rebuildMainMenu(), cdc::mod_gpg::rebuildMenu(), rebuildMenuLabels(), rebuildModulesView(), rebuildPairedList(), cdc::mod_gpg::rebuildReceivedList(), rebuildToolsMenu(), rebuildWifiMainMenu(), cdc::mod_2fa::OathCodeView::render(), cdc::ui::BlePairingView::render(), cdc::ui::ConfirmView::render(), cdc::ui::PinChangeView::render(), cdc::ui::PinEntryView::render(), cdc::ui::QRCodeView::render(), cdc::plugin_manager::reportStartResult(), runTropicCacheCleanup(), runTropicCacheRebuild(), showBackupMenu(), cdc::ui::settings::showBadgeTextStep(), showBluetoothStatus(), cdc::mod_fido2::showDetail(), cdc::mod_password::showDetails(), showExpertMenu(), cdc::mod_gpg::showExport(), showHardwareInfo(), showMsgBeaconScan(), showPairedDevices(), cdc::mod_gpg::showReceivedDetail(), cdc::mod_gpg::showReceivedKeys(), cdc::mod_gpg::showSettings(), cdc::mod_gpg::showStatus(), startBluetoothScan(), cdc::plugin_manager::PluginManager::startPlugin(), cdc::mod_ble_serial::BleSerialModule::toggle(), toggleBluetoothEnable(), ui_init(), wifiConnect(), wifiDisconnect(), wifiNtpSync(), wifiShowAuthMenu(), wifiShowDetails(), wifiShowIpModeMenu(), wifiShowPasswordInput(), wifiStartScan(), cdc::mod_2fa::wizardEdit(), cdc::mod_password::wizardEdit(), cdc::mod_2fa::wizardFinish(), cdc::mod_password::wizardFinish(), cdc::mod_vcard::wizardFinish(), cdc::mod_2fa::wizardStart(), cdc::mod_gpg::wizardStart(), and cdc::mod_password::wizardStart().

◆ ui_init()

void cdc::ui::ui_init ( const UiDeps & deps)

Initializes App UI, builds all core views, and wires callbacks.

Parameters
depsHardware/service dependencies used by the UI runtime.

Definition at line 764 of file AppUi.cpp.

References cdc::core::PinManager::BADGE_PIN_MAX, cdc::core::PinManager::BADGE_PIN_MIN, cdc::core::BLE_PAIRING_REQUEST, cdc::ui::settings::brightnessStepCallback(), CHARGING, cdc::ui::ViewStack::dispatchLongPress(), cdc::core::TropicSlotMap::errorMessage(), cdc::core::EventBus::eventMask(), cdc::hal::FAST_CHARGE, cdc::hal::getBluetoothControllerInstance(), cdc::hal::getRtcInstance(), INACTIVITY_TIMEOUT_MS, cdc::core::PinManager::init(), cdc::ui::I18n::init(), cdc::ui::settings::init(), cdc::ui::SleepManager::init(), cdc::core::EventBus::instance(), cdc::core::PinManager::instance(), cdc::core::TropicSlotMap::instance(), cdc::ui::I18n::instance(), cdc::ui::SleepManager::instance(), cdc::ui::ViewStack::instance(), cdc::core::MODULE_ERROR, msgTransferUiInit(), onBleNumericComparison(), onBlePairingRequestEvent(), cdc::ui::settings::onBrightnessChange(), cdc::ui::settings::onBrightnessSave(), cdc::ui::settings::onDateConfirm(), onDuressPinSet(), onInactivityTimeout(), onMainMenuSelect(), onModuleErrorEvent(), cdc::ui::settings::onPinChangeComplete(), onPinSuccess(), onPinVerify(), onSettingsSelect(), cdc::ui::settings::onSleepIntervalSave(), cdc::ui::settings::onTimeConfirm(), cdc::ui::settings::onTimezoneSave(), onToolsSelect(), onUnlockRequested(), cdc::hal::PRE_CHARGE, cdc::ui::ViewStack::push(), rebuildLanguageMenu(), rebuildMainMenu(), rebuildToolsMenu(), registerBackupSerialCommand(), s_antiBlockLockRequested, s_blePendingMutex, s_brightnessSlider, s_dateInput, s_deps, s_duressPinView, s_languageMenu, s_lastCharging, s_lastMinute, s_lastUsbConnected, s_lockScreen, s_mainMenu, s_pinChangeView, s_pinEntry, s_settingsItems, s_settingsMenu, s_sleepSlider, s_timeInput, s_timezoneSlider, s_toolsMenu, cdc::ui::settings::saveDisplayField(), cdc::ui::ViewStack::setInactivityTimeout(), cdc::ui::I18n::setOnLanguageChanged(), cdc::serial::SerialCmd::setTextCallback(), cdc::serial::SerialCmd::setTimeCallback(), SETTINGS_IDX_AUTO_SLEEP, SETTINGS_IDX_BADGE_TEXT, SETTINGS_IDX_BRIGHTNESS, SETTINGS_IDX_CHANGE_PIN, SETTINGS_IDX_COUNT, SETTINGS_IDX_LANGUAGE, SETTINGS_IDX_SET_DATE, SETTINGS_IDX_SET_TIME, SETTINGS_IDX_TIMEZONE, showToastAlertSticky(), cdc::core::EventBus::subscribe(), tr(), ui_rebuild_menus(), updatePowerStatusIcons(), and USB.

Referenced by initUi().

◆ ui_on_modules_ready()

void cdc::ui::ui_on_modules_ready ( )

Refreshes module-backed menus once module startup is complete.

Definition at line 1028 of file AppUi.cpp.

References rebuildMainMenu(), and rebuildToolsMenu().

Referenced by initModules().

◆ ui_process()

◆ ui_rebuild_menus()

void cdc::ui::ui_rebuild_menus ( )

Rebuilds dynamic UI menus.

Re-runs all tr() lookups for settings, main and tools menus so that label pointers reflect the currently active i18n overlay. Must be called after the overlay has been (re)loaded.

Definition at line 1040 of file AppUi.cpp.

References rebuildMenuLabels().

Referenced by onModuleRetryConfirm(), onModuleSelect(), and ui_init().

◆ updateBatteryIndicator()

void cdc::ui::updateBatteryIndicator ( )
static

Updates the battery percentage indicator on the lock screen.

Pushes the current percentage when a battery is present, otherwise sets the indicator to the no-battery sentinel value (-1).

Definition at line 254 of file AppUi.cpp.

References BATTERY_SAMPLE_INTERVAL_MS, NO_BATTERY, s_deps, s_lastBatteryPresent, s_lastBatterySampleMs, and s_lockScreen.

Referenced by updatePowerStatusIcons().

◆ updateLockScreenClock()

void cdc::ui::updateLockScreenClock ( )
static

Updates lock-screen clock/date once per minute while lock screen is visible.

Definition at line 321 of file AppUi.cpp.

References cdc::ui::ViewStack::instance(), s_lastMinute, and s_lockScreen.

Referenced by ui_process().

◆ updatePowerStatusIcons()

◆ updateStatusIcon()

void cdc::ui::updateStatusIcon ( StatusIcon icon,
bool active,
bool & last )
static

Updates a single boolean-driven status icon on the lock screen.

Adds the icon when transitioning to active, removes it when transitioning to inactive, and updates the cached previous state. Performs no work when the state is unchanged.

Parameters
iconStatus icon identifier to toggle.
activeCurrent desired active state.
lastReference to cached previous state, updated on change.

Definition at line 238 of file AppUi.cpp.

References s_lockScreen.

Referenced by updatePowerStatusIcons().

◆ wifiConnect()

void cdc::ui::wifiConnect ( )
static

◆ wifiDisconnect()

void cdc::ui::wifiDisconnect ( )
static

Disconnects active Wi-Fi session.

Disconnects current Wi-Fi connection and refreshes menu state.

Definition at line 328 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), rebuildWifiMainMenu(), cdc::ui::WifiHandlers::setUserEnabled(), showToastInfo(), and tr().

Referenced by onWifiMainSelect().

◆ wifiFinishSetup()

void cdc::ui::wifiFinishSetup ( )
static

Persists wizard config and attempts connection.

Saves completed wizard configuration and connects to Wi-Fi.

Definition at line 619 of file WifiMenuUi.cpp.

References cdc::ui::ViewStack::instance(), cdc::ui::WifiHandlers::instance(), cdc::ui::ViewStack::pop(), s_wifiMainMenu, cdc::ui::WifiHandlers::saveConfig(), and wifiConnect().

Referenced by onWifiIpModeSelect(), and onWifiNetmaskEntered().

◆ wifiNtpSync()

void cdc::ui::wifiNtpSync ( )
static

Runs NTP synchronization via Wi-Fi.

Triggers NTP synchronization, connecting Wi-Fi first if required.

Definition at line 685 of file WifiMenuUi.cpp.

References cdc::ui::ViewStack::hideModal(), cdc::ui::ViewStack::instance(), cdc::ui::WifiHandlers::instance(), showToastError(), showToastSuccess(), showToastTask(), and tr().

Referenced by onWifiMainSelect().

◆ wifiSetup()

void cdc::ui::wifiSetup ( )
static

Starts Wi-Fi setup wizard flow.

Resets setup wizard state and begins network scan.

Definition at line 337 of file WifiMenuUi.cpp.

References cdc::ui::WifiHandlers::instance(), cdc::ui::WifiWizard::reset(), wifiStartScan(), and cdc::ui::WifiHandlers::wizard().

Referenced by onWifiMainSelect().

◆ wifiShowAuthMenu()

void cdc::ui::wifiShowAuthMenu ( )
static

Opens security/authentication selection menu.

Shows Wi-Fi authentication mode menu.

Definition at line 467 of file WifiMenuUi.cpp.

References cdc::ui::ViewStack::instance(), onWifiAuthSelect(), cdc::ui::ViewStack::push(), s_wifiAuthItems, s_wifiAuthLabels, s_wifiAuthMenu, tr(), and WIFI_AUTH_COUNT.

Referenced by onWifiScanSelect().

◆ wifiShowDetails()

void cdc::ui::wifiShowDetails ( )
static

Shows Wi-Fi details/info screen.

Builds and shows Wi-Fi status/details information view.

Definition at line 633 of file WifiMenuUi.cpp.

References cdc::hal::getWifiControllerInstance(), cdc::ui::WifiHandlers::instance(), s_wifiDetailsBuf, showInfo(), tr(), and WIFI_DETAILS_BUF_SIZE.

Referenced by onWifiMainSelect().

◆ wifiShowIpInputField()

void cdc::ui::wifiShowIpInputField ( const char * title,
char * target,
size_t targetSize,
T9InputView::SaveCallback onComplete )
static

Opens generic IP-related text input step.

Opens generic text input for one static-IP field.

Parameters
titleInput prompt title.
targetInitial field value.
targetSizeSize of target in bytes.
onCompleteCallback invoked with entered text.

Definition at line 565 of file WifiMenuUi.cpp.

References showT9Input().

Referenced by onWifiGatewayEntered(), onWifiIpModeSelect(), onWifiNetmaskEntered(), and onWifiStaticIpEntered().

◆ wifiShowIpModeMenu()

void cdc::ui::wifiShowIpModeMenu ( )
static

Opens IP mode selection menu (DHCP/static).

Shows DHCP/static IP selection menu.

Definition at line 527 of file WifiMenuUi.cpp.

References cdc::ui::ViewStack::instance(), onWifiIpModeSelect(), cdc::ui::ViewStack::push(), s_wifiIpItems, s_wifiIpMenu, tr(), WIFI_IP_COUNT, WIFI_IP_DHCP, and WIFI_IP_STATIC.

Referenced by onWifiAuthSelect(), onWifiPasswordEntered(), and onWifiScanSelect().

◆ wifiShowPasswordInput()

void cdc::ui::wifiShowPasswordInput ( )
static

Opens password input for selected network.

Opens password input view for non-open Wi-Fi networks.

Definition at line 510 of file WifiMenuUi.cpp.

References onWifiPasswordEntered(), showT9Input(), and tr().

Referenced by onWifiAuthSelect(), and onWifiScanSelect().

◆ wifiStartScan()

Variable Documentation

◆ actualSize

int cdc::ui::actualSize

Definition at line 38 of file QRCodeView.cpp.

◆ BATTERY_SAMPLE_INTERVAL_MS

uint32_t cdc::ui::BATTERY_SAMPLE_INTERVAL_MS = 30000
staticconstexpr

Definition at line 149 of file AppUi.cpp.

Referenced by updateBatteryIndicator().

◆ BLE_DEV_NAME_UUID

uint16_t cdc::ui::BLE_DEV_NAME_UUID = 0x2A00
staticconstexpr

Definition at line 334 of file BluetoothMenuUi.cpp.

Referenced by rOnServiceDiscovered().

◆ BLE_GAP_SVC_UUID

uint16_t cdc::ui::BLE_GAP_SVC_UUID = 0x1800
staticconstexpr

Definition at line 333 of file BluetoothMenuUi.cpp.

Referenced by bleResolveTick().

◆ BLE_MAX_BONDS

uint8_t cdc::ui::BLE_MAX_BONDS = hal::IBluetoothController::MAX_BONDED_DEVICES
staticconstexpr

Definition at line 39 of file BluetoothMenuUi.cpp.

Referenced by rebuildPairedList().

◆ BLE_MAX_SCAN_RESULTS

uint8_t cdc::ui::BLE_MAX_SCAN_RESULTS = hal::IBluetoothController::MAX_SCAN_RESULTS
staticconstexpr

Definition at line 38 of file BluetoothMenuUi.cpp.

Referenced by startBluetoothScan().

◆ BLE_RESOLVE_DEVICE_TIMEOUT_MS

uint32_t cdc::ui::BLE_RESOLVE_DEVICE_TIMEOUT_MS = 5000
staticconstexpr

Definition at line 335 of file BluetoothMenuUi.cpp.

Referenced by bleResolveTick().

◆ BLE_RESOLVE_SETTLE_TIMEOUT_MS

uint32_t cdc::ui::BLE_RESOLVE_SETTLE_TIMEOUT_MS = 800
staticconstexpr

Definition at line 336 of file BluetoothMenuUi.cpp.

Referenced by bleResolveTick().

◆ BLE_SCAN_TIMEOUT_MS

uint32_t cdc::ui::BLE_SCAN_TIMEOUT_MS = 8000
staticconstexpr

Definition at line 40 of file BluetoothMenuUi.cpp.

Referenced by startBluetoothScan().

◆ BLE_STATUS_BUF_SIZE

size_t cdc::ui::BLE_STATUS_BUF_SIZE = 256
staticconstexpr

PSRAM-backed text buffer used for BLE status details.

Definition at line 64 of file BluetoothMenuUi.cpp.

Referenced by showBluetoothStatus().

◆ BT_MENU_MAX_ITEMS

uint8_t cdc::ui::BT_MENU_MAX_ITEMS = 16
staticconstexpr

Definition at line 36 of file BluetoothMenuUi.cpp.

Referenced by rebuildBluetoothMenu().

◆ DEEP_SLEEP_HOLD_MS

uint32_t cdc::ui::DEEP_SLEEP_HOLD_MS = 5000
staticconstexpr

Definition at line 15 of file LockScreenView.h.

◆ display

◆ EXPERT_BOTTOM_COUNT

uint8_t cdc::ui::EXPERT_BOTTOM_COUNT = sizeof(kExpertBottom) / sizeof(kExpertBottom[0])
staticconstexpr

Definition at line 54 of file ExpertMenuUi.cpp.

Referenced by onExpertMenuSelect(), and rebuildExpertMenu().

◆ EXPERT_FIXED_COUNT

uint8_t cdc::ui::EXPERT_FIXED_COUNT = EXPERT_TOP_COUNT + EXPERT_BOTTOM_COUNT
staticconstexpr

Definition at line 55 of file ExpertMenuUi.cpp.

Referenced by rebuildExpertMenu().

◆ EXPERT_MAX_ITEMS

uint8_t cdc::ui::EXPERT_MAX_ITEMS = 16
staticconstexpr

Expert menu sizing constants.

Definition at line 26 of file ExpertMenuUi.cpp.

Referenced by rebuildExpertMenu().

◆ EXPERT_TOP_COUNT

uint8_t cdc::ui::EXPERT_TOP_COUNT = sizeof(kExpertTop) / sizeof(kExpertTop[0])
staticconstexpr

Definition at line 53 of file ExpertMenuUi.cpp.

Referenced by onExpertMenuSelect(), and rebuildExpertMenu().

◆ INACTIVITY_TIMEOUT_MS

uint32_t cdc::ui::INACTIVITY_TIMEOUT_MS = 5 * 60 * 1000
staticconstexpr

Definition at line 65 of file AppUi.cpp.

Referenced by ui_init().

◆ kExpertBottom

const FixedExpertEntry cdc::ui::kExpertBottom[]
static
Initial value:
= {
{"core.tr01_cache_rebuild", runTropicCacheRebuild},
{"core.tr01_cache_cleanup", runTropicCacheCleanup},
{"core.shipping_mode", enterShipModeMenu},
{"core.bootloader", rebootIntoBootloader},
}
static void runTropicCacheCleanup()
Cleans cached TROPIC metadata and reports operation result.
void rebootIntoBootloader()
Reboots the device into USB download (bootloader) mode.
static void runTropicCacheRebuild()
Rebuilds cached TROPIC metadata and reports operation result.
static void enterShipModeMenu()
Prompts to confirm ship-mode entry from the expert menu.

Definition at line 47 of file ExpertMenuUi.cpp.

Referenced by onExpertMenuSelect(), and rebuildExpertMenu().

◆ kExpertTop

const FixedExpertEntry cdc::ui::kExpertTop[]
static
Initial value:
= {
{"core.hardware_info", runSystemTest},
{"core.modules", showModulesView},
{"core.backup", showBackupMenu},
{"core.set_duress_pin", showDuressPinSetup},
}
void showDuressPinSetup()
Opens the duress / self-destruct PIN setup wizard.
Definition AppUi.cpp:389
void showModulesView()
Shows module management list view.
static void runSystemTest()
Opens hardware information/system-test screen.
void showBackupMenu()
Shows the Backup submenu (Export / Import / Delete).

Definition at line 41 of file ExpertMenuUi.cpp.

Referenced by onExpertMenuSelect(), and rebuildExpertMenu().

◆ KEY_DOWN

char cdc::ui::KEY_DOWN = '8'
staticconstexpr

◆ KEY_MENU

char cdc::ui::KEY_MENU = '3'
staticconstexpr

Open context menu / digit '3'.

Definition at line 47 of file KeyCodes.h.

Referenced by cdc::ui::InfoView::onKey(), cdc::ui::ListView::onKey(), and cdc::ui::LockScreenView::onKey().

◆ KEY_NO

◆ KEY_SELECT

char cdc::ui::KEY_SELECT = '5'
staticconstexpr

Center select / digit '5'.

Definition at line 38 of file KeyCodes.h.

◆ KEY_UP

char cdc::ui::KEY_UP = '2'
staticconstexpr

◆ KEY_YES

◆ kFontIdCount

uint8_t cdc::ui::kFontIdCount = 5
constexpr

Number of entries in the canonical font table.

Definition at line 24 of file Fonts.h.

Referenced by getGfxFont().

◆ kInvalidListener

BleListenerToken cdc::ui::kInvalidListener = hal::IBluetoothController::INVALID_LISTENER
staticconstexpr

Definition at line 358 of file BluetoothMenuUi.cpp.

Referenced by bleResolveStop().

◆ kToolsFixed

const FixedMenuEntry cdc::ui::kToolsFixed[]
static
Initial value:
= {
{"core.wifi_menu", nullptr, showWifiMainMenu},
{"core.bluetooth", toolsBluetoothIcon, showBluetoothMenu},
{"core.msg_beacon", nullptr, showBeaconMenu},
{"core.expert", nullptr, showExpertMenu},
}
void showBeaconMenu()
void showExpertMenu()
Shows expert menu and initial warning toast.
void showWifiMainMenu()
Shows top-level Wi-Fi menu and reloads stored configuration.
void showBluetoothMenu()
Shows top-level Bluetooth menu.
static uint8_t toolsBluetoothIcon()
Definition AppUi.cpp:479

Definition at line 484 of file AppUi.cpp.

Referenced by rebuildToolsMenu().

◆ LIGHT_SLEEP_TIMEOUT_MS

uint32_t cdc::ui::LIGHT_SLEEP_TIMEOUT_MS = 120 * 1000
staticconstexpr

Definition at line 17 of file SleepManager.h.

Referenced by cdc::ui::SleepManager::checkLockScreenSleep().

◆ MAIN_MENU_MAX_ITEMS

uint8_t cdc::ui::MAIN_MENU_MAX_ITEMS = 16
staticconstexpr

Menu sizing and inactivity timeout constants.

Definition at line 59 of file AppUi.cpp.

Referenced by rebuildMainMenu().

◆ MAX_CONTEXT_ITEMS

uint8_t cdc::ui::MAX_CONTEXT_ITEMS = 12
staticconstexpr

Storage for dynamic context-menu items contributed by modules.

Definition at line 267 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ MAX_LANGUAGES

uint16_t cdc::ui::MAX_LANGUAGES = 16
staticconstexpr

Upper bound on languages shown in the picker (English + overlay files).

Definition at line 82 of file AppUi.cpp.

Referenced by rebuildLanguageMenu().

◆ MAX_MODULE_CONTEXT_ITEMS

uint8_t cdc::ui::MAX_MODULE_CONTEXT_ITEMS = 7
staticconstexpr

Definition at line 273 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ MAX_PLUGIN_ITEMS

uint8_t cdc::ui::MAX_PLUGIN_ITEMS = 4
staticconstexpr

Definition at line 268 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ MAX_SLEEP_INHIBITORS

uint8_t cdc::ui::MAX_SLEEP_INHIBITORS = 8
staticconstexpr

Definition at line 20 of file SleepManager.h.

Referenced by cdc::ui::SleepManager::addSleepInhibitor().

◆ MODULES_VIEW_MAX

uint8_t cdc::ui::MODULES_VIEW_MAX = 16
staticconstexpr

Definition at line 27 of file ExpertMenuUi.cpp.

Referenced by rebuildModulesView().

◆ NTP_SYNC_TIMEOUT_MS

uint32_t cdc::ui::NTP_SYNC_TIMEOUT_MS = 10000
staticconstexpr

Definition at line 13 of file WifiHandlers.h.

Referenced by cdc::ui::WifiHandlers::syncNtp().

◆ offsetX

int cdc::ui::offsetX

Definition at line 35 of file QRCodeView.cpp.

◆ offsetY

int cdc::ui::offsetY

Definition at line 36 of file QRCodeView.cpp.

◆ s_antiBlockLockRequested

std::atomic<bool> cdc::ui::s_antiBlockLockRequested {false}
static

Definition at line 157 of file AppUi.cpp.

Referenced by ui_init(), and ui_process().

◆ s_blePendingMutex

SemaphoreHandle_t cdc::ui::s_blePendingMutex = nullptr
static

Definition at line 110 of file AppUi.cpp.

Referenced by onBleNumericComparison(), onBlePairingRequestEvent(), and ui_init().

◆ s_bleScanCount

uint8_t cdc::ui::s_bleScanCount = 0
static

◆ s_bleScanItems

ListItem cdc::ui::s_bleScanItems[BLE_MAX_SCAN_RESULTS]
static

Definition at line 51 of file BluetoothMenuUi.cpp.

Referenced by startBluetoothScan().

◆ s_bleScanResults

◆ s_bleScanView

ListView* cdc::ui::s_bleScanView = nullptr
static

BLE scan result list state.

Definition at line 50 of file BluetoothMenuUi.cpp.

Referenced by bleResolveTick(), and startBluetoothScan().

◆ s_bleStatusBuf

char cdc::ui::s_bleStatusBuf[BLE_STATUS_BUF_SIZE]
static

Definition at line 65 of file BluetoothMenuUi.cpp.

Referenced by showBluetoothStatus().

◆ s_bluetoothItems

ListItem cdc::ui::s_bluetoothItems[BT_MENU_MAX_ITEMS]
static

Definition at line 45 of file BluetoothMenuUi.cpp.

Referenced by rebuildBluetoothMenu().

◆ s_bluetoothMenu

ListView* cdc::ui::s_bluetoothMenu = nullptr
static

Bluetooth menu and scan state.

Definition at line 44 of file BluetoothMenuUi.cpp.

Referenced by rebuildBluetoothMenu(), and showBluetoothMenu().

◆ s_bluetoothModuleCount

uint8_t cdc::ui::s_bluetoothModuleCount = 0
static

Definition at line 47 of file BluetoothMenuUi.cpp.

Referenced by onBluetoothMenuSelect(), and rebuildBluetoothMenu().

◆ s_bluetoothModuleItems

core::ModuleMenuItem cdc::ui::s_bluetoothModuleItems[12]
static

Definition at line 46 of file BluetoothMenuUi.cpp.

Referenced by onBluetoothMenuSelect(), and rebuildBluetoothMenu().

◆ s_brightnessSlider

SliderView* cdc::ui::s_brightnessSlider = nullptr
static

Definition at line 90 of file AppUi.cpp.

Referenced by onSettingsSelect(), and ui_init().

◆ s_contextItems

ContextMenuItem cdc::ui::s_contextItems[MAX_CONTEXT_ITEMS]
static

Definition at line 274 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ s_dateInput

DateInputView* cdc::ui::s_dateInput = nullptr
static

Definition at line 94 of file AppUi.cpp.

Referenced by onSettingsSelect(), and ui_init().

◆ s_deps

UiDeps cdc::ui::s_deps = {}
static

Runtime dependencies provided during ui_init.

Definition at line 113 of file AppUi.cpp.

Referenced by clearKeypadBuffer(), onPinSuccess(), prepareForBootloaderReset(), ui_init(), ui_process(), updateBatteryIndicator(), and updatePowerStatusIcons().

◆ s_duressPinView

PinChangeView* cdc::ui::s_duressPinView = nullptr
static

Definition at line 97 of file AppUi.cpp.

Referenced by showDuressPinSetup(), and ui_init().

◆ s_evtConnected

volatile bool cdc::ui::s_evtConnected = false
static

Definition at line 349 of file BluetoothMenuUi.cpp.

Referenced by bleResolveClearEvents(), bleResolveTick(), and rOnConnect().

◆ s_evtConnHandle

volatile uint16_t cdc::ui::s_evtConnHandle = 0xFFFF
static

Definition at line 353 of file BluetoothMenuUi.cpp.

Referenced by bleResolveClearEvents(), bleResolveTick(), and rOnConnect().

◆ s_evtDisconnected

volatile bool cdc::ui::s_evtDisconnected = false
static

◆ s_evtDiscovered

volatile bool cdc::ui::s_evtDiscovered = false
static

◆ s_evtGotName

volatile bool cdc::ui::s_evtGotName = false
static

Definition at line 351 of file BluetoothMenuUi.cpp.

Referenced by bleResolveClearEvents(), bleResolveTick(), and rOnCharRead().

◆ s_evtNameHandle

volatile uint16_t cdc::ui::s_evtNameHandle = 0
static

◆ s_expertItems

ListItem cdc::ui::s_expertItems[EXPERT_MAX_ITEMS]
static

Definition at line 60 of file ExpertMenuUi.cpp.

Referenced by rebuildExpertMenu().

◆ s_expertMenu

ListView* cdc::ui::s_expertMenu = nullptr
static

Static view pointers and menu item storage for expert/module views.

Definition at line 59 of file ExpertMenuUi.cpp.

Referenced by rebuildExpertMenu(), and showExpertMenu().

◆ s_expertModuleCount

uint8_t cdc::ui::s_expertModuleCount = 0
static

Definition at line 62 of file ExpertMenuUi.cpp.

Referenced by onExpertMenuSelect(), and rebuildExpertMenu().

◆ s_expertModuleItems

core::ModuleMenuItem cdc::ui::s_expertModuleItems[EXPERT_MAX_ITEMS - EXPERT_FIXED_COUNT]
static

Definition at line 61 of file ExpertMenuUi.cpp.

Referenced by onExpertMenuSelect(), and rebuildExpertMenu().

◆ s_forgetTarget

hal::BleBondInfo cdc::ui::s_forgetTarget = {}
static

Definition at line 61 of file BluetoothMenuUi.cpp.

Referenced by onForgetConfirm(), and onPairedSelect().

◆ s_ignoreKeyUntilRelease

bool cdc::ui::s_ignoreKeyUntilRelease = false
static

Prevents stale key events directly after unlock transition.

Definition at line 153 of file AppUi.cpp.

Referenced by onInactivityTimeout(), onUnlockRequested(), performAntiBlockLock(), and ui_process().

◆ s_languageCodes

char cdc::ui::s_languageCodes[MAX_LANGUAGES][8]
static

Definition at line 130 of file AppUi.cpp.

Referenced by onLanguageSelect(), and rebuildLanguageMenu().

◆ s_languageCount

uint16_t cdc::ui::s_languageCount = 0
static

Definition at line 131 of file AppUi.cpp.

Referenced by onLanguageSelect(), and rebuildLanguageMenu().

◆ s_languageItems

ListItem cdc::ui::s_languageItems[MAX_LANGUAGES]
static

Language menu backing storage (filled dynamically from overlay files).

Definition at line 129 of file AppUi.cpp.

Referenced by rebuildLanguageMenu().

◆ s_languageMenu

ListView* cdc::ui::s_languageMenu = nullptr
static

Definition at line 93 of file AppUi.cpp.

Referenced by onSettingsSelect(), rebuildLanguageMenu(), and ui_init().

◆ s_lastBackgroundPlugin

bool cdc::ui::s_lastBackgroundPlugin = false
static

Definition at line 141 of file AppUi.cpp.

Referenced by updatePowerStatusIcons().

◆ s_lastBatteryPresent

bool cdc::ui::s_lastBatteryPresent = false
static

Definition at line 142 of file AppUi.cpp.

Referenced by updateBatteryIndicator().

◆ s_lastBatterySampleMs

uint32_t cdc::ui::s_lastBatterySampleMs = 0
static

Definition at line 150 of file AppUi.cpp.

Referenced by updateBatteryIndicator().

◆ s_lastBleEnabled

bool cdc::ui::s_lastBleEnabled = false
static

Definition at line 140 of file AppUi.cpp.

Referenced by updatePowerStatusIcons().

◆ s_lastCharging

bool cdc::ui::s_lastCharging = false
static

Definition at line 138 of file AppUi.cpp.

Referenced by ui_init(), and updatePowerStatusIcons().

◆ s_lastMinute

int8_t cdc::ui::s_lastMinute = -1
static

Last rendered minute for lock-screen clock throttling.

Definition at line 134 of file AppUi.cpp.

Referenced by ui_init(), and updateLockScreenClock().

◆ s_lastUsbConnected

bool cdc::ui::s_lastUsbConnected = false
static

Last known status-icon inputs to avoid redundant updates.

Definition at line 137 of file AppUi.cpp.

Referenced by ui_init(), and updatePowerStatusIcons().

◆ s_lastWifiConnected

bool cdc::ui::s_lastWifiConnected = false
static

Definition at line 139 of file AppUi.cpp.

Referenced by updatePowerStatusIcons().

◆ s_lockScreen

LockScreenView* cdc::ui::s_lockScreen = nullptr
static

◆ s_lockScreenInstance

LockScreenView* cdc::ui::s_lockScreenInstance = nullptr
static

Static lock-screen instance pointer for C-style callbacks.

Definition at line 190 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onEnter(), and onLightMenuCallback().

◆ s_mainMenu

ListView* cdc::ui::s_mainMenu = nullptr
static

Definition at line 87 of file AppUi.cpp.

Referenced by onPinSuccess(), rebuildMainMenu(), and ui_init().

◆ s_mainMenuItems

ListItem cdc::ui::s_mainMenuItems[MAIN_MENU_MAX_ITEMS]
static

Main-menu backing storage for module and fixed menu entries.

Definition at line 116 of file AppUi.cpp.

Referenced by rebuildMainMenu().

◆ s_mainMenuModuleItems

core::ModuleMenuItem cdc::ui::s_mainMenuModuleItems[MAIN_MENU_MAX_ITEMS]
static

Definition at line 117 of file AppUi.cpp.

Referenced by onMainMenuSelect(), and rebuildMainMenu().

◆ s_mainMenuPluginCount

uint8_t cdc::ui::s_mainMenuPluginCount = 0
static

◆ s_moduleCallbacks

void(*const cdc::ui::s_moduleCallbacks[])() ( )
static
Initial value:
= {
}
static void moduleContextCallback5()
Wrapper callback for module context item at index 5.
static void moduleContextCallback3()
Wrapper callback for module context item at index 3.
static void moduleContextCallback1()
Wrapper callback for module context item at index 1.
static void moduleContextCallback2()
Wrapper callback for module context item at index 2.
static void moduleContextCallback4()
Wrapper callback for module context item at index 4.
static void moduleContextCallback0()
Wrapper callback for module context item at index 0.
static void moduleContextCallback6()
Wrapper callback for module context item at index 6.

Definition at line 317 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ s_moduleContextCount

uint8_t cdc::ui::s_moduleContextCount = 0
static

Definition at line 276 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ s_moduleContextItems

◆ s_moduleLabels

char cdc::ui::s_moduleLabels[MODULES_VIEW_MAX][48]
static

Definition at line 66 of file ExpertMenuUi.cpp.

Referenced by rebuildModulesView().

◆ s_modulesItems

ListItem cdc::ui::s_modulesItems[MODULES_VIEW_MAX]
static

Definition at line 65 of file ExpertMenuUi.cpp.

Referenced by rebuildModulesView().

◆ s_modulesView

ListView* cdc::ui::s_modulesView = nullptr
static

Definition at line 64 of file ExpertMenuUi.cpp.

Referenced by rebuildModulesView(), and showModulesView().

◆ s_pairedBonds

hal::BleBondInfo cdc::ui::s_pairedBonds[BLE_MAX_BONDS]
static

Definition at line 58 of file BluetoothMenuUi.cpp.

Referenced by onPairedSelect(), and rebuildPairedList().

◆ s_pairedCount

uint8_t cdc::ui::s_pairedCount = 0
static

Definition at line 60 of file BluetoothMenuUi.cpp.

Referenced by onPairedSelect(), and rebuildPairedList().

◆ s_pairedItems

ListItem cdc::ui::s_pairedItems[BLE_MAX_BONDS]
static

Definition at line 57 of file BluetoothMenuUi.cpp.

Referenced by rebuildPairedList().

◆ s_pairedLabels

char cdc::ui::s_pairedLabels[BLE_MAX_BONDS][24]
static

Definition at line 59 of file BluetoothMenuUi.cpp.

Referenced by rebuildPairedList().

◆ s_pairedView

ListView* cdc::ui::s_pairedView = nullptr
static

Paired (bonded) device list state.

Definition at line 56 of file BluetoothMenuUi.cpp.

Referenced by rebuildPairedList(), and showPairedDevices().

◆ s_pairingPrompt

BlePairingPromptView* cdc::ui::s_pairingPrompt = nullptr
static

Definition at line 98 of file AppUi.cpp.

Referenced by onBlePairingRequestEvent().

◆ s_pendingPairing

PendingPairing cdc::ui::s_pendingPairing
static

Definition at line 109 of file AppUi.cpp.

Referenced by onBleNumericComparison(), and onBlePairingRequestEvent().

◆ s_pinChangeView

PinChangeView* cdc::ui::s_pinChangeView = nullptr
static

Definition at line 96 of file AppUi.cpp.

Referenced by onSettingsSelect(), and ui_init().

◆ s_pinEntry

PinEntryView* cdc::ui::s_pinEntry = nullptr
static

Definition at line 86 of file AppUi.cpp.

Referenced by onUnlockRequested(), and ui_init().

◆ s_pluginCallbacks

void(*const cdc::ui::s_pluginCallbacks[MAX_PLUGIN_ITEMS])() ( )
static
Initial value:
= {
}
static void pluginContextCallback1()
static void pluginContextCallback2()
static void pluginContextCallback0()
static void pluginContextCallback3()

Definition at line 341 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ s_pluginContextCount

uint8_t cdc::ui::s_pluginContextCount = 0
static

Definition at line 279 of file LockScreenView.cpp.

Referenced by cdc::ui::LockScreenView::onKey().

◆ s_pluginContextItems

◆ s_pluginListView

cdc::plugin_manager::PluginListView* cdc::ui::s_pluginListView = nullptr
static

Definition at line 99 of file AppUi.cpp.

Referenced by onMainMenuSelect().

◆ [struct]

struct { ... } cdc::ui::s_qrCtx

QR rendering context used by callback-driven rendering.

Referenced by qrDisplayCallback().

◆ s_resolveActive

bool cdc::ui::s_resolveActive = false
static

◆ s_resolveConn

uint16_t cdc::ui::s_resolveConn = 0xFFFF
static

◆ s_resolveDeviceStartMs

uint32_t cdc::ui::s_resolveDeviceStartMs = 0
static

Definition at line 345 of file BluetoothMenuUi.cpp.

Referenced by bleResolveBeginNext(), and bleResolveTick().

◆ s_resolveIndex

uint8_t cdc::ui::s_resolveIndex = 0
static

Definition at line 342 of file BluetoothMenuUi.cpp.

Referenced by bleResolveBeginNext(), bleResolveStart(), and bleResolveTick().

◆ s_resolveNameBuf

char cdc::ui::s_resolveNameBuf[32]
static

Definition at line 355 of file BluetoothMenuUi.cpp.

Referenced by bleResolveTick(), and rOnCharRead().

◆ s_resolveNameHandle

uint16_t cdc::ui::s_resolveNameHandle = 0
static

◆ s_resolvePhase

◆ s_resolveSettleStartMs

uint32_t cdc::ui::s_resolveSettleStartMs = 0
static

Definition at line 346 of file BluetoothMenuUi.cpp.

Referenced by bleResolveCleanupToSettle(), and bleResolveTick().

◆ s_settingsItems

ListItem cdc::ui::s_settingsItems[SETTINGS_IDX_COUNT]
static

Settings menu backing storage.

Definition at line 126 of file AppUi.cpp.

Referenced by rebuildMenuLabels(), and ui_init().

◆ s_settingsMenu

ListView* cdc::ui::s_settingsMenu = nullptr
static

Definition at line 89 of file AppUi.cpp.

Referenced by onMainMenuSelect(), rebuildMenuLabels(), and ui_init().

◆ s_sharedConfirm

ConfirmView cdc::ui::s_sharedConfirm
static

Convenience helper functions.

Definition at line 197 of file ConfirmView.cpp.

Referenced by showConfirm().

◆ s_sharedContextMenu

ContextMenuView cdc::ui::s_sharedContextMenu
static

Convenience helper functions.

Definition at line 274 of file ContextMenuView.cpp.

Referenced by showContextMenu().

◆ s_sharedInfoView

InfoView cdc::ui::s_sharedInfoView
static

Convenience factory/helper function.

Definition at line 301 of file InfoView.cpp.

Referenced by showInfo().

◆ s_sharedListView

ListView cdc::ui::s_sharedListView
static

Convenience factory/helper function.

Definition at line 427 of file ListView.cpp.

Referenced by showListView().

◆ s_sharedMessageBox

MessageBox cdc::ui::s_sharedMessageBox
static

Convenience helper functions.

Definition at line 201 of file MessageBox.cpp.

Referenced by showMessage().

◆ s_sharedPinEntry

PinEntryView cdc::ui::s_sharedPinEntry
static

Convenience factory/helper function.

Definition at line 313 of file PinEntryView.cpp.

Referenced by showPinEntry().

◆ s_sharedQRCodeView

QRCodeView cdc::ui::s_sharedQRCodeView
static

Convenience factory/helper function.

Definition at line 342 of file QRCodeView.cpp.

Referenced by showQRCode().

◆ s_sharedSlider

SliderView cdc::ui::s_sharedSlider
static

Convenience factory/helper function.

Definition at line 263 of file SliderView.cpp.

Referenced by showSlider().

◆ s_sharedT9Input

T9InputView cdc::ui::s_sharedT9Input
static

Convenience factory/helper function.

Definition at line 381 of file T9InputView.cpp.

Referenced by showT9Input().

◆ s_sharedToast

ToastView cdc::ui::s_sharedToast
static

Convenience helper functions.

Definition at line 202 of file ToastView.cpp.

Referenced by showToastInternal().

◆ s_sleepSlider

SliderView* cdc::ui::s_sleepSlider = nullptr
static

Definition at line 91 of file AppUi.cpp.

Referenced by onSettingsSelect(), and ui_init().

◆ s_timeInput

TimeInputView* cdc::ui::s_timeInput = nullptr
static

Definition at line 95 of file AppUi.cpp.

Referenced by onSettingsSelect(), and ui_init().

◆ s_timezoneSlider

SliderView* cdc::ui::s_timezoneSlider = nullptr
static

Definition at line 92 of file AppUi.cpp.

Referenced by onSettingsSelect(), and ui_init().

◆ s_tokResConn

BleListenerToken cdc::ui::s_tokResConn = kInvalidListener
static

Definition at line 359 of file BluetoothMenuUi.cpp.

Referenced by bleResolveStart(), and bleResolveStop().

◆ s_tokResDisc

BleListenerToken cdc::ui::s_tokResDisc = kInvalidListener
static

Definition at line 360 of file BluetoothMenuUi.cpp.

Referenced by bleResolveStart(), and bleResolveStop().

◆ s_tokResRead

BleListenerToken cdc::ui::s_tokResRead = kInvalidListener
static

Definition at line 362 of file BluetoothMenuUi.cpp.

Referenced by bleResolveStart(), and bleResolveStop().

◆ s_tokResSvc

BleListenerToken cdc::ui::s_tokResSvc = kInvalidListener
static

Definition at line 361 of file BluetoothMenuUi.cpp.

Referenced by bleResolveStart(), and bleResolveStop().

◆ s_toolsItems

ListItem cdc::ui::s_toolsItems[TOOLS_MAX_ITEMS]
static

Tools-menu backing storage for fixed and module entries.

Definition at line 121 of file AppUi.cpp.

Referenced by rebuildToolsMenu().

◆ s_toolsMenu

ListView* cdc::ui::s_toolsMenu = nullptr
static

Definition at line 88 of file AppUi.cpp.

Referenced by onMainMenuSelect(), rebuildToolsMenu(), and ui_init().

◆ s_toolsModuleCount

uint8_t cdc::ui::s_toolsModuleCount = 0
static

Definition at line 123 of file AppUi.cpp.

Referenced by onToolsSelect(), and rebuildToolsMenu().

◆ s_toolsModuleItems

core::ModuleMenuItem cdc::ui::s_toolsModuleItems[TOOLS_MAX_ITEMS]
static

Definition at line 122 of file AppUi.cpp.

Referenced by onToolsSelect(), and rebuildToolsMenu().

◆ s_wifiAuthItems

ListItem cdc::ui::s_wifiAuthItems[WIFI_AUTH_COUNT]
static

Definition at line 73 of file WifiMenuUi.cpp.

Referenced by wifiShowAuthMenu().

◆ s_wifiAuthLabels

const char* cdc::ui::s_wifiAuthLabels[WIFI_AUTH_COUNT]
static
Initial value:
= {
"WPA2", "WPA/WPA2", "WPA3", "WPA", "Open", "WEP"
}

Definition at line 79 of file WifiMenuUi.cpp.

Referenced by wifiShowAuthMenu().

◆ s_wifiAuthMenu

ListView* cdc::ui::s_wifiAuthMenu = nullptr
static

Definition at line 67 of file WifiMenuUi.cpp.

Referenced by wifiShowAuthMenu().

◆ s_wifiDetailsBuf

char cdc::ui::s_wifiDetailsBuf[WIFI_DETAILS_BUF_SIZE]
static

Definition at line 85 of file WifiMenuUi.cpp.

Referenced by wifiShowDetails().

◆ s_wifiIpItems

ListItem cdc::ui::s_wifiIpItems[WIFI_IP_COUNT]
static

Definition at line 74 of file WifiMenuUi.cpp.

Referenced by wifiShowIpModeMenu().

◆ s_wifiIpMenu

ListView* cdc::ui::s_wifiIpMenu = nullptr
static

Definition at line 68 of file WifiMenuUi.cpp.

Referenced by wifiShowIpModeMenu().

◆ s_wifiMainItems

ListItem cdc::ui::s_wifiMainItems[WIFI_MENU_MAX_ITEMS]
static

Definition at line 70 of file WifiMenuUi.cpp.

Referenced by rebuildWifiMainMenu().

◆ s_wifiMainMenu

ListView* cdc::ui::s_wifiMainMenu = nullptr
static

Definition at line 65 of file WifiMenuUi.cpp.

Referenced by rebuildWifiMainMenu(), showWifiMainMenu(), and wifiFinishSetup().

◆ s_wifiManualLabel

char cdc::ui::s_wifiManualLabel[48]
static

Definition at line 76 of file WifiMenuUi.cpp.

Referenced by wifiStartScan().

◆ s_wifiModuleCount

uint8_t cdc::ui::s_wifiModuleCount = 0
static

Definition at line 72 of file WifiMenuUi.cpp.

Referenced by onWifiMainSelect(), and rebuildWifiMainMenu().

◆ s_wifiModuleItems

core::ModuleMenuItem cdc::ui::s_wifiModuleItems[12]
static

Definition at line 71 of file WifiMenuUi.cpp.

Referenced by onWifiMainSelect(), and rebuildWifiMainMenu().

◆ s_wifiScanCount

uint8_t cdc::ui::s_wifiScanCount = 0
static

Definition at line 78 of file WifiMenuUi.cpp.

Referenced by sortWifiScanResults(), and wifiStartScan().

◆ s_wifiScanItems

ListItem cdc::ui::s_wifiScanItems[WIFI_MAX_NETWORKS+1]
static

Definition at line 75 of file WifiMenuUi.cpp.

Referenced by wifiStartScan().

◆ s_wifiScanResults

WifiItem cdc::ui::s_wifiScanResults[WIFI_MAX_NETWORKS]
static

Definition at line 77 of file WifiMenuUi.cpp.

Referenced by sortWifiScanResults(), and wifiStartScan().

◆ s_wifiScanView

ListView* cdc::ui::s_wifiScanView = nullptr
static

Definition at line 66 of file WifiMenuUi.cpp.

Referenced by wifiStartScan().

◆ scale

int cdc::ui::scale

Definition at line 37 of file QRCodeView.cpp.

Referenced by qrDisplayCallback().

◆ sizingPass

bool cdc::ui::sizingPass

Definition at line 39 of file QRCodeView.cpp.

◆ TAG [1/2]

◆ TAG [2/2]

const char* cdc::ui::TAG = "I18n"
static

Definition at line 30 of file I18n.cpp.

◆ TEXT_MARGIN

int cdc::ui::TEXT_MARGIN = 10
staticconstexpr

◆ TEXT_Y

int cdc::ui::TEXT_Y = 50
staticconstexpr

◆ TITLE_Y

◆ TOAST_DURATION_LONG_MS

uint32_t cdc::ui::TOAST_DURATION_LONG_MS = 2500
staticconstexpr

Definition at line 30 of file AppUiInternal.h.

Referenced by onModuleErrorEvent(), and wifiConnect().

◆ TOAST_DURATION_MEDIUM_MS

uint32_t cdc::ui::TOAST_DURATION_MEDIUM_MS = 1500
staticconstexpr

◆ TOAST_DURATION_SHORT_MS

uint32_t cdc::ui::TOAST_DURATION_SHORT_MS = 1000
staticconstexpr

Definition at line 28 of file AppUiInternal.h.

Referenced by onModuleRetryConfirm().

◆ TOOLS_FIXED_COUNT

uint8_t cdc::ui::TOOLS_FIXED_COUNT
staticconstexpr
Initial value:
=
static_cast<uint8_t>(sizeof(kToolsFixed) / sizeof(kToolsFixed[0]))
static const FixedMenuEntry kToolsFixed[]
Definition AppUi.cpp:484

Definition at line 490 of file AppUi.cpp.

Referenced by onToolsSelect(), and rebuildToolsMenu().

◆ TOOLS_MAX_ITEMS

uint8_t cdc::ui::TOOLS_MAX_ITEMS = 16
staticconstexpr

Definition at line 63 of file AppUi.cpp.

Referenced by rebuildToolsMenu().

◆ WIFI_CONNECT_TIMEOUT_DEFAULT_MS

uint32_t cdc::ui::WIFI_CONNECT_TIMEOUT_DEFAULT_MS = 15000
staticconstexpr

Definition at line 9 of file WifiHandlers.h.

Referenced by cdc::ui::WifiHandlers::getConnectTimeoutMs().

◆ WIFI_CONNECT_TIMEOUT_MAX_MS

uint32_t cdc::ui::WIFI_CONNECT_TIMEOUT_MAX_MS = 60000
staticconstexpr

◆ WIFI_CONNECT_TIMEOUT_MIN_MS

uint32_t cdc::ui::WIFI_CONNECT_TIMEOUT_MIN_MS = 3000
staticconstexpr

◆ WIFI_DETAILS_BUF_SIZE

size_t cdc::ui::WIFI_DETAILS_BUF_SIZE = 512
staticconstexpr

PSRAM-backed text buffer used for Wi-Fi details view.

Definition at line 84 of file WifiMenuUi.cpp.

Referenced by wifiShowDetails().

◆ WIFI_MAX_NETWORKS

uint8_t cdc::ui::WIFI_MAX_NETWORKS = hal::IWifiController::MAX_SCAN_RESULTS
staticconstexpr

Wi-Fi menu size limits.

Definition at line 26 of file WifiMenuUi.cpp.

Referenced by wifiStartScan().

◆ WIFI_MENU_FIXED_COUNT

uint8_t cdc::ui::WIFI_MENU_FIXED_COUNT = WIFI_IDX_COUNT
staticconstexpr

Static view pointers and wizard/scan state.

Definition at line 64 of file WifiMenuUi.cpp.

Referenced by onWifiMainSelect(), and rebuildWifiMainMenu().

◆ WIFI_MENU_MAX_ITEMS

uint8_t cdc::ui::WIFI_MENU_MAX_ITEMS = 16
staticconstexpr

Definition at line 27 of file WifiMenuUi.cpp.

Referenced by rebuildWifiMainMenu().

◆ WIFI_SCAN_TIMEOUT_MS

uint32_t cdc::ui::WIFI_SCAN_TIMEOUT_MS = 10000
staticconstexpr

Definition at line 12 of file WifiHandlers.h.

Referenced by cdc::serial::cmdWifiScan(), and wifiStartScan().