Specifications
What the firmware does and what the hardware needs: one page per subsystem, written before the code and kept true to
it. Behavior specs are radio-independent. A radio's own facts (pins, chips, quirks, measurements) are on its pages,
named by the board id: hardware-<id>.md, codec-<id>.md and, for some, <id>-migration.md. The radios and their
chips are in radios.md ; which radio has which feature is in feature-matrix.md .
Past bugs, by subsystem: gotchas.md . Contributors read docs/dev for process.
Radio features and the user interface
Spec
Covers
capabilities.md
What a radio can do, by area, with the switch and spec behind each
radio-features.md
Scan, the FM transmit extras (tones, burst, roger beep), beeps, battery and power management
airband-and-broadcast.md
Air band AM receive and broadcast FM receive, chosen by the frequency
aprs.md
APRS on FM and over DMR
ui.md
The user interface as built: screens, keys, the drawing layer (docs/ux has the design)
DMR
DMR modem chips
Host link and network
Spec
Covers
debuglink.md
The debug link : commands, the view, key injection
cps-protocol.md
The host port's protocols and how they share it; the CPS protocol
cps-fast.md
The fast codeplug protocol: block sums, LZ4, staged commit
mmdvm-protocol.md
The MMDVM modem protocol (hotspot mode)
usb-network.md
USB network personality, the IP gateway, control station mode
ppp.md
PPP on the serial host link
tcp-services.md
TCP , HTTP, rigctld , KISS over TCP, APRS-IS
tftp.md
TFTP codeplug access
mdns.md
mDNS and DNS-SD
snmp.md
SNMP agent (RFOUNDRY-MIB.txt )
usb-audio.md
Analog and DMR voice over USB: design
Codeplug and storage
Codecs
DMR voice needs each radio's own codec; the process is in docs/dev .
Spec
Covers
codec-placement.md
Where RadioFoundry places the codec on each SoC family, descriptors, slots, codec maps
codec-<id>.md
One radio's codec: the stock files accepted, their format, the code and table windows, entry points
Migrating from stock
Reading a vendor codeplug and moving a radio from the vendor firmware. User steps are in
docs/user .
Spec
Covers
codeplug-stock-tyt.md
The vendor codeplug layout of the TYT-family radios in SPI flash: detection and conversion
codeplug-port.md
Stock codeplug to RadioFoundry: the clean-up, contacts, CPS write shared by the migration tools
<id>-migration.md
One radio's flashing and migration procedure, where a migration tool exists
<id>-stock-cps.md
One radio's vendor programming protocol, for interoperability
Flashing and updates
Spec
Covers
stub-entry.md
The stub entry: loading the flashing tools' RAM monitor at run time, with or without the debug link
stub-stm32f4.md
The STM32F4 flash stub: entry from RadioFoundry, USB, protocol, safety rules, update order
Reliability
Spec
Covers
crash-log.md
The crash log: fault capture on each platform, the record kept across the restart, the fault trace, the packed report
watchdog.md
The hardware watchdog: the idle task's feed, timeouts, long operations, leaving the application, bench tests
gotchas.md
Past bugs and traps, by subsystem
Radios
Spec
Covers
radios.md
The hardware survey: every radio's chips and the port order
hardware-<id>.md
One radio: MCU and memory map, pins, chips, keys, display, power, bootloader and image format, calibration
The bring-up records for each radio are in docs/testing .
View the source of this page