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.xml

Transmit chain file_read -> msk_mod -> drc (plus vctcxo_lock). file_read streams a frame_bits file (one byte per channel bit, 0x00/0x01 — e.g. frame_bits_30s.bin, produced by opv-mod -b), msk_mod modulates it to complex IQ, and drc transmits. The reference “does it key the radio” application.

msk_tx_fifo.xml

Same chain as msk_tx.xml but file_read streams live from a named pipe (fileName=/tmp/opv_bits, repeat=false, suppressEOF=true). Pair it with the opv-udp-stream bridge (in the opv-cxx-demod repo), which receives Opulent Voice frames from Interlocutor over UDP, OPV-encodes them, and writes a continuous frame_bits stream into the pipe — giving a live Interlocutor-to-radio transmit path over the proven file_read chain.

opv_tx_udp/ (ACI)

Experimental ACI variant of the live TX bridge: receives Interlocutor frames over UDP and pushes frame_bits into msk_mod through an ACI external port. Superseded by the msk_tx_fifo.xml + opv-udp-stream approach, which avoids the external-port buffer-recycling issues.

Receive

full_monty3.xml

The 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.xml

Channelizer 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.