Move all communication from USB to BLE. The device now advertises as "Claude Controller" and acts as both a BLE HID keyboard (for touch gestures) and a GATT data server (for usage updates from the daemon). - Add NimBLE-Arduino BLE module with custom GATT service + HID keyboard - Add third screen (Bluetooth) with connection status, MAC, reset button - Rewrite daemon in bash using bluetoothctl/busctl for BLE GATT writes - Add screenshot capture via LVGL snapshot over serial - Remove TinyUSB mode — normal pio upload works again - Update README with BLE architecture, screenshots, gesture docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
45 lines
1.1 KiB
INI
45 lines
1.1 KiB
INI
[env:sc01plus]
|
|
platform = espressif32
|
|
board = esp32-s3-devkitc-1
|
|
framework = arduino
|
|
upload_speed = 921600
|
|
monitor_speed = 115200
|
|
|
|
build_flags =
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
; HID is via BLE now, no TinyUSB needed — normal pio upload works
|
|
-DBOARD_HAS_PSRAM
|
|
; NimBLE config — peripheral-only, single connection
|
|
-DCONFIG_BT_NIMBLE_ROLE_BROADCASTER=1
|
|
-DCONFIG_BT_NIMBLE_ROLE_PERIPHERAL=1
|
|
-DCONFIG_BT_NIMBLE_ROLE_CENTRAL=0
|
|
-DCONFIG_BT_NIMBLE_ROLE_OBSERVER=0
|
|
-DCONFIG_BT_NIMBLE_MAX_CONNECTIONS=1
|
|
; LVGL config via build flags
|
|
-DLV_CONF_SKIP
|
|
-DLV_COLOR_DEPTH=16
|
|
-DLV_USE_LOG=0
|
|
-DLV_FONT_MONTSERRAT_12=1
|
|
-DLV_FONT_MONTSERRAT_14=1
|
|
-DLV_FONT_MONTSERRAT_16=1
|
|
-DLV_FONT_MONTSERRAT_20=1
|
|
-DLV_FONT_MONTSERRAT_24=1
|
|
-DLV_FONT_MONTSERRAT_28=1
|
|
-DLV_USE_BAR=1
|
|
-DLV_USE_LABEL=1
|
|
-DLV_USE_ARC=1
|
|
-DLV_USE_BTN=1
|
|
-DLV_USE_LINE=1
|
|
-DLV_USE_OBJ=1
|
|
-DLV_USE_IMG=1
|
|
-DLV_USE_IMAGE=1
|
|
-DLV_USE_ANIMIMG=0
|
|
-DLV_TICK_CUSTOM=1
|
|
-DLV_USE_SNAPSHOT=1
|
|
|
|
lib_deps =
|
|
lovyan03/LovyanGFX@^1.1.16
|
|
lvgl/lvgl@^9.2.0
|
|
bblanchon/ArduinoJson@^7.0.0
|
|
h2zero/NimBLE-Arduino@^2.1.1
|