How ivanmaestrogtr/truemdc-9m2rtx-losehu-uvk5-firmware works
This is custom UV-K5 handheld-radio firmware. The principal workflow is user input through the firmware’s application loop and menus into radio operation, with received and transmitted signalling governed by the selected mode. The README documents MDC1200, FleetSync, DTMF PTT-ID, talk-permit tones, power calibration, ultra-low power, and CHIRP configuration. The tree and excerpts support the main loop and several application components, but not all subsystem call wiring; those links are therefore kept conservative.
Main entry points: app.c Application logic · main.c Firmware loop · menu.c Settings menu · bk4819.c BK4819 transceiver
Components 18
Control and interface
- Firmware loop
main.c - Application logic
app/app.c - Settings menu
app/menu.c - Radio display
ui/main.c - Keypad input
driver/keyboard.c
Radio operation
- Radio control
app/app.c - Channel scanning
app/scanner.c - Frequency scanning
app/chFrScanner.c - FM radio
app/fm.c - BK4819 transceiver
driver/bk4819.c
Signalling
- MDC1200
app/mdc1200.c - FleetSync
app/fleetsync.c - DTMF signalling
app/dtmf.c - Audio and tones
audio.c
Configuration
- CHIRP configuration
CHIRP Module/uvk5_TrueMDC.py - Radio settings
driver/eeprom.c
Other components
- Radio operator
- RF environment
Connections 17
- Radio operator → Keypad input: presses keys
- Firmware loop → Application logic: runs updates
- Firmware loop → Keypad input: polls keys
- Application logic → Settings menu: handles settings
- Application logic → Radio display: updates screen
- Application logic → Radio control: controls radio
- Radio control → BK4819 transceiver: configures transceiver
- Application logic → Channel scanning: controls scanning
- Application logic → Frequency scanning: controls scan
- Application logic → FM radio: controls FM
- Application logic → MDC1200: uses signalling
- Application logic → FleetSync: uses signalling
- Application logic → DTMF signalling: uses signalling
- Application logic → Audio and tones: controls audio
- Settings menu → Radio settings: persists settings
- CHIRP configuration → Radio settings: configures radio
- BK4819 transceiver → RF environment: transmits and receives