Update on Overleaf.

This commit is contained in:
Michele Bigi
2026-07-06 15:19:50 +00:00
committed by node
parent e7982401ee
commit 3ef2496193
4 changed files with 38 additions and 17 deletions
+11 -9
View File
@@ -57,8 +57,9 @@ no analogue conversions are introduced between the tuner and the wireless link.
```
DigiRadio/
├── docs/ Technical Reference Manual (LaTeX source + PDF)
── DigiRadio_Manual.pdf
├── docs/ → symlink to Software/docs/manual (canonical LaTeX manual)
── manual.tex build with: cd docs && latexmk -lualatex manual.tex
│ └── manual.pdf
├── Hardware/
│ ├── schematics/ Schematic (PDF)
│ ├── gerber/ Gerber + drill files (fabrication)
@@ -73,10 +74,11 @@ DigiRadio/
## Documentation
The full design is described in the **[Technical Reference Manual](docs/DigiRadio_Manual.pdf)**,
covering the system architecture, signal chain, clock and power design, the 6-layer
stack-up and controlled-impedance strategy, the functional blocks, and the design
decisions behind the key choices.
The full design is described in the **[Technical Manual](docs/manual.pdf)**,
covering hardware, firmware architecture, companion-chip drivers (Si4684,
ADAU1701, FSC-BT1035), the HTTP JSON API, and build instructions. LaTeX
sources live in `Software/docs/manual/`; the repository root `docs/` entry
is a symbolic link to that folder (single source of truth).
---
@@ -107,9 +109,9 @@ decisions behind the key choices.
The board is manufactured with **PCBWay** as a 6-layer, impedance-controlled PCB
with turnkey assembly. The FSC-BT1035 Bluetooth module is sourced from Feasycom
(the footprint uses a BT806-compatible, pin-identical land pattern). See the
[Manufacturing chapter](docs/DigiRadio_Manual.pdf) of the manual for fabrication
notes, impedance-control settings and MSL-3 handling of the BT module.
(the footprint uses a BT806-compatible, pin-identical land pattern). See
[Chapter Hardware](docs/manual.pdf) and manufacturing notes in the manual for
fabrication settings and MSL-3 handling of the BT module.
---
@@ -17,6 +17,7 @@
*/
#pragma once
#include "core/CompanionChipStatus.hpp"
#include "core/ISecureStore.hpp"
#include "net/NetError.hpp"
#include "net/NetState.hpp"
@@ -52,6 +53,7 @@ struct HttpRouteContext {
core::ISecureStore* store; ///< Secure store for Wi-Fi provisioning.
tuner::TunerService* tuner; ///< Tuner service for tuner REST routes.
audio::AudioService* audio; ///< Audio service for ADAU1701 REST routes.
core::CompanionChipStatus companionChips; ///< Boot flags for /api/health.
};
/**
@@ -131,10 +133,10 @@ public:
* @author Michele Bigi
* @date 2026-07-06
*/
[[nodiscard]] std::expected<void, NetError> start(core::ISecureStore& store,
NetState netState,
tuner::TunerService& tuner,
audio::AudioService& audio);
[[nodiscard]] std::expected<void, NetError> start(
core::ISecureStore& store, NetState netState,
tuner::TunerService& tuner, audio::AudioService& audio,
core::CompanionChipStatus companionChips);
private:
httpd_handle* server_;
+14
View File
@@ -12,6 +12,8 @@
*/
#pragma once
#include "core/CompanionChipStatus.hpp"
#include <expected>
namespace audio {
@@ -94,6 +96,18 @@ public:
* @date 2026-07-06
*/
[[nodiscard]] static audio::AudioService& audioService();
/**
* @brief companionChipStatus — snapshot of companion-chip boot flags.
*
* @dname companionChipStatus
* @return Ready flags for Si4684, ADAU1701, BT1035.
* @pubstate reads static driver isBooted() after boot().
*
* @author Michele Bigi
* @date 2026-07-06
*/
[[nodiscard]] static core::CompanionChipStatus companionChipStatus() noexcept;
};
} // namespace hardware
+6 -3
View File
@@ -17,17 +17,20 @@ DigiRadio/ <- repo root
├── tools/
│ └── check-manual-sync.py enforces "a section per public class"
└── docs/
└── manual/ the technical manual (LaTeX)
└── manual/ the technical manual (LaTeX) — canonical
├── manual.tex main file
├── digiradio-manual.sty style (Optima-like, boxes, listings)
├── ch-*.tex chapters
└── manual.pdf compiled preview
At the **repository root**, `docs/` is a **symbolic link** to
`Software/docs/manual/` (one source of truth; do not duplicate .tex here).
```
## Build the manual
cd Software/docs/manual
cd docs # symlink → Software/docs/manual
latexmk -lualatex manual.tex # real Optima on macOS
# or: pdflatex manual.tex x3 # Biolinum fallback
# or: cd Software/docs/manual && latexmk -lualatex manual.tex
## Enforcement in CI (run from Software/)
doxygen Doxyfile # API docs must pass