upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/TOUCH_WIFI_SETUP_PLAN.md
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-18 22:55:37 +0530
committerYour Name <you@example.com>2026-05-18 22:55:37 +0530
commit46e7dabaf80333ca045061ff480377a4186e5deb (patch)
tree06bd62bed43e15c432cc27faf20993a50d7c3cee /TOUCH_WIFI_SETUP_PLAN.md
parenteb2ae72d91a4b2ec0333a2e6d18eeeeee6b60464 (diff)
feat: integrate touchscreen WiFi setup into display UI
- Add DISPLAY_WIFI_SETUP state with full rendering pipeline - Touch init on display_init(), touch polling in display task - WiFi scan triggered on setup entry, sorted AP list - On-screen keyboard for password entry - Connect result via WiFi event notifications - Setup button on READY and ERROR screens - Auto-enter WiFi setup on first boot with no credentials - Save new WiFi credentials to SPIFFS config.json
Diffstat (limited to 'TOUCH_WIFI_SETUP_PLAN.md')
-rw-r--r--TOUCH_WIFI_SETUP_PLAN.md32
1 files changed, 16 insertions, 16 deletions
diff --git a/TOUCH_WIFI_SETUP_PLAN.md b/TOUCH_WIFI_SETUP_PLAN.md
index afbc0b3..f441138 100644
--- a/TOUCH_WIFI_SETUP_PLAN.md
+++ b/TOUCH_WIFI_SETUP_PLAN.md
@@ -67,26 +67,26 @@ Add `DISPLAY_WIFI_SETUP` to `display_state_t`.
67## Implementation Checklist 67## Implementation Checklist
68 68
69### Phase 1: Touch Driver 69### Phase 1: Touch Driver
70- [ ] Create `main/touch.h` with API 70- [x] Create `main/touch.h` with API
71- [ ] Create `main/touch.c` with ESP-IDF I2C v5 implementation 71- [x] Create `main/touch.c` with ESP-IDF I2C v5 implementation
72- [ ] Create `tests/unit/test_touch.c` with coordinate parsing tests 72- [x] Create `tests/unit/test_touch.c` with coordinate parsing tests
73- [ ] Run `make test-unit`, verify all pass 73- [x] Run `make test-unit`, verify all pass
74 74
75### Phase 2: On-Screen Keyboard 75### Phase 2: On-Screen Keyboard
76- [ ] Create `main/keyboard.h` with API 76- [x] Create `main/keyboard.h` with API
77- [ ] Create `main/keyboard.c` with QWERTY layout + hit detection 77- [x] Create `main/keyboard.c` with QWERTY layout + hit detection
78- [ ] Create `tests/unit/test_keyboard.c` with layout + key lookup tests 78- [x] Create `tests/unit/test_keyboard.c` with layout + key lookup tests
79- [ ] Run `make test-unit`, verify all pass 79- [x] Run `make test-unit`, verify all pass
80 80
81### Phase 3: WiFi Setup Flow 81### Phase 3: WiFi Setup Flow
82- [ ] Create `main/wifi_setup.h` with API 82- [x] Create `main/wifi_setup.h` with API
83- [ ] Create `main/wifi_setup.c` with scan/list/connect state machine 83- [x] Create `main/wifi_setup.c` with scan/list/connect state machine
84- [ ] Add `tollgate_config_add_wifi()` to config.c + config.h 84- [x] Add `tollgate_config_add_wifi()` to config.c + config.h
85- [ ] Create `tests/unit/test_wifi_setup.c` with state machine tests 85- [x] Create `tests/unit/test_wifi_setup.c` with state machine tests
86- [ ] Run `make test-unit`, verify all pass 86- [x] Run `make test-unit`, verify all pass
87 87
88### Phase 4: Integration 88### Phase 4: Integration
89- [ ] Add `DISPLAY_WIFI_SETUP` to display.h 89- [x] Add `DISPLAY_WIFI_SETUP` to display.h
90- [ ] Update display.c with WiFi setup rendering + touch input 90- [x] Update display.c with WiFi setup rendering + touch input
91- [ ] Update `main/CMakeLists.txt` with new source files 91- [x] Update `main/CMakeLists.txt` with new source files
92- [ ] Build, flash to Board C, verify full flow 92- [ ] Build, flash to Board C, verify full flow