-
Notifications
You must be signed in to change notification settings - Fork 27
9 Recommended RS41ng Configuration for Horus Binary
Mikael Nousiainen's RS41ng firmware is currently the reference implementation for a Horus Binary v1 and v2 transmitter, superseding RS41HUP. It is worth noting that it is currently missing some of the low power features, such as the inter-transmission 'pips'.
The RS41ng firmware has a lot of configurability - this page will be limited to discussion of the Horus Binary v1/v2 mode support.
The settings which set which modes are transmitted are here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L54
To transmit just Horus Binary v2, set it to this:
// Which modes to transmit using the built-in Si4032 transmitter chip
#define RADIO_SI4032_TX_CW false
#define RADIO_SI4032_TX_CW_COUNT 1
#define RADIO_SI4032_TX_APRS false
#define RADIO_SI4032_TX_APRS_COUNT 2
#define RADIO_SI4032_TX_HORUS_V1 false
#define RADIO_SI4032_TX_HORUS_V1_COUNT 1
#define RADIO_SI4032_TX_HORUS_V2 true
#define RADIO_SI4032_TX_HORUS_V2_COUNT 1
Frequency settings are here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L74
To transmit on 434.200 MHz (with the tones actually on 434.201 MHz:
// Use a frequency offset to place FSK tones slightly above the defined frequency for SSB reception
#define RADIO_SI4032_TX_FREQUENCY_HORUS_V1 434201000
#define RADIO_SI4032_TX_FREQUENCY_HORUS_V2 434201000
Transmit power settings are here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L52
Note that the default transmit power is 100mW - this is overkill for Horus Binary. You only need 25mW or even less to provide reliable reception right out to the radio horizon, even up to 800km range. Remember, Horus Binary has a ~20 dB performance advantage over something like 1200 baud APRS. High power is not required.
For a more reasonable transmit power, use:
// Si4032 transmit power: 0..7
// 0 = -1dBm, 1 = 2dBm, 2 = 5dBm, 3 = 8dBm, 4 = 11dBm, 5 = 14dBm, 6 = 17dBm, 7 = 20dBm
#define RADIO_SI4032_TX_POWER 5
Horus Binary v2 settings start here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L180
The only line you should need to change is:
#define HORUS_V2_PAYLOAD_ID 256
Replace the payload ID with your V2 ID, once allocated. (Refer here: https://github.com/projecthorus/horusdemodlib/wiki#how-do-i-transmit-it )
Horus Binary v1 settings start here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L167
The same notes as above apply - you should only need to update the payload ID.
The gap between transmissions is defined here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L34 There is also a setting to enable 'continuous mode' here: https://github.com/mikaelnousiainen/RS41ng/blob/main/src/config.h#L68
In continuous mode, the transmitter is always enabled, and sends idle tones in the gaps between packets. This can improve decode performance when the signal is very weak, as it allows the demodulator's frequency estimator to 'train in' on the signal before the packet is sent.
Depending on your flight aims, there are a few ways you can adjust these settings:
- Highest update rate: Set
RADIO_POST_TRANSMIT_DELAY_MS
to 0, and setRADIO_SI4032_TX_HORUS_V2_CONTINUOUS
totrue
. This will result in back-to-back Horus v2 packets being sent. - Lowest power usage: Set
RADIO_POST_TRANSMIT_DELAY_MS
to something like10000
(10 seconds), and make sureRADIO_SI4032_TX_HORUS_V2_CONTINUOUS
is set tofalse
. This will result in decreased battery usage.
Note that a Horus Binary v2 packet has an on-air time of 3.3 seconds.