kopia lustrzana https://github.com/dl9rdz/rdz_ttgo_sonde
v0.5b: fixed memory leak; initial travis ci support
rodzic
c056bc94f6
commit
170e7cb2f2
|
@ -0,0 +1,30 @@
|
||||||
|
language: c
|
||||||
|
before_install:
|
||||||
|
- "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16"
|
||||||
|
- sleep 3
|
||||||
|
- export DISPLAY=:1.0
|
||||||
|
- wget https://downloads.arduino.cc/arduino-1.8.9-linux64.tar.xz
|
||||||
|
- tar xf arduino-1.8.9-linux64.tar.xz
|
||||||
|
- sudo mv arduino-1.8.9 /usr/local/share/arduino
|
||||||
|
- sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino
|
||||||
|
- wget https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip
|
||||||
|
- unzip master.zip
|
||||||
|
- sudo mv ESPAsyncWebServer-master /usr/local/share/arduino/libraries/ESPAsyncWebServer
|
||||||
|
- rm master.zip
|
||||||
|
- wget https://github.com/me-no-dev/AsyncTCP/archive/master.zip
|
||||||
|
- unzip master.zip
|
||||||
|
- sudo mv AsyncTCP-master /usr/local/share/arduino/libraries/AsyncTCP
|
||||||
|
|
||||||
|
install:
|
||||||
|
- arduino --pref "boardsmanager.additional.urls=https://dl.espressif.com/dl/package_esp32_index.json" --save-prefs
|
||||||
|
- arduino --pref "custom_FlashFreq=ttgo-lora32-v1_80" --save-prefs
|
||||||
|
- arduino --install-boards esp32:esp32 --save-prefs
|
||||||
|
- ln -s $PWD/libraries/SondeLib /usr/local/share/arduino/libraries/SondeLib
|
||||||
|
- ln -s $PWD/libraries/SX1278FSK /usr/local/share/arduino/libraries/SX1278FSK
|
||||||
|
- arduino --install-library "U8g2"
|
||||||
|
script:
|
||||||
|
- arduino --board esp32:esp32:ttgo-lora32-v1 --verify $PWD/RX_FSK/RX_FSK.ino
|
||||||
|
notifications:
|
||||||
|
email:
|
||||||
|
on_success: change
|
||||||
|
on_failure: change
|
|
@ -1002,7 +1002,7 @@ void initialMode() {
|
||||||
// 2: access point mode in background. directly start initial mode (spectrum or scanner)
|
// 2: access point mode in background. directly start initial mode (spectrum or scanner)
|
||||||
// 3: traditional sync. WifiScan. Tries to connect to a network, in case of failure activates AP.
|
// 3: traditional sync. WifiScan. Tries to connect to a network, in case of failure activates AP.
|
||||||
// Mode 3 shows more debug information on serial port and display.
|
// Mode 3 shows more debug information on serial port and display.
|
||||||
static char* _scan[2] = {"/", "\\"};
|
static const char* _scan[2] = {"/", "\\"};
|
||||||
void loopWifiScan() {
|
void loopWifiScan() {
|
||||||
if (sonde.config.wifi == 0) { // no Wifi
|
if (sonde.config.wifi == 0) { // no Wifi
|
||||||
wifi_state = WIFI_DISABLED;
|
wifi_state = WIFI_DISABLED;
|
||||||
|
@ -1102,7 +1102,8 @@ void loopWifiScan() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
Serial.println("Running main loop");
|
Serial.print("Running main loop. free heap:");
|
||||||
|
Serial.println(ESP.getFreeHeap());
|
||||||
switch (mainState) {
|
switch (mainState) {
|
||||||
case ST_DECODER: loopDecoder(); break;
|
case ST_DECODER: loopDecoder(); break;
|
||||||
case ST_SCANNER: loopScanner(); break;
|
case ST_SCANNER: loopScanner(); break;
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
const char *version_name = "RDZ_TTGO_SONDE";
|
const char *version_name = "RDZ_TTGO_SONDE";
|
||||||
const char *version_id = "master v0.5";
|
const char *version_id = "master v0.5b";
|
||||||
|
|
|
@ -108,11 +108,11 @@
|
||||||
#define REG_MODEM_CONFIG3 0x26
|
#define REG_MODEM_CONFIG3 0x26
|
||||||
#define REG_SYNC_CONFIG 0x27
|
#define REG_SYNC_CONFIG 0x27
|
||||||
#define REG_SYNC_VALUE1 0x28
|
#define REG_SYNC_VALUE1 0x28
|
||||||
#define REG_FEI_MSB 0x28
|
#define REG_LORA_FEI_MSB 0x28
|
||||||
#define REG_SYNC_VALUE2 0x29
|
#define REG_SYNC_VALUE2 0x29
|
||||||
#define REG_FEI_MID 0x29
|
#define REG_LORA_FEI_MID 0x29
|
||||||
#define REG_SYNC_VALUE3 0x2A
|
#define REG_SYNC_VALUE3 0x2A
|
||||||
#define REG_FEI_LSB 0x2A
|
#define REG_LORA_FEI_LSB 0x2A
|
||||||
#define REG_SYNC_VALUE4 0x2B
|
#define REG_SYNC_VALUE4 0x2B
|
||||||
#define REG_SYNC_VALUE5 0x2C
|
#define REG_SYNC_VALUE5 0x2C
|
||||||
#define REG_RSSI_WIDEBAND 0x2C
|
#define REG_RSSI_WIDEBAND 0x2C
|
||||||
|
|
|
@ -147,7 +147,7 @@ int DFM::hamming(uint8_t *ham, int L, uint8_t *sym) {
|
||||||
DFM::DFM() {
|
DFM::DFM() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void DFM::printRaw(char *label, int len, int ret, uint8_t *data)
|
void DFM::printRaw(const char *label, int len, int ret, const uint8_t *data)
|
||||||
{
|
{
|
||||||
Serial.print(label); Serial.print("(");
|
Serial.print(label); Serial.print("(");
|
||||||
Serial.print(ret);
|
Serial.print(ret);
|
||||||
|
|
|
@ -27,7 +27,7 @@ private:
|
||||||
uint32_t bits2val(const uint8_t *bits, int len);
|
uint32_t bits2val(const uint8_t *bits, int len);
|
||||||
int check(uint8_t code[8]);
|
int check(uint8_t code[8]);
|
||||||
int hamming(uint8_t *ham, int L, uint8_t *sym);
|
int hamming(uint8_t *ham, int L, uint8_t *sym);
|
||||||
void printRaw(char *prefix, int len, int ret, uint8_t* data);
|
void printRaw(const char *prefix, int len, int ret, const uint8_t* data);
|
||||||
int decodeCFG(uint8_t *cfg);
|
int decodeCFG(uint8_t *cfg);
|
||||||
int decodeDAT(uint8_t *dat);
|
int decodeDAT(uint8_t *dat);
|
||||||
int bitsToBytes(uint8_t *bits, uint8_t *bytes, int len);
|
int bitsToBytes(uint8_t *bits, uint8_t *bytes, int len);
|
||||||
|
|
|
@ -74,8 +74,11 @@ int RS41::setup()
|
||||||
#if RS41_DEBUG
|
#if RS41_DEBUG
|
||||||
Serial.println("Setup sx1278 for RS41 sonde");
|
Serial.println("Setup sx1278 for RS41 sonde");
|
||||||
#endif
|
#endif
|
||||||
|
if(!initialized) {
|
||||||
Gencrctab();
|
Gencrctab();
|
||||||
initrsc();
|
initrsc();
|
||||||
|
initialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
if(sx1278.ON()!=0) {
|
if(sx1278.ON()!=0) {
|
||||||
RS41_DBG(Serial.println("Setting SX1278 power on FAILED"));
|
RS41_DBG(Serial.println("Setting SX1278 power on FAILED"));
|
||||||
|
|
|
@ -42,6 +42,7 @@ private:
|
||||||
{ 1, 1, 1, 0, 0, 0, 0, 1}};
|
{ 1, 1, 1, 0, 0, 0, 0, 1}};
|
||||||
uint8_t He[8] = { 0x7, 0xB, 0xD, 0xE, 0x8, 0x4, 0x2, 0x1}; // Spalten von H:
|
uint8_t He[8] = { 0x7, 0xB, 0xD, 0xE, 0x8, 0x4, 0x2, 0x1}; // Spalten von H:
|
||||||
// 1-bit-error-Syndrome
|
// 1-bit-error-Syndrome
|
||||||
|
boolean initialized = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RS41();
|
RS41();
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>;
|
#include <stdlib.h>
|
||||||
//#include <arpa/inet.h>
|
//#include <arpa/inet.h>
|
||||||
//#include <sys/socket.h>
|
//#include <sys/socket.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
enum IDTYPE { ID_DFMDXL, ID_DFMGRAW, ID_DFMAUTO };
|
enum IDTYPE { ID_DFMDXL, ID_DFMGRAW, ID_DFMAUTO };
|
||||||
|
|
||||||
typedef struct st_feedinfo {
|
struct st_feedinfo {
|
||||||
bool active;
|
bool active;
|
||||||
int type; // 0:UDP(axudp), 1:TCP(aprs.fi)
|
int type; // 0:UDP(axudp), 1:TCP(aprs.fi)
|
||||||
char host[64];
|
char host[64];
|
||||||
|
|
Ładowanie…
Reference in New Issue