TinyModem
Header-only software audio modem library
Loading...
Searching...
No Matches
tinymodem::AX25Config Struct Reference

Configuration of the AX.25 packet radio modem (AX25Encoder, AX25Decoder): Bell 202 AFSK with 1200 baud, NRZI and HDLC framing, as used by APRS. More...

#include <AX25.h>

Inheritance diagram for tinymodem::AX25Config:
Collaboration diagram for tinymodem::AX25Config:

Public Member Functions

 AX25Config ()
bool setMode (const char *mode)
bool isValid () const
 Checks the configuration: returns false (and logs the reason) if invalid.

Static Public Member Functions

static bool isMode (const char *mode)

Public Attributes

float baud_rate = 1200.0f
 bits per second
float mark_freq = 1200.0f
 mark frequency (1 = no tone change) in Hz
float space_freq = 2200.0f
 space frequency in Hz
float volume = 1.0f
 transmit amplitude (0.0 - 1.0)
int tx_delay_ms = 300
 transmitter: flags which are sent before the first frame (in ms)
int tx_tail_ms = 50
 transmitter: flags which are sent after the last frame (in ms)
AX25Format format = AX25Format::TEXT
 format of the written and decoded data
AX25Layer2 layer2 = AX25Layer2::AX25
 transmitter: frame format (AX.25, FX.25 or IL2P)
int fx25_check_bytes = 16
 transmitter: FX.25 check bytes (16, 32 or 64)
bool il2p_max_fec = true
 transmitter: IL2P with 16 parity bytes per block (otherwise 2 - 8)
uint8_t channel = 0
 receiver: input channel which is used for the decoding
float rx_noise = 0.0f
 receiver: (testing only) amplitude of added uniform noise

Static Protected Member Functions

static bool equalsIgnoreCase (const char *a, const char *b)

Detailed Description

Configuration of the AX.25 packet radio modem (AX25Encoder, AX25Decoder): Bell 202 AFSK with 1200 baud, NRZI and HDLC framing, as used by APRS.

setMode() selects "ax25" or "aprs" (standard AX.25), "fx25" (FX.25 with 16 check bytes), "fx25-32", "fx25-64" or "il2p" (IL2P with max FEC) for the transmitter. The receiver decodes all of them (like direwolf).

Constructor & Destructor Documentation

◆ AX25Config()

tinymodem::AX25Config::AX25Config ( )
inline

Member Function Documentation

◆ equalsIgnoreCase()

bool tinymodem::AX25Config::equalsIgnoreCase ( const char * a,
const char * b )
inlinestaticprotected

◆ isMode()

bool tinymodem::AX25Config::isMode ( const char * mode)
inlinestatic

true if the mode name is "ax25", "aprs", "fx25", "fx25-32", "fx25-64" or "il2p"

◆ isValid()

bool tinymodem::AX25Config::isValid ( ) const
inline

Checks the configuration: returns false (and logs the reason) if invalid.

◆ setMode()

bool tinymodem::AX25Config::setMode ( const char * mode)
inline

Selects the mode "ax25", "aprs", "fx25", "fx25-32", "fx25-64" or "il2p" (all AFSK 1200): returns false if the mode is not supported

Member Data Documentation

◆ baud_rate

float tinymodem::AX25Config::baud_rate = 1200.0f

bits per second

◆ channel

uint8_t tinymodem::AX25Config::channel = 0

receiver: input channel which is used for the decoding

◆ format

AX25Format tinymodem::AX25Config::format = AX25Format::TEXT

format of the written and decoded data

◆ fx25_check_bytes

int tinymodem::AX25Config::fx25_check_bytes = 16

transmitter: FX.25 check bytes (16, 32 or 64)

◆ il2p_max_fec

bool tinymodem::AX25Config::il2p_max_fec = true

transmitter: IL2P with 16 parity bytes per block (otherwise 2 - 8)

◆ layer2

AX25Layer2 tinymodem::AX25Config::layer2 = AX25Layer2::AX25

transmitter: frame format (AX.25, FX.25 or IL2P)

◆ mark_freq

float tinymodem::AX25Config::mark_freq = 1200.0f

mark frequency (1 = no tone change) in Hz

◆ rx_noise

float tinymodem::AX25Config::rx_noise = 0.0f

receiver: (testing only) amplitude of added uniform noise

◆ space_freq

float tinymodem::AX25Config::space_freq = 2200.0f

space frequency in Hz

◆ tx_delay_ms

int tinymodem::AX25Config::tx_delay_ms = 300

transmitter: flags which are sent before the first frame (in ms)

◆ tx_tail_ms

int tinymodem::AX25Config::tx_tail_ms = 50

transmitter: flags which are sent after the last frame (in ms)

◆ volume

float tinymodem::AX25Config::volume = 1.0f

transmit amplitude (0.0 - 1.0)


The documentation for this struct was generated from the following file: