2.9 KiB
Design: Touch sensor HS-S43A migratie + S3R referenties opruimen
Issue: #5 — Verwijder internal pullups voor touch sensors Datum: 2026-08-01
Aanleiding
De touch sensoren zijn vervangen van JR223B (open collector/drain, heeft pullup nodig) naar HS-S43A (digitale output 0/1, actief = HIGH, geen pullup). Daarnaast bevat de documentatie verouderde verwijzingen naar "Atom S3R Voice" — de hardware is inmiddels M5Stack Atom S3 Lite (board esp32-s3-devkitc-1).
Wijzigingen
1. Firmware: pullup verwijderen + schakellogica inverteren
Beide firmwares hebben identiek patroon, 2 regels per file:
| Bestand | Locatie | Huidig | Nieuw |
|---|---|---|---|
src/main.cpp |
pinMode(TOUCH1/2_PIN, ...) |
INPUT_PULLUP |
INPUT |
src/main.cpp |
digitalRead(TOUCH1/2_PIN) == LOW |
== LOW |
== HIGH |
src/client.cpp |
pinMode(TOUCH1/2_PIN, ...) |
INPUT_PULLUP |
INPUT |
src/client.cpp |
digitalRead(TOUCH1/2_PIN) == LOW |
== LOW |
== HIGH |
Rationale: JR223B met pullup → normaal HIGH, aanraking trekt naar LOW. HS-S43A → actieve digitale output, aanraking = HIGH.
Debounce (DEBOUNCE_MS=50) blijft ongewijzigd — HS-S43A is stabieler, bestaande debounce is ruim voldoende.
2. Documentatie: S3R → S3 Lite
Alle 27 verwijzingen naar "S3R", "AtomS3R", "Atom VoiceS3R", "Atom S3R Voice", "m5stack-atoms3r" in 8 bestanden:
| Bestand | Aanpassing |
|---|---|
AGENTS.md |
Board: S3R Voice → S3 Lite. Flash commando pad: m5stack-atoms3r → s3lite-server. Touch: G8+pullup → G8, G6+pullup → G6 |
README.md |
Board spec, serial banner, pin-doc: S3R → S3 Lite |
.forgejo/workflows/ci.yml |
Build output pad: m5stack-atoms3r → s3lite-server |
tools/copy_firmware.sh |
Build output pad: m5stack-atoms3r → s3lite-server |
docs/superpowers/specs/2026-07-28-esp32-pico-d4-port-design.md |
Contextuele S3R verwijzingen — doel/resultaat beschrijvingen intact laten, alleen boardnaam corrigeren |
docs/superpowers/plans/2025-07-31-sylda-nimble-hmac-plan.md |
1 match: comment over S3R pinmap |
docs/superpowers/plans/2026-07-30-ble-ota.md |
Build output pad: m5stack-atoms3r → s3lite-server |
docs/superpowers/plans/2025-07-28-esp32-pico-d4-port.md |
Meerdere referenties naar S3R — historische context behouden, boardnaam corrigeren |
docs/superpowers/plans/2026-07-28-esp32-pico-d4-port.md |
Build output pad + serial banner referenties |
3. Risico's
- Geen rollback zonder herflashen — na flashen werkt JR223B niet meer.
- Beide devices flashen — server + client(s) moeten gesynchroniseerd zijn.
- Geen runtime-switch tussen sensortypes — YAGNI.
Niet in scope
- Geen wijzigingen aan BLE-protocol, HMAC, OTA, of Android app.
- Geen configuratie-mechanisme voor sensortype.