kopia lustrzana https://github.com/Qyon/STM32_RTTY
preparation for renaming the project to be more precise for what it can be used. Additional changes in different places regarding this renaming.
rodzic
d019809035
commit
3abc827b94
|
@ -16,7 +16,7 @@ else()
|
|||
CMAKE_FORCE_CXX_COMPILER(${TOOLCHAIN_DIR}/arm-none-eabi-g++.exe GNU)
|
||||
endif()
|
||||
|
||||
project(STM32_RTTY C CXX)
|
||||
project(RS41HUP C CXX)
|
||||
|
||||
add_definitions(-DSTM32F100C8)
|
||||
add_definitions(-DSTM32F10X_MD_VL)
|
||||
|
@ -60,5 +60,10 @@ set(CMAKE_CXX_STANDARD 11)
|
|||
|
||||
add_custom_target(program
|
||||
DEPENDS ${PROJECT_NAME}.elf
|
||||
COMMAND D:/Programy/stlink-1.3.0-win64/bin/st-flash --reset write ${BIN_FILE} 0x08000000
|
||||
|
||||
if(UNIX)
|
||||
#TODO
|
||||
else()
|
||||
COMMAND D:/Programy/stlink-1.3.0-win64/bin/st-flash --reset write ${BIN_FILE} 0x08000000
|
||||
endif()
|
||||
COMMENT "flashing ${BIN_FILE}")
|
||||
|
|
55
README.md
55
README.md
|
@ -1,19 +1,44 @@
|
|||
# STM32_RTTY
|
||||
STM32 & SI4032 rtty test
|
||||
# RS41-HUP (Ham Use Project)
|
||||
Firmware for Vaisala RS41 for HAM use
|
||||
It is posible to recycle Vaisala's RS41-SGP sondes for amateur radio use without any electrical changes. You just have to build a new firmware (this one) and apply it via a cheap adaptor "ST-Linkv2". Modified sonde now transmits on defineable frequenca in 70cm band GPS and telemetry data in FSK RTTY format which is used by HAB projects and additionally it transmits APRS packets on a seperately defineable TX frequency.
|
||||
|
||||
Released under GPL v2
|
||||
|
||||
|
||||
# Windows:
|
||||
|
||||
Use:
|
||||
https://www.wyzbee.com/download/Utilities/Software/CoIDE-1.7.8.exe
|
||||
|
||||
And:
|
||||
https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/+download/gcc-arm-none-eabi-5_4-2016q3-20160926-win32.exe
|
||||
|
||||
Using Linux:
|
||||
|
||||
# Linux:
|
||||
cd into main folder
|
||||
cmake .
|
||||
make
|
||||
|
||||
# Configuration
|
||||
All configs in ```config.h```
|
||||
Shift 450Hz
|
||||
|
||||
* ```CALLSIGN``` RTTY callsign
|
||||
* ```APRS_CALLSIGN``` APRS callsign
|
||||
* ```APRS_SSID``` APRS SSID
|
||||
* ```APRS_COMMENT``` APRS comment
|
||||
* ```RTTY_TO_APRS_RATIO``` number of RTTY frames between each APRS frame
|
||||
* ```RTTY_FREQUENCY``` RTTY frequency in MHz
|
||||
* ```APRS_FREQUENCY``` APRS frequency in MHz
|
||||
* ```RTTY_DEVIATION``` RTTY shift configurable in 270Hz steps
|
||||
* ```RTTY_SPEED``` RTTY speed in bauds
|
||||
* ```RTTY_7BIT``` Use 7 bit RTTY
|
||||
* ```RTTY_USE_2_STOP_BITS``` use 2 stop bits
|
||||
* ```TX_POWER``` Power 0-7, (7 means 42.95 mW@434.150 MHz measured on E4406A)
|
||||
* ```TX_DELAY``` Delay between frames in milliseconds
|
||||
* ```ALLOW_DISABLE_BY_BUTTON``` Allow disabling device using button
|
||||
|
||||
|
||||
Have a nice day ;)
|
||||
|
||||
#Changelog
|
||||
|
@ -25,22 +50,8 @@ Have a nice day ;)
|
|||
|
||||
#TODO
|
||||
* More APRS config options
|
||||
* Temperature and moisture sensor?
|
||||
|
||||
# Configuration
|
||||
All configs in ```config.h```
|
||||
Shift 450Hz
|
||||
|
||||
* ```CALLSIGN``` RTTY callsign
|
||||
* ```APRS_CALLSIGN``` APRS callsign
|
||||
* ```APRS_COMMENT``` APRS comment
|
||||
* ```APRS_SSID``` APRS SSID - '1' -> 1, 'A' -> 10 etc.
|
||||
* ```RTTY_TO_APRS_RATIO``` number of RTTY frames between each APRS frame
|
||||
* ```RTTY_FREQUENCY``` RTTY frequency in MHz
|
||||
* ```APRS_FREQUENCY``` APRS frequency in MHz
|
||||
* ```RTTY_SPEED``` RTTY speed in bauds
|
||||
* ```RTTY_7BIT``` Use 7 bit RTTY
|
||||
* ```RTTY_USE_2_STOP_BITS``` use 2 stop bits
|
||||
* ```Smoc``` Power 0-7, where 7 means 42.95 mW@434.150 MHz measured on E4406A
|
||||
* ```tx_delay``` Delay between frames in milliseconds
|
||||
* ```ALLOW_DISABLE_BY_BUTTON``` Allow disabling device using button
|
||||
* Temperature and moisture sensor
|
||||
* Pressure sensor
|
||||
* implementing protocol for using external devices on extension header
|
||||
* Configuration via extension header (serial connection) without need for reflashing firmware
|
||||
* Possibly add configuration "wireless" using RFID loop present in sonde
|
6
aprs.h
6
aprs.h
|
@ -2,8 +2,8 @@
|
|||
// Created by Admin on 2017-01-09.
|
||||
//
|
||||
|
||||
#ifndef STM32_RTTY_APRS_H
|
||||
#define STM32_RTTY_APRS_H
|
||||
#ifndef RS41HUP_APRS_H
|
||||
#define RS41HUP_APRS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include <stdint.h>
|
||||
|
@ -21,4 +21,4 @@ extern "C" {
|
|||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif //STM32_RTTY_APRS_H
|
||||
#endif //RS41HUP_APRS_H
|
||||
|
|
10
config.h
10
config.h
|
@ -2,8 +2,8 @@
|
|||
// Created by SQ5RWU on 2016-12-24.
|
||||
//
|
||||
|
||||
#ifndef STM32_RTTY_CONFIG_H
|
||||
#define STM32_RTTY_CONFIG_H
|
||||
#ifndef RS41HUP_CONFIG_H
|
||||
#define RS41HUP_CONFIG_H
|
||||
|
||||
#ifdef USE_EXTERNAL_CONFIG
|
||||
#include "config_external.h"
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
|
||||
//**************RTTY Data Format**********************
|
||||
$$<callsign>,<frame>,<hhmmss>,<latitude>,<longitude>,<height>,<radio chip temperature (°C)>,<battery voltage>,<used gps satellites>,<good gps datasets>,<bad gps datasets>,<gps fix>,<CRC>
|
||||
// $$<callsign>,<frame>,<hhmmss>,<latitude>,<longitude>,<height>,<radio chip temperature (°C)>,<battery voltage>,<used gps satellites>,<good gps datasets>,<bad gps datasets>,<gps fix>,<CRC>
|
||||
|
||||
|
||||
//**************config**********************
|
||||
|
@ -71,7 +71,7 @@ $$<callsign>,<frame>,<hhmmss>,<latitude>,<longitude>,<height>,<radio chip temper
|
|||
#define ALLOW_DISABLE_BY_BUTTON 1
|
||||
|
||||
//********** Frame Delay in msec**********************
|
||||
#define tx_delay 5000
|
||||
#define TX_DELAY 5000
|
||||
#endif
|
||||
|
||||
#endif //STM32_RTTY_CONFIG_H
|
||||
#endif //RS41HUP_CONFIG_H
|
||||
|
|
2
main.c
2
main.c
|
@ -77,7 +77,7 @@ void TIM2_IRQHandler(void) {
|
|||
GPIO_SetBits(GPIOB, RED);
|
||||
if (*(++rtty_buf) == 0) {
|
||||
tx_on = 0;
|
||||
tx_on_delay = tx_delay / (1000/RTTY_SPEED);
|
||||
tx_on_delay = TX_DELAY / (1000/RTTY_SPEED);
|
||||
tx_enable = 0;
|
||||
radio_disable_tx();
|
||||
}
|
||||
|
|
6
radio.h
6
radio.h
|
@ -2,8 +2,8 @@
|
|||
// Created by SQ5RWU on 2016-12-24.
|
||||
//
|
||||
|
||||
#ifndef STM32_RTTY_RADIO_H
|
||||
#define STM32_RTTY_RADIO_H
|
||||
#ifndef RS41HUP_RADIO_H
|
||||
#define RS41HUP_RADIO_H
|
||||
|
||||
#include "config.h"
|
||||
#include <stdint.h>
|
||||
|
@ -37,4 +37,4 @@ int8_t radio_read_temperature();
|
|||
}
|
||||
#endif
|
||||
|
||||
#endif //STM32_RTTY_RADIO_H
|
||||
#endif //RS41HUP_RADIO_H
|
||||
|
|
6
ublox.h
6
ublox.h
|
@ -2,8 +2,8 @@
|
|||
// Created by SQ5RWU on 2016-12-27.
|
||||
//
|
||||
|
||||
#ifndef STM32_RTTY_UBLOX_H
|
||||
#define STM32_RTTY_UBLOX_H
|
||||
#ifndef RS41HUP_UBLOX_H
|
||||
#define RS41HUP_UBLOX_H
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct {
|
||||
|
@ -207,4 +207,4 @@ void ublox_handle_incoming_byte(uint8_t data);
|
|||
void ublox_handle_packet(uBloxPacket *pkt);
|
||||
uint8_t ublox_wait_for_ack();
|
||||
|
||||
#endif //STM32_RTTY_UBLOX_H
|
||||
#endif //RS41HUP_UBLOX_H
|
||||
|
|
Ładowanie…
Reference in New Issue