blob: cd81607ffbc802e11fe6221abf4325089235f4a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# T-Modem-s1224
**Version mark:** `v1.0-prototype` (firmware `S1224_FW_VERSION` = `1.0-prototype`; git tag **`v1.0-prototype`**).
**T-Modem-s1224** is the softmodem-only sibling of **T-Modem-c1224**: same PCB base, **no** TCM3105-class modem IC / socket. Raspberry Pi **Pico** does **USB KISS half-TNC** (HDLC) plus **AFSK softmodem** (PWM TX / ADC Goertzel RX), display, and **PTT**. Host USB CDC = **KISS** (`0xC0`) + ASCII service. Firmware language: **C**

| Item | Rule |
|------|------|
| Power | **12 V** barrel → buck → **5 V** · **no USB power** (USB = flash + KISS + service) |
| PHY | Softmodem AFSK only · **no** modem chip · **no** socket · XTAL footprints **DNI** |
| Rate model | **Three** UF2 builds · rate ≠ runtime switch |
| FW | `s1224-300` · `s1224-1200` · `s1224-2400` · INI = **all** display/status texts · fixed boot banner · default **`quiet=1`** |
| AF pins | **GP6** PWM AFSK out · **GP26** ADC AF in · **GP9** PTT |
| INI SAVE | Last **4 KiB** flash **blob** · **not** a filesystem |
| PCB | [`hardware/kicad/t-modem-s1224/`](hardware/kicad/t-modem-s1224/) · same base as c1224 |
| BOM | [`hardware/BOM.md`](hardware/BOM.md) · [`hardware/bom/BOM.csv`](hardware/bom/BOM.csv) |
## Tone profiles (compile-time)
| Build | Baud | Mark / Space (Hz) | Note |
|-------|------|-------------------|------|
| **`s1224-300`** | 300 | 1600 / 1800 | HF-class narrow AFSK |
| **`s1224-1200`** | 1200 | 1200 / 2200 | Bell 202 · matches **c1224** 1200-class target |
| **`s1224-2400`** | 2400 | ~1775 / 3250 | **c1224 Y2 / 6.5536** class · **not** Dire Wolf 2400 |
## Build
- Firmware: [`firmware/s1224/`](firmware/s1224/) — three UF2 · INI example [`share/s1224.ini.example`](share/s1224.ini.example)
```bash
export PICO_SDK_PATH=/path/to/pico-sdk # or c1224 `.deps/pico-sdk`
cd firmware/s1224
mkdir -p build && cd build
cmake .. -DS1224_BITRATE=1200 # 300 | 1200 | 2400
make -j$(nproc)
# → s1224-1200.uf2 (name follows bitrate)
```
## Operate
**Standalone — no MAX25-Stack required.** USB CDC is a normal KISS half-TNC. **All terminals should work insofar as applicable** (serial ASCII + KISS packet). MAX25 / HyBBX are **not required**.
1. Power from **12 V** centre-positive barrel only.
2. USB host for flash / **KISS** / CDC service — expect **no** board power from VBUS.
3. Flash the UF2 for the intended rate profile.
4. Open `/dev/ttyACM*` raw 8N1 → KISS (`0xC0` …) or ASCII `HELP`. Fixed boot banner always prints once.
5. Wire AF: GP6 → radio TX AF inject · discriminator/RX AF → GP26 (ADC0).
Anyone-oriented steps: [`docs/USER-GUIDE.md`](docs/USER-GUIDE.md). Firmware detail: [`firmware/s1224/README.md`](firmware/s1224/README.md).
## Docs
| Doc | Role |
|-----|------|
| [`docs/USER-GUIDE.md`](docs/USER-GUIDE.md) | Anyone — assemble · flash · terminals · SAVE |
| [`docs/README.md`](docs/README.md) | Doc index + figures |
| [`docs/POWER.md`](docs/POWER.md) | 12 V · USB data-only |
| [`firmware/s1224/README.md`](firmware/s1224/README.md) | Build · CDC · pins |
| [`docs/figures/`](docs/figures/) | Board overview + steps 1–8 (softmodem DNI) |
**AS-IS** · GPLv3 · non-profit · standard reference only · sibling of **c1224** (chip path unchanged).
|