2020-08-26 19:57:35 +00:00
|
|
|
#ifndef __CONFIG_H
|
|
|
|
#define __CONFIG_H
|
|
|
|
|
2020-09-01 19:56:34 +00:00
|
|
|
// Enable semihosting to receive debug logs during development
|
2020-09-03 19:19:21 +00:00
|
|
|
// NOTE: Semihosting has to be disabled when the RS41 radiosonde is not connected to the STM32 programmer dongle, otherwise the firmware will not run.
|
2020-09-01 19:56:34 +00:00
|
|
|
//#define SEMIHOSTING_ENABLE
|
2020-09-03 19:12:43 +00:00
|
|
|
//#define LOGGING_ENABLE
|
2020-09-01 19:56:34 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
/**
|
|
|
|
* Global configuration
|
|
|
|
*/
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2021-08-11 20:24:30 +00:00
|
|
|
// Set the tracker amateur radio call sign here
|
|
|
|
#define CALLSIGN "MYCALL"
|
2020-09-10 19:57:41 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
// Disabling LEDs will save power
|
|
|
|
// Red LED: Lit during initialization and transmit.
|
|
|
|
// Green LED: Blinking fast when there is no GPS fix. Blinking slowly when the GPS has a fix.
|
2020-09-10 19:57:41 +00:00
|
|
|
#define LEDS_ENABLE true
|
2021-08-12 06:48:56 +00:00
|
|
|
|
2021-08-16 20:24:46 +00:00
|
|
|
// Allow powering off the sonde by pressing the button for over a second (when the sonde is not transmitting)
|
|
|
|
#define ALLOW_POWER_OFF false
|
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
// Enable use of an externally connected I²C BMP280 atmospheric sensor
|
2020-08-26 19:57:35 +00:00
|
|
|
#define SENSOR_BMP280_ENABLE false
|
2021-08-12 06:48:56 +00:00
|
|
|
|
|
|
|
// Enable use of an externally connected I²C Si5351 clock generator chip for HF radio transmissions
|
2021-08-11 20:24:30 +00:00
|
|
|
#define RADIO_SI5351_ENABLE false
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
// Number of character pairs to include in locator
|
|
|
|
#define LOCATOR_PAIR_COUNT_FULL 6 // max. 6 (12 characters WWL)
|
|
|
|
|
2021-11-10 16:49:29 +00:00
|
|
|
// Delay after transmission for modes that do not use time synchronization. Zero delay allows continuous transmit mode for Horus V1 and V2.
|
|
|
|
#define RADIO_POST_TRANSMIT_DELAY_MS 0
|
2021-08-12 06:48:56 +00:00
|
|
|
|
|
|
|
// Threshold for time-synchronized modes regarding how far from scheduled transmission time the transmission is still allowed
|
2021-08-11 20:24:30 +00:00
|
|
|
#define RADIO_TIME_SYNC_THRESHOLD_MS 2000
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2020-09-10 19:57:41 +00:00
|
|
|
/**
|
2021-08-12 06:48:56 +00:00
|
|
|
* Built-in Si4032 radio chip transmission configuration
|
2020-09-10 19:57:41 +00:00
|
|
|
*/
|
2021-08-12 06:48:56 +00:00
|
|
|
|
|
|
|
// Si4032 transmit power: 0..7
|
|
|
|
// 0 = -1dBm, 1 = 2dBm, 2 = 5dBm, 3 = 8dBm, 4 = 11dBm, 5 = 14dBm, 6 = 17dBm, 7 = 20dBm
|
2020-09-10 19:57:41 +00:00
|
|
|
#define RADIO_SI4032_TX_POWER 7
|
2021-08-11 20:24:30 +00:00
|
|
|
|
|
|
|
// Which modes to transmit using the built-in Si4032 transmitter chip
|
2021-08-12 21:42:50 +00:00
|
|
|
#define RADIO_SI4032_TX_CW true
|
2021-08-11 20:24:30 +00:00
|
|
|
#define RADIO_SI4032_TX_APRS true
|
|
|
|
#define RADIO_SI4032_TX_HORUS_V1 true
|
2021-09-14 19:47:39 +00:00
|
|
|
#define RADIO_SI4032_TX_HORUS_V2 true
|
2021-08-11 20:24:30 +00:00
|
|
|
|
2021-11-10 16:49:29 +00:00
|
|
|
// Continuous transmit mode can be enabled for *either* Horus V1 or V2, but not both. This disables all other transmission modes.
|
|
|
|
#define RADIO_SI4032_TX_HORUS_V1_CONTINUOUS false
|
|
|
|
#define RADIO_SI4032_TX_HORUS_V2_CONTINUOUS false
|
|
|
|
|
2021-08-11 20:24:30 +00:00
|
|
|
// Transmit frequencies for the Si4032 transmitter modes
|
2021-11-10 16:49:29 +00:00
|
|
|
#define RADIO_SI4032_TX_FREQUENCY_CW 432500000
|
2020-09-10 19:57:41 +00:00
|
|
|
#define RADIO_SI4032_TX_FREQUENCY_APRS_1200 432500000
|
2021-08-11 20:24:30 +00:00
|
|
|
// Use a frequency offset to place FSK tones slightly above the defined frequency for SSB reception
|
|
|
|
#define RADIO_SI4032_TX_FREQUENCY_HORUS_V1 432501000
|
2021-09-14 19:47:39 +00:00
|
|
|
#define RADIO_SI4032_TX_FREQUENCY_HORUS_V2 432501000
|
2020-09-10 19:57:41 +00:00
|
|
|
|
|
|
|
/**
|
2021-08-12 06:48:56 +00:00
|
|
|
* External Si5351 radio chip transmission configuration
|
2020-09-10 19:57:41 +00:00
|
|
|
*/
|
2021-08-12 06:48:56 +00:00
|
|
|
|
|
|
|
// Si5351 transmit power: 0..3
|
|
|
|
// Si5351 drive strength: 0 = 2mA, 1 = 4mA, 2 = 6mA, 3 = 8mA
|
2020-09-10 19:57:41 +00:00
|
|
|
#define RADIO_SI5351_TX_POWER 3
|
2021-08-11 20:24:30 +00:00
|
|
|
|
|
|
|
// Which modes to transmit using an externally connected Si5351 chip in the I²C bus
|
2021-09-14 19:47:39 +00:00
|
|
|
#define RADIO_SI5351_TX_CW true
|
|
|
|
#define RADIO_SI5351_TX_HORUS_V1 true
|
|
|
|
#define RADIO_SI5351_TX_HORUS_V2 true
|
2021-08-11 20:24:30 +00:00
|
|
|
#define RADIO_SI5351_TX_JT9 false
|
|
|
|
#define RADIO_SI5351_TX_JT65 false
|
|
|
|
#define RADIO_SI5351_TX_JT4 false
|
|
|
|
#define RADIO_SI5351_TX_WSPR false
|
2021-09-14 19:47:39 +00:00
|
|
|
#define RADIO_SI5351_TX_FSQ true
|
2021-08-11 20:24:30 +00:00
|
|
|
#define RADIO_SI5351_TX_FT8 false
|
|
|
|
|
|
|
|
// Transmit frequencies for the Si5351 transmitter modes
|
2021-09-14 19:47:39 +00:00
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_CW 3595000UL
|
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_HORUS_V1 3608000UL
|
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_HORUS_V2 3608000UL
|
2020-09-10 19:57:41 +00:00
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_JT9 14085000UL // Was: 14078700UL
|
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_JT65 14085000UL // Was: 14078300UL
|
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_JT4 14085000UL // Was: 14078500UL
|
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_WSPR 14085000UL // Was: 14097200UL
|
2021-09-14 19:47:39 +00:00
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_FSQ 3608350UL // Was: 7105350UL // Base freq is 1350 Hz higher than dial freq in USB
|
2020-08-26 19:57:35 +00:00
|
|
|
#define RADIO_SI5351_TX_FREQUENCY_FT8 14085000UL // Was: 14075000UL
|
|
|
|
|
2020-08-31 20:07:23 +00:00
|
|
|
/**
|
2021-08-12 06:48:56 +00:00
|
|
|
* APRS mode settings
|
|
|
|
*
|
2020-08-31 20:07:23 +00:00
|
|
|
* APRS SSID:
|
|
|
|
*
|
2020-09-10 19:57:41 +00:00
|
|
|
* '0' = (-0) Your primary station usually fixed and message capable
|
|
|
|
* '1' = (-1) generic additional station, digi, mobile, wx, etc
|
|
|
|
* '2' = (-2) generic additional station, digi, mobile, wx, etc
|
|
|
|
* '3' = (-3) generic additional station, digi, mobile, wx, etc
|
|
|
|
* '4' = (-4) generic additional station, digi, mobile, wx, etc
|
|
|
|
* '5' = (-5) Other networks (Dstar, Iphones, Androids, Blackberry's etc)
|
|
|
|
* '6' = (-6) Special activity, Satellite ops, camping or 6 meters, etc
|
|
|
|
* '7' = (-7) walkie talkies, HT's or other human portable
|
|
|
|
* '8' = (-8) boats, sailboats, RV's or second main mobile
|
|
|
|
* '9' = (-9) Primary Mobile (usually message capable)
|
|
|
|
* 'A' = (-10) internet, Igates, echolink, winlink, AVRS, APRN, etc
|
|
|
|
* 'B' = (-11) balloons, aircraft, spacecraft, etc
|
|
|
|
* 'C' = (-12) APRStt, DTMF, RFID, devices, one-way trackers*, etc
|
|
|
|
* 'D' = (-13) Weather stations
|
|
|
|
* 'E' = (-14) Truckers or generally full time drivers
|
|
|
|
* 'F' = (-15) generic additional station, digi, mobile, wx, etc
|
2020-08-31 20:07:23 +00:00
|
|
|
*/
|
|
|
|
|
2020-09-10 19:57:41 +00:00
|
|
|
#define APRS_CALLSIGN CALLSIGN
|
2020-08-31 20:07:23 +00:00
|
|
|
#define APRS_SSID 'B'
|
|
|
|
// See APRS symbol table documentation in: http://www.aprs.org/symbols/symbolsX.txt
|
|
|
|
#define APRS_SYMBOL_TABLE '/' // '/' denotes primary and '\\' denotes alternate APRS symbol table
|
2020-09-10 19:57:41 +00:00
|
|
|
#define APRS_SYMBOL 'O'
|
2021-08-11 20:24:30 +00:00
|
|
|
#define APRS_COMMENT "RS41ng radiosonde firmware test"
|
2020-08-26 19:57:35 +00:00
|
|
|
#define APRS_RELAYS "WIDE1-1,WIDE2-1"
|
|
|
|
#define APRS_DESTINATION "APZ41N"
|
2020-08-31 20:07:23 +00:00
|
|
|
#define APRS_DESTINATION_SSID '0'
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
// Schedule transmission every N seconds, counting from beginning of an hour (based on GPS time). Set to zero to disable time sync.
|
2021-09-14 19:47:39 +00:00
|
|
|
#define APRS_TIME_SYNC_SECONDS 0
|
2021-08-12 06:48:56 +00:00
|
|
|
// Delay transmission for an N second offset after the scheduled time.
|
|
|
|
#define APRS_TIME_SYNC_OFFSET_SECONDS 0
|
|
|
|
|
2021-11-10 16:49:29 +00:00
|
|
|
/**
|
|
|
|
* Common Horus 4FSK mode settings
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define HORUS_FREQUENCY_OFFSET_SI4032 0
|
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
/**
|
|
|
|
* Horus V1 4FSK mode settings
|
|
|
|
*/
|
|
|
|
|
2021-09-14 19:47:39 +00:00
|
|
|
// Use Horus payload ID 0 for Horus V1 tests (4FSKTEST)
|
2021-08-11 20:24:30 +00:00
|
|
|
#define HORUS_V1_PAYLOAD_ID 0
|
2021-09-14 19:47:39 +00:00
|
|
|
#define HORUS_V1_BAUD_RATE_SI4032 100
|
|
|
|
#define HORUS_V1_BAUD_RATE_SI5351 50
|
2021-08-11 20:24:30 +00:00
|
|
|
#define HORUS_V1_PREAMBLE_LENGTH 16
|
2021-11-10 16:49:29 +00:00
|
|
|
#define HORUS_V1_IDLE_PREAMBLE_LENGTH 32
|
|
|
|
#define HORUS_V1_TONE_SPACING_HZ_SI5351 270
|
2021-08-11 20:24:30 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
// Schedule transmission every N seconds, counting from beginning of an hour (based on GPS time). Set to zero to disable time sync.
|
2021-09-14 19:47:39 +00:00
|
|
|
#define HORUS_V1_TIME_SYNC_SECONDS 0
|
2021-08-12 06:48:56 +00:00
|
|
|
// Delay transmission for an N second offset after the scheduled time.
|
|
|
|
#define HORUS_V1_TIME_SYNC_OFFSET_SECONDS 0
|
2020-09-10 19:57:41 +00:00
|
|
|
|
2021-09-14 19:47:39 +00:00
|
|
|
/**
|
|
|
|
* Horus V2 4FSK mode settings
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Use Horus payload ID 256 for Horus V2 tests (4FSKTEST-V2)
|
|
|
|
#define HORUS_V2_PAYLOAD_ID 256
|
|
|
|
#define HORUS_V2_BAUD_RATE_SI4032 100
|
|
|
|
#define HORUS_V2_BAUD_RATE_SI5351 50
|
|
|
|
#define HORUS_V2_PREAMBLE_LENGTH 16
|
2021-11-10 16:49:29 +00:00
|
|
|
#define HORUS_V2_IDLE_PREAMBLE_LENGTH 32
|
|
|
|
#define HORUS_V2_TONE_SPACING_HZ_SI5351 270
|
2021-09-14 19:47:39 +00:00
|
|
|
|
|
|
|
// Schedule transmission every N seconds, counting from beginning of an hour (based on GPS time). Set to zero to disable time sync.
|
|
|
|
#define HORUS_V2_TIME_SYNC_SECONDS 0
|
|
|
|
// Delay transmission for an N second offset after the scheduled time.
|
|
|
|
#define HORUS_V2_TIME_SYNC_OFFSET_SECONDS 0
|
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
/**
|
2021-08-12 21:42:50 +00:00
|
|
|
* CW settings
|
2021-08-12 06:48:56 +00:00
|
|
|
*/
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2021-08-12 21:42:50 +00:00
|
|
|
// CW speed in WPM, range 5 - 40
|
|
|
|
#define CW_SPEED_WPM 20
|
|
|
|
|
|
|
|
// Schedule transmission every N seconds, counting from beginning of an hour (based on GPS time). Set to zero to disable time sync.
|
2021-09-14 19:47:39 +00:00
|
|
|
#define CW_TIME_SYNC_SECONDS 0
|
2021-08-12 21:42:50 +00:00
|
|
|
// Delay transmission for an N second offset after the scheduled time.
|
|
|
|
#define CW_TIME_SYNC_OFFSET_SECONDS 0
|
2020-09-01 19:56:34 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
/**
|
|
|
|
* WSPR settings
|
|
|
|
*/
|
|
|
|
#define WSPR_CALLSIGN CALLSIGN
|
|
|
|
#define WSPR_LOCATOR_FIXED_ENABLED false
|
|
|
|
#define WSPR_LOCATOR_FIXED "AA00"
|
|
|
|
#define WSPR_DBM 10
|
|
|
|
|
|
|
|
#define WSPR_TIME_SYNC_SECONDS 120
|
|
|
|
#define WSPR_TIME_SYNC_OFFSET_SECONDS 1
|
|
|
|
|
|
|
|
/**
|
|
|
|
* FSQ settings
|
|
|
|
*/
|
|
|
|
#define FSQ_CALLSIGN_FROM CALLSIGN
|
|
|
|
|
2021-09-14 19:47:39 +00:00
|
|
|
#define FSQ_SUBMODE RADIO_DATA_MODE_FSQ_3
|
2021-08-12 06:48:56 +00:00
|
|
|
|
|
|
|
#define FSQ_TIME_SYNC_SECONDS 0
|
|
|
|
#define FSQ_TIME_SYNC_OFFSET_SECONDS 0
|
|
|
|
|
|
|
|
/**
|
|
|
|
* FT/JT mode settings
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Schedule transmission every 15 seconds, counting from beginning of an hour (based on GPS time). Set to zero to disable time sync.
|
|
|
|
#define FT8_TIME_SYNC_SECONDS 15
|
|
|
|
// Delay transmission for 1 second after the scheduled time.
|
|
|
|
#define FT8_TIME_SYNC_OFFSET_SECONDS 1
|
|
|
|
|
|
|
|
#define JT9_TIME_SYNC_SECONDS 60
|
|
|
|
#define JT9_TIME_SYNC_OFFSET_SECONDS 1
|
2021-08-11 20:24:30 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
#define JT4_TIME_SYNC_SECONDS 60
|
|
|
|
#define JT4_TIME_SYNC_OFFSET_SECONDS 1
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
#define JT65_TIME_SYNC_SECONDS 60
|
|
|
|
#define JT65_TIME_SYNC_OFFSET_SECONDS 1
|
2020-08-26 19:57:35 +00:00
|
|
|
|
2021-08-12 06:48:56 +00:00
|
|
|
#include "config_internal.h"
|
2020-09-10 19:57:41 +00:00
|
|
|
|
2020-08-26 19:57:35 +00:00
|
|
|
#endif
|