Commit Graph
39 Commits
Author SHA1 Message Date
michele 3e46b06d4b checkpoint before checking out main 2026-07-08 14:03:58 +02:00
micheleandCursor 0e7d8449a9 Fix LaTeX manual build errors for LuaLaTeX.
Rename conflicting TikZ step style to drstep, add missing ch:firmware label, and use TeX Gyre Heros font fallback instead of Linux Biolinum O.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 10:19:15 +02:00
micheleandCursor 176cdd9319 Release fw 0.8.4: doc sync, System UI, BT/FM polish.
Align README, manual, and backlog to 0.8.4; add Web UI System tab for OTA/DSP uploads, serial in health header, FM seek down, and BT1035 paired list plus auto-reconnect API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:56:44 +02:00
micheleandCursor b9ed8a2dcd Fix Doxygen CI failure in DeviceIdentity doc comments.
Replace angle-bracket suffix placeholders that Doxygen parsed as invalid
HTML tags, restoring a clean WARN_AS_ERROR build on Ubuntu CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:42:55 +02:00
micheleandCursor b0cff8369e Add ESP32 OTA firmware update with rollback confirmation.
Stream application binaries to the inactive OTA slot via POST /api/system/ota,
validate the esp_app_desc project name in core, and cancel rollback after a
healthy network boot through OtaService::confirmBoot().

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:41:29 +02:00
micheleandCursor cc4a03168e Add updatable ADAU1701 program via flash partition and HTTP API.
Decouple the SigmaStudio RAM download from compiled-in adau1701_program.c:
DRAD v1 blobs in the dsp partition with embedded fallback, POST /api/dsp/program,
and host-tested blob parse/serialize helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:21:49 +02:00
micheleandCursor cd94e36a9d Add EEPROM EUI-48 device identity across firmware and API.
Read the factory 24AA025E48 serial after ADAU I2C boot, derive SoftAP SSID, BT name, STA hostname, and expose serialNumber on GET /api/health with graceful fallbacks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:00:38 +02:00
micheleandCursor 11ad6b43ad Define dual-OTA partition table with dsp blob slot.
Replace factory with ota_0/ota_1, otadata, and a dsp data partition on 4 MB flash; enable bootloader app rollback for future OTA work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 08:57:05 +02:00
micheleandCursor 2e44a166e1 Harden Si4684 RSTB config and document power sequencing.
Enable GPIO_PULLDOWN_ENABLE during gpio_config so RSTB cannot glitch high before gpio_set_level(0), and add manual validation notes explaining why the internal pull-down complements the external one.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 08:34:52 +02:00
micheleandCursor 2f9f3ef9b3 Expand all README files for firmware 0.8.3.
Align root, Software, and Firmware READMEs with security, CI, web UI, blob policy, and six-band EQ details.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 07:50:00 +02:00
micheleandCursor 8439ec4055 Sync all project docs for firmware 0.8.3 completion.
Update READMEs, manual chapters, agent guides, CONTRIBUTING, and TODO to reflect T1–T8 done, encrypted NVS, CI gates, and pending HIL checklist.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 07:49:07 +02:00
micheleandCursor a8f2fd1c6c Enable NVS and flash encryption at rest (fw 0.8.3).
Add initEncryptedStorage, development-mode Kconfig defaults, production overlay, and security HIL docs; wire NetBootstrap through encrypted NVS bring-up.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 07:46:59 +02:00
micheleandCursor 9b46fe9465 Document Si4684 blob procurement and enforce CI policy.
Expand local-only firmware README, add check_si4684_blobs.py to verify gitignore and clean history, and gate main with a new si4684-blobs workflow job.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 07:38:04 +02:00
micheleandCursor 8d826b4d73 Complete configuration Web UI with tabbed SPA (fw 0.8.2).
Add now-playing view with metadata polling, six-band EQ controls, full REST coverage, companion-chip badges, and gzip-www helper for the embedded setup page.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 07:36:06 +02:00
micheleandCursor 1c38ac6f08 Refresh root and Software README for fw 0.8.1 progress.
Document firmware capabilities, version milestones, CI, API summary, and updated project structure after integration service and metadata work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 00:26:34 +02:00
micheleandCursor d13012ce4b Add integration startup service and fix Doxygen (fw 0.8.1).
Replace the services stub with IntegrationService for boot preset recall and tune orchestration, persist last preset in NVS, and remove invalid @return tags that broke CI on T4 metadata headers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 00:17:13 +02:00
micheleandCursor 0fc714e431 Add preset polish and broadcast metadata (fw 0.8.0).
Ship station reorder, DAB playing ids in presets, RDS PS/RT and DAB DLS in tuner status, Si4684 data-service read, host tests, and UI now-playing lines.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 00:01:49 +02:00
micheleandCursor 9f76ab9e74 Enable CI gate: fix Doxygen and add workflow.
Clear doc-block warnings so doxygen exits 0, add GitHub Actions
for host tests, Doxygen, and manual sync, and document CI in the manual.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 23:41:30 +02:00
micheleandCursor 8cd962ee25 Replace TODO with agent backlog and refresh READMEs.
Adopt the prioritised task list for the coding agent and document
fw 0.7.0 status plus the full HTTP API in Software/README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 23:26:24 +02:00
micheleandCursor 82c9f401da Add BT1035 pairing and station presets (fw 0.7.0).
Expose discoverable mode and A2DP control over REST, add persisted
DAB/FM preset list with web UI, and document gaps in docs/TODO.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:42:11 +02:00
michele bec25a4a39 Merge Overleaf manual edits with local doc symlink and integration updates. 2026-07-06 17:16:00 +02:00
Michele Bigi fae9636967 Update on Overleaf. 2026-07-06 15:15:38 +00:00
micheleandCursor 98518c5424 Integrate companion-chip status into GET /api/health (fw 0.6.0).
Expose Si4684, ADAU1701, and BT1035 boot flags via CompanionChipStatus after
HardwareBootstrap; update API manual schema for Slice 8.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:15:17 +02:00
micheleandCursor d49b2011dd Add BT1035 driver with manual chapter and expand Si4684 tuning docs.
Implement Bt1035Driver AT init (AT+AUXCFG=1), core AT parser with host tests,
wire boot into HardwareBootstrap, and document DAB/FM tuning workflows in ch-si4684.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:07:37 +02:00
micheleandCursor d6fa41e944 Add ADAU1701 manual chapter mirroring Si4684 driver guide.
Document boot, safeload, Adau1701Driver API, AudioService, parameter map,
HTTP usage, and cross-link from hardware, firmware, API, and SigmaStudio chapters.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:05:08 +02:00
micheleandCursor fa532e068f Add stereo and bass enhance APIs via PEQ overlay.
Expose POST /api/audio/stereo-enhance and bass-enhance with 0–100 levels,
persist enhancements in AudioProfile, and document the virtual EQ mapping in
the manual and SigmaStudio chapter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:00:12 +02:00
micheleandCursor 6c350f5c48 Add SigmaStudio manual chapter and align EQ runtime with export map.
Document the ADAU1701 schematic chain (sigma-chain.jpg), cross-link from
hardware/firmware chapters, skip safeload on fixed high-pass band 0, and
match EqProfile default peaking frequencies to SigmaStudio.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:55:23 +02:00
micheleandCursor ab3651e678 Add Slice 5 ADAU1701 runtime audio control (firmware 0.5.0).
Safeload mixer/EQ/master on the ADAU1701, persist AudioProfile in NVS,
expose /api/audio routes and web UI controls, with host tests and manual sync.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:47:58 +02:00
micheleandCursor 4b931b0aad Add tuner controls to the embedded setup web UI.
Extends the gzipped page with DAB/FM tune, service list, play, and FM seek
against the /api/tuner endpoints.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:18:19 +02:00
micheleandCursor 81d404a1df Add Slice 4 tuner stack with AGENTS-compliant core types and HTTP API.
Introduces Si4684/ADAU1701 drivers, TunerService, FrequencyKHz,
SeekDirection, /api/tuner routes without file-scope globals, host tests,
and firmware blob tooling (binaries remain gitignored).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:17:56 +02:00
micheleandCursor c83c9bd765 Document FrequencyKHz strong type in the class reference manual.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:17:43 +02:00
micheleandCursor 0e25c4cc1a Document Si4684 driver, TunerService, and tuner HTTP API (0.4.0).
Adds ch-si4684 and updates API/class reference chapters for slice 4.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:10:52 +02:00
micheleandCursor 425b3f98cf Document HTTP API and complete manual for slices 1–2
Add ch-api.tex for REST endpoints and boot flow, update ch-firmware,
ch-build, and ch-intro. Extend CONTRIBUTING, instructions, and README
with manual sync checks and API reference.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 11:04:22 +02:00
micheleandCursor ddbee70c23 Add firmware slices 1–2: skeleton and Wi-Fi provisioning
Implement ESP-IDF walking skeleton with SoftAP, health API, and host
tests, then Slice 2 ISecureStore/NvsSecureStore, STA join, POST
/api/wifi, and the provisioning web UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 09:10:37 +02:00
michele 9f04c4bb0c pre-agent-version2 2026-07-06 08:53:33 +02:00
michele 1b225dde1d pre-agent-version 2026-07-06 07:22:56 +02:00
michele 0ff803b4c3 Fix agent (Cursor) rules 2026-07-06 01:12:37 +02:00
michele fac9335261 license correction 2026-07-05 19:10:26 +02:00
michele eb602361ec main commit v1 2026-07-05 19:05:07 +02:00