ESP-IDF 5.5 + LVGL 9 firmware that plays random public cameras from insecam.org on the T-Embed's 320x170 screen, live MJPEG where available, a new camera every 20 seconds. Knob steps through cameras, LED ring shows the countdown. Auto-detects the original vs CC1101 board, reuses Wi-Fi credentials from NVS and falls back to a captive-portal setup hotspot.
19 lines
612 B
C
19 lines
612 B
C
#pragma once
|
|
#include <stdbool.h>
|
|
|
|
typedef enum {
|
|
INPUT_NONE = 0,
|
|
INPUT_CW, // knob turned clockwise: next camera
|
|
INPUT_CCW, // counter-clockwise: previous camera
|
|
INPUT_CLICK, // pause / resume
|
|
INPUT_DOUBLE, // toggle overlay
|
|
INPUT_LONG, // long press: reserved (currently toggles overlay too)
|
|
INPUT_KEY, // extra key on the CC1101 board
|
|
} input_event_t;
|
|
|
|
void input_init(void);
|
|
// Non-blocking; returns INPUT_NONE when nothing is queued.
|
|
input_event_t input_poll(void);
|
|
// Blocks up to timeout_ms.
|
|
input_event_t input_wait(int timeout_ms);
|