kopia lustrzana https://github.com/mikaelnousiainen/RS41ng
More work on docs and config for DFM-17
rodzic
9473bcc179
commit
8e9e9b34a5
39
README.md
39
README.md
|
@ -1,6 +1,8 @@
|
||||||
# RS41ng - Amateur radio firmware for Vaisala RS41 and Graw DFM-17 radiosondes
|
# RS41ng - Amateur radio firmware for Vaisala RS41 and Graw DFM-17 radiosondes
|
||||||
|
|
||||||
**NOTE:** While this firmware has been tested with great success on a number of high-altitude balloon
|
**NEW:** Experimental support for Graw DFM-17 radiosondes added! Please test and report any issues!
|
||||||
|
|
||||||
|
**NOTE:** While this firmware has been tested (on RS41) with great success on a number of high-altitude balloon
|
||||||
flights, it is still a work in progress and some features might not work as expected yet!
|
flights, it is still a work in progress and some features might not work as expected yet!
|
||||||
In particular, the time sync (scheduling) features and use of an external Si5351 as a transmitter need more testing.
|
In particular, the time sync (scheduling) features and use of an external Si5351 as a transmitter need more testing.
|
||||||
|
|
||||||
|
@ -109,7 +111,7 @@ On an external Si5351 clock generator connected to the external I²C bus of the
|
||||||
#### Notes about APRS
|
#### Notes about APRS
|
||||||
|
|
||||||
* Bell 202 frequencies are generated via hardware PWM, but the symbol timing is created in a loop with delay
|
* Bell 202 frequencies are generated via hardware PWM, but the symbol timing is created in a loop with delay
|
||||||
* There is also code available to use DMA transfers for symbol timing to achieve greater accuracy, but I have not been able to get the timings working correctly
|
* There is also code available to use DMA transfers for symbol timing to achieve greater accuracy, but the timings are not working correctly
|
||||||
|
|
||||||
#### Notes about Horus 4FSK
|
#### Notes about Horus 4FSK
|
||||||
|
|
||||||
|
@ -146,7 +148,16 @@ Sensor driver code contributions are welcome!
|
||||||
|
|
||||||
1. Configure your amateur radio call sign, transmission schedule (time sync),
|
1. Configure your amateur radio call sign, transmission schedule (time sync),
|
||||||
transmit frequencies and transmission mode parameters in `config.h`
|
transmit frequencies and transmission mode parameters in `config.h`
|
||||||
2. Set up transmitted message templates in `config.c`, depending on the modes you use
|
* Select the desired radiosonde type in the beginning of the file by removing the `//` comment from either
|
||||||
|
the `#define RS41` or `#define DFM17` lines.
|
||||||
|
* Customize at least the following settings:
|
||||||
|
* `CALLSIGN`
|
||||||
|
* For RS41, the settings beginning with `RADIO_SI4032_` to select transmit power and the modes to transmit
|
||||||
|
* For DFM-17, the settings beginning with `RADIO_SI4063_` to select transmit power and the modes to transmit
|
||||||
|
* `HORUS_V2_PAYLOAD_ID` if you transmit Horus 4FSK
|
||||||
|
* `APRS_COMMENT` if you transmit APRS
|
||||||
|
2. Set up transmitted message templates in `config.c`, depending on the modes you use.
|
||||||
|
You can customize the APRS and CW messages in more detail here.
|
||||||
|
|
||||||
### Power consumption and power-saving features
|
### Power consumption and power-saving features
|
||||||
|
|
||||||
|
@ -374,10 +385,10 @@ ______________________| |______________________
|
||||||
1. If your ST-LINK v2 programmer is capable of providing a voltage of 3.3V (as some third-party clones are),
|
1. If your ST-LINK v2 programmer is capable of providing a voltage of 3.3V (as some third-party clones are),
|
||||||
remove the batteries from the sonde. Otherwise, leave the batteries in and power on the sonde.
|
remove the batteries from the sonde. Otherwise, leave the batteries in and power on the sonde.
|
||||||
2. Connect an ST-LINK v2 programmer dongle to the sonde via the following pins:
|
2. Connect an ST-LINK v2 programmer dongle to the sonde via the following pins:
|
||||||
* SWDIO -> Pin 9 (SWDIO)
|
* SWDIO -> Pin 9 (SWDIO)
|
||||||
* SWCLK -> Pin 8 (SWCLK)
|
* SWCLK -> Pin 8 (SWCLK)
|
||||||
* GND -> Pin 1 (GND)
|
* GND -> Pin 1 (GND)
|
||||||
* 3.3V -> Pin 5 (MCU switch 3.3V) (only required when using the programmer to power the sonde)
|
* 3.3V -> Pin 5 (MCU switch 3.3V) (only required when using the programmer to power the sonde)
|
||||||
|
|
||||||
### Graw DFM-17 programming connector
|
### Graw DFM-17 programming connector
|
||||||
|
|
||||||
|
@ -421,13 +432,13 @@ _____
|
||||||
|
|
||||||
1. If your ST-LINK v2 programmer is capable of providing a voltage of 3.3V (as some third-party clones are),
|
1. If your ST-LINK v2 programmer is capable of providing a voltage of 3.3V (as some third-party clones are),
|
||||||
remove the batteries from the sonde. Otherwise, leave the batteries in and power on the sonde.
|
remove the batteries from the sonde. Otherwise, leave the batteries in and power on the sonde.
|
||||||
2. Connect an ST-LINK v2 programmer dongle to the sonde via the following pins.
|
2. Connect an ST-LINK v2 programmer dongle to the sonde via the following pins:
|
||||||
Note that you will need to either solder wires directly to the connector or solder a 0.5" (1.27mm) 5-by-2 pin header to the connector.
|
* SWDIO -> (SWDIO)
|
||||||
* SWDIO -> (SWDIO)
|
* SWCLK -> (SWCLK)
|
||||||
* SWCLK -> (SWCLK)
|
* RST -> (RST)
|
||||||
* RST -> (RST)
|
* GND -> (GND)
|
||||||
* GND -> (GND)
|
* 3.3V -> (VTRef) (only required when using the programmer to power the sonde)
|
||||||
* 3.3V -> (VTRef) (only required when using the programmer to power the sonde)
|
* Note that you will need to either solder wires directly to the connector or solder a 0.5" (1.27mm) 5-by-2 pin header to the connector.
|
||||||
|
|
||||||
## Flashing the radiosonde with the firmware (both RS41 and DFM-17)
|
## Flashing the radiosonde with the firmware (both RS41 and DFM-17)
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ volatile bool system_initialized = false;
|
||||||
* Maximum length: 64 characters.
|
* Maximum length: 64 characters.
|
||||||
*/
|
*/
|
||||||
char *cw_message_templates[] = {
|
char *cw_message_templates[] = {
|
||||||
|
"$cs",
|
||||||
// "$cs $loc6 $altm $gs km/h $tiC",
|
// "$cs $loc6 $altm $gs km/h $tiC",
|
||||||
// "$cs $loc6",
|
// "$cs $loc6",
|
||||||
// "$alt m",
|
// "$alt m",
|
||||||
|
@ -83,7 +84,7 @@ char *aprs_comment_templates[] = {
|
||||||
// " B$bu $loc12 $hh:$mm:$ss - " APRS_COMMENT,
|
// " B$bu $loc12 $hh:$mm:$ss - " APRS_COMMENT,
|
||||||
// " $loc12 - " APRS_COMMENT,
|
// " $loc12 - " APRS_COMMENT,
|
||||||
// " $teC $hu% $prmb PC $pc RI $ri uR/h - " APRS_COMMENT,
|
// " $teC $hu% $prmb PC $pc RI $ri uR/h - " APRS_COMMENT,
|
||||||
// " " APRS_COMMENT,
|
" " APRS_COMMENT,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
11
src/config.h
11
src/config.h
|
@ -1,12 +1,9 @@
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
#define __CONFIG_H
|
#define __CONFIG_H
|
||||||
|
|
||||||
// Define radiosonde type. Must be either RS41 or DFM17.
|
// Define radiosonde type. Remove the "//" comment to select either RS41 or DFM17.
|
||||||
//#define RS41
|
//#define RS41
|
||||||
#define DFM17
|
//#define DFM17
|
||||||
|
|
||||||
// Comment the following error to make the DFM17 development branch compile :)
|
|
||||||
#error "DFM17 radiosonde support is a work in progress. This code does not work yet!"
|
|
||||||
|
|
||||||
#if !defined(RS41) && !defined(DFM17)
|
#if !defined(RS41) && !defined(DFM17)
|
||||||
#error "No hardware type specified. Please define RS41 or DFM17."
|
#error "No hardware type specified. Please define RS41 or DFM17."
|
||||||
|
@ -16,8 +13,8 @@
|
||||||
// Enable semihosting to receive debug logs during development
|
// Enable semihosting to receive debug logs during development
|
||||||
// See the README for details on how to set up debugging and debug logs with GDB
|
// See the README for details on how to set up debugging and debug logs with GDB
|
||||||
// NOTE: Semihosting has to be disabled when the RS41 radiosonde is not connected to an STM32 programmer dongle, otherwise the firmware will not run.
|
// NOTE: Semihosting has to be disabled when the RS41 radiosonde is not connected to an STM32 programmer dongle, otherwise the firmware will not run.
|
||||||
#define SEMIHOSTING_ENABLE
|
//#define SEMIHOSTING_ENABLE
|
||||||
#define LOGGING_ENABLE
|
//#define LOGGING_ENABLE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Global configuration
|
* Global configuration
|
||||||
|
|
Ładowanie…
Reference in New Issue