Applications
The applications/ directory holds OpenCPI application XMLs (run with
ocpirun) and a few ACI (Application Control Interface) programs that build
into executables. Many XMLs are scratch/bring-up assemblies for individual
stages of the chain; the canonical, maintained applications are listed below.
Transmit
msk_tx.xmlTransmit chain
file_read -> msk_mod -> drc(plusvctcxo_lock).file_readstreams aframe_bitsfile (one byte per channel bit,0x00/0x01— e.g.frame_bits_30s.bin, produced byopv-mod -b),msk_modmodulates it to complex IQ, anddrctransmits. The reference “does it key the radio” application.msk_tx_fifo.xmlSame chain as
msk_tx.xmlbutfile_readstreams live from a named pipe (fileName=/tmp/opv_bits,repeat=false,suppressEOF=true). Pair it with theopv-udp-streambridge (in theopv-cxx-demodrepo), which receives Opulent Voice frames from Interlocutor over UDP, OPV-encodes them, and writes a continuousframe_bitsstream into the pipe — giving a live Interlocutor-to-radio transmit path over the provenfile_readchain.opv_tx_udp/(ACI)Experimental ACI variant of the live TX bridge: receives Interlocutor frames over UDP and pushes
frame_bitsintomsk_modthrough an ACI external port. Superseded by themsk_tx_fifo.xml+opv-udp-streamapproach, which avoids the external-port buffer-recycling issues.
Receive
full_monty3.xmlThe full folded 64-channel receive chain end to end:
ADC -> halfband decimation -> channelizer -> (decimate3 -> bd_x16 -> cr_x16 -> ted_x16 -> dsd_x16 -> fs_x16 -> msk_decode_x16) x4 -> frame_merge4 -> frames. This is the production RX application and the source of the tuned worker properties used elsewhere.rx_channalizer.xml/rx_channalizer_x16.xmlChannelizer bring-up assemblies (single-port and 16-channel) for verifying the channelizer in isolation.
Simulation / bring-up
folded_demod_sim.xml, msk_tx_rx_*.xml, cr_only_*.xml,
rcdb*.xml, hb_test.xml and similar are pure-simulation or
single-stage assemblies used during development of the folded chain (e.g. the
frame_bits -> msk_mod -> dec -> framer16 -> folded chain -> frames loopback).
They are not part of the deployed waveform.
msk_ber/(ACI)Bit-error-rate test harness for the modem in loopback (
msk_tx_rx_demod), reading the PRBS synchroniser error/sync counters.