Project_SylDa/docs/superpowers/specs/2026-08-01-hs-s43a-touch-migration-design.md

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.