Commit graph

183 commits

Author SHA1 Message Date
eddy
d952730566 fix(workflow): match signing.properties keys with build.gradle
All checks were successful
CI / firmware (push) Successful in 1m24s
CI / android (push) Successful in 14s
Release / build (push) Successful in 1m44s
2026-08-03 14:47:16 +02:00
eddy
edd391620a fix(workflow): create keystore dir before decoding
Some checks failed
CI / firmware (push) Successful in 1m32s
Release / build (push) Failing after 1m24s
CI / android (push) Successful in 21s
2026-08-03 14:43:00 +02:00
eddy
e4c80d4955 fix(release): replace missing forgejo-release action with direct Forgejo API calls
Some checks failed
CI / firmware (push) Successful in 58s
CI / android (push) Successful in 51s
Release / build (push) Failing after 1m17s
The forgejo-release@v1 action was never published to the Forgejo
packages registry, causing the release workflow to fail with a 404
when cloning the action. Replace it with curl calls to the Forgejo
API: POST /releases to create the release, then POST /assets for
each artifact file.
2026-08-03 14:24:21 +02:00
eddy
8b2dfcbfd0 Add app icon from icon.png (all densities)
All checks were successful
CI / firmware (push) Successful in 1m16s
CI / android (push) Successful in 5s
2026-08-02 21:37:05 +02:00
eddy
d0cf506fbe Release v1.1: server=17 client=3
Some checks failed
CI / firmware (push) Successful in 1m23s
CI / android (push) Successful in 5s
Release / build (push) Failing after 1s
2026-08-02 21:31:25 +02:00
68aec28fe2 Merge pull request 'Scan on service UUID instead of device name (issue #10)' (#14) from fix/issue-10-ble-scan-service-uuid into main
All checks were successful
CI / firmware (push) Successful in 1m11s
CI / android (push) Successful in 5s
2026-08-02 21:28:00 +02:00
eddy
7bdd50b16e Scan on service UUID instead of device name (issue #10)
All checks were successful
CI / firmware (pull_request) Successful in 1m16s
CI / android (pull_request) Successful in 5s
- Replace name-based scan filter (getName() == 'SylDa_Server') with
  isAdvertisingService(SERVICE_UUID) to prevent BLE name spoofing
- Post-connect UUID verification via UUID_CHAR_UUID was already in place
- Update log messages to reflect service-UUID-based scanning
2026-08-02 21:27:19 +02:00
eddy
faa4011fd1 Skip auto-detect when UPLOAD_PORT already set via CLI or config
All checks were successful
CI / firmware (push) Successful in 1m11s
CI / android (push) Successful in 5s
2026-08-02 21:23:44 +02:00
87eefe4a3c Merge pull request 'Auto-detect upload port via ID? serial query (issue #11)' (#13) from fix/issue-11-portable-upload-port into main
All checks were successful
CI / firmware (push) Successful in 1m27s
CI / android (push) Successful in 6s
2026-08-02 21:19:04 +02:00
eddy
bf6619aa54 Auto-detect upload port via ID? serial query (issue #11)
All checks were successful
CI / firmware (pull_request) Successful in 1m22s
CI / android (pull_request) Successful in 7s
- Add ID? command to firmware: server responds 'SylDa_Server', client 'SylDa_Client'
- Add tools/pio_upload_port.py POST-script that queries connected ESP32s
- Remove hardcoded upload_port from platformio.ini
- Script logic: 1 ESP32 → use directly, 2+ → ID? query, no match → prompt user
- Requires pyserial for serial queries (graceful fallback if missing)
2026-08-02 21:18:26 +02:00
f8d4e96241 Merge pull request 'Replace Serial.* logging with ESP_LOG* macros (issue #8)' (#12) from fix/issue-8-cleanup-logging into main
All checks were successful
CI / firmware (push) Successful in 1m12s
CI / android (push) Successful in 7s
2026-08-02 20:57:40 +02:00
eddy
4aa2a750d9 Review fixes: Serial ERROR→ESP_LOGE, heartbeat→ESP_LOGD
All checks were successful
CI / firmware (pull_request) Successful in 1m26s
CI / android (pull_request) Successful in 5s
- Replace remaining Serial.println("ERROR:...") with ESP_LOGE in client.cpp
- Add Serial.println("ERROR") for protocol response where needed
- Downgrade heartbeat from ESP_LOGI to ESP_LOGD (not needed in production)
2026-08-02 20:56:37 +02:00
eddy
32489fbabb Replace Serial.* logging with ESP_LOG* macros (issue #8)
All checks were successful
CI / firmware (pull_request) Successful in 1m21s
CI / android (pull_request) Successful in 7s
- Convert all Serial.println/printf debug logging to ESP_LOGE/W/I/D
- Add TAG-based log identification (server/client)
- Lower CORE_DEBUG_LEVEL from 5 to 3 for production
- Keep Serial.printf for USB serial protocol commands (KEY?, VERSION?, etc.)
2026-08-02 20:51:21 +02:00
eddy
0261c73746 docs: update README — LED signaling, dual-target, BLE spoofing issue, version.txt
All checks were successful
CI / firmware (push) Successful in 1m4s
CI / android (push) Successful in 6s
2026-08-02 20:34:42 +02:00
eddy
1d4991f77f Merge PR #9: LED uniforme signalering, uit na 60s stabiele verbinding (fixes #4)
All checks were successful
CI / firmware (push) Successful in 1m5s
CI / android (push) Successful in 9s
2026-08-02 20:20:50 +02:00
eddy
95f440eec8 fix: relay buttons always enabled, touch sensor inversion, version bump
All checks were successful
CI / firmware (pull_request) Successful in 1m19s
CI / android (pull_request) Successful in 9s
- MainActivity: remove isServer check — relay buttons always enabled when
  connected, regardless of device mode (fixes silently broken buttons when
  device mode accidentally set to 'client')
- client.cpp: invert HS-S43A touch sensor readings (!tActive) — sensors
  are active LOW
- build.gradle: bump versionCode 2, versionName 1.1
- platformio.ini: use stable by-id port for server ESP32
- firmware/*.bin: rebuilt with LED signaling and touch fixes
2026-08-02 20:12:07 +02:00
eddy
84e6ca8100 fix(server): defer 0xFF OTA confirm to fix race condition
All checks were successful
CI / firmware (pull_request) Successful in 1m4s
CI / android (pull_request) Successful in 8s
2026-08-02 18:42:07 +02:00
eddy
5fe5879873 docs: document version.txt as single source of truth for firmware versions
All checks were successful
CI / firmware (pull_request) Successful in 1m4s
CI / android (pull_request) Successful in 11s
2026-08-02 18:30:22 +02:00
eddy
b233ba0ac4 chore: bump versions to server v16, client v2 2026-08-02 18:29:10 +02:00
eddy
6d027fd35b chore: bump server v16, client v2
All checks were successful
CI / firmware (pull_request) Successful in 1m1s
CI / android (pull_request) Successful in 48s
2026-08-02 18:21:05 +02:00
eddy
ebaaa8cc4b feat(client): uniform LED signaling — off after 60s stable connection 2026-08-02 18:20:55 +02:00
eddy
d9ac8a578b feat(server): uniform LED signaling — off after 60s stable connection 2026-08-02 18:20:30 +02:00
eddy
ff99fe0a90 docs: LED stable connection implementation plan (#4) 2026-08-02 18:19:20 +02:00
eddy
bb9701dac5 docs: LED stable connection design spec (#4) 2026-08-02 18:15:09 +02:00
eddy
0bf2dcd00f Merge fix/issue-5-hs-s43a-s3r-cleanup: HS-S43A touch migration + S3R cleanup (closes #5)
All checks were successful
CI / firmware (push) Successful in 1m18s
CI / android (push) Successful in 14s
2026-08-02 00:54:12 +02:00
eddy
109088cf52 Merge branch 'fix/issue-5-hs-s43a-s3r-cleanup' 2026-08-02 00:53:03 +02:00
eddy
b192c26ff6 Merge fix/issue-1-ota-ack: OTA confirm protocol, version 15
Some checks failed
CI / firmware (push) Failing after 58s
CI / android (push) Has been skipped
2026-08-02 00:48:32 +02:00
eddy
516a938c7b fix: OTA wait for 0xFF confirm before reboot, version bump to 15, improved logging 2026-08-02 00:48:28 +02:00
eddy
f74a4a5420 fix: Android send 0xFF reboot confirmation after OTA COMPLETE (closes #1)
Some checks failed
CI / firmware (pull_request) Failing after 1m13s
CI / android (pull_request) Has been skipped
2026-08-01 23:14:29 +02:00
eddy
e5bb09e96e docs: purge remaining S3R references from historical docs and handleiding
All checks were successful
CI / firmware (pull_request) Successful in 1m20s
CI / android (pull_request) Successful in 13s
2026-08-01 22:57:40 +02:00
eddy
81779b6834 docs: purge S3R references from historical design docs and plans 2026-08-01 22:56:18 +02:00
eddy
23562352f6 fix: update build paths m5stack-atoms3r → s3lite-server 2026-08-01 22:55:30 +02:00
eddy
0860be0e2b docs: update README for S3 Lite + HS-S43A, remove S3R references 2026-08-01 22:55:19 +02:00
eddy
165822735c docs: update AGENTS.md for S3 Lite + HS-S43A touch sensors 2026-08-01 22:54:54 +02:00
eddy
5bb87ed4a4 fix: remove pullups, invert touch logic for HS-S43A sensors 2026-08-01 22:54:31 +02:00
eddy
a84727abdc fix: relay pins G1/G2, OTA CCCD+retry, single version source
Some checks failed
CI / firmware (push) Failing after 57s
CI / android (push) Has been skipped
- Relay pins: G39→G1, G38→G2
- BUNDLED_FIRMWARE_VERSION → SylDaVersions.SERVER (version.txt)
- OTA: explicit CCCD descriptor write for Android 13+
- OTA: start packet retry (previously no retry, blocked by pending CCCD)
- OTA: firmware path device-mode-aware (server/client subdirs)
- Removed stale root firmware.bin, flashMethodGroup, dialog_overwrite_confirm
- PrefsHelper: serverUUID/clientUUID persistence
2026-08-01 03:11:43 +02:00
eddy
45f8f38e81 chore: cleanup — .gitignore, track design docs 2026-08-01 00:52:03 +02:00
eddy
92c79ac93f feat: MainActivity device mode — disable relay controls for client mode 2026-08-01 00:38:32 +02:00
eddy
ccfd7cb693 feat: EspFlasher split assets server/client based on deviceMode 2026-08-01 00:38:19 +02:00
eddy
793c8f190c feat: Android — device/transport radio buttons, PrefsHelper keys 2026-08-01 00:37:52 +02:00
eddy
bce5fc4107 fix: client — spec compliance, memory leak, LED order 2026-08-01 00:35:15 +02:00
eddy
97c79b9f4c feat: client firmware — touch/button, BLE scan, HMAC, server UUID verify, USB CDC provisioning 2026-08-01 00:32:23 +02:00
eddy
1e47fc3de7 fix: button toggle logic for relay1 2026-08-01 00:26:50 +02:00
eddy
a371e29058 chore: branch setup — version.txt, platformio.ini envs, qio_qspi 2026-08-01 00:19:42 +02:00
eddy
7b583c4a67 CI: fix ANDROID_HOME path for self-hosted runner
All checks were successful
CI / firmware (push) Successful in 18s
CI / android (push) Successful in 16s
2026-07-31 00:10:05 +02:00
eddy
f87443148f CI: replace unsupported upload/download-artifact@v4 with shared host dir
Some checks failed
CI / firmware (push) Successful in 22s
CI / android (push) Failing after 4s
Forgejo does not support @actions/artifact v2 (GHES limitation).
Self-hosted jobs share /tmp/ci-artifacts between jobs.
2026-07-31 00:08:02 +02:00
eddy
7c0d817018 CI: remove pip install platformio (already in PATH via linuxbrew)
Some checks failed
CI / firmware (push) Failing after 21s
CI / android (push) Has been skipped
2026-07-31 00:06:19 +02:00
eddy
27663d3aac chore: trigger CI after Forgejo upgrade to v16
Some checks failed
CI / firmware (push) Failing after 24s
CI / android (push) Has been skipped
2026-07-31 00:03:03 +02:00
eddy
1156199cff test: trigger CI with forgejo runner 2026-07-30 23:57:03 +02:00
eddy
044629e6ef feat: add CI/CD pipelines — firmware + Android build, automated release 2026-07-30 23:45:31 +02:00