From baec8fb8ea688ee0d739d23215336933898618ef Mon Sep 17 00:00:00 2001 From: "Hansi, dl9rdz" Date: Sat, 30 Oct 2021 17:36:48 +0200 Subject: [PATCH] some better APRS for wettersonde.net support --- RX_FSK/RX_FSK.ino | 2 +- RX_FSK/src/aprs.cpp | 8 +++++--- RX_FSK/src/aprs.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/RX_FSK/RX_FSK.ino b/RX_FSK/RX_FSK.ino index f7f8bfc..f449e12 100644 --- a/RX_FSK/RX_FSK.ino +++ b/RX_FSK/RX_FSK.ino @@ -3235,7 +3235,7 @@ void aprs_station_update() { } Serial.printf("Really updating!! (objcall is %s)", sonde.config.objcall); time_last_aprs_update = time_now; - char *bcn = aprs_send_beacon(sonde.config.call, lat, lon, sonde.config.beaconsym + ((chase==SH_LOC_CHASE)?2:0)); + char *bcn = aprs_send_beacon(sonde.config.call, lat, lon, sonde.config.beaconsym + ((chase==SH_LOC_CHASE)?2:0), sonde.config.comment); if ( tcpclient.disconnected()) { tcpclient.connect(sonde.config.tcpfeed.host, sonde.config.tcpfeed.port); } diff --git a/RX_FSK/src/aprs.cpp b/RX_FSK/src/aprs.cpp index 18ec720..459b957 100644 --- a/RX_FSK/src/aprs.cpp +++ b/RX_FSK/src/aprs.cpp @@ -260,7 +260,7 @@ char b[251]; //char raw[201]; const char *destcall="APRRDZ"; -char *aprs_send_beacon(const char *usercall, float lat, float lon, const char *sym) { +char *aprs_send_beacon(const char *usercall, float lat, float lon, const char *sym, const char *comment) { *b = 0; aprsstr_append(b, usercall); aprsstr_append(b, ">"); @@ -286,7 +286,9 @@ char *aprs_send_beacon(const char *usercall, float lat, float lon, const char *s snprintf(b+i, APRS_MAXLEN-i, "%03d%02d.%02d%c%c", loni, lonm/100, lonm%100, lon<0?'W':'E', sym[1]); // maybe add alt // maybe add DAO? - sprintf(b + strlen(b), "%s", version_name); + i = strlen(b); + snprintf(b+i, APRS_MAXLEN-i, "%s", comment); + //sprintf(b + strlen(b), "%s", version_name); return b; } @@ -297,7 +299,7 @@ char *aprs_senddata(SondeInfo *si, const char *usercall, const char *objcall, co aprsstr_append(b, ">"); // const char *destcall="APRARX,SONDEGATE,TCPIP,qAR,oh3bsg"; aprsstr_append(b, destcall); - if(*objcall) aprsstr_append(b, usercall); + if(*objcall) { aprsstr_append(b, ","); aprsstr_append(b, usercall); } // uncompressed aprsstr_append(b, ":;"); char tmp[10]; diff --git a/RX_FSK/src/aprs.h b/RX_FSK/src/aprs.h index 3cdb1c4..3439973 100644 --- a/RX_FSK/src/aprs.h +++ b/RX_FSK/src/aprs.h @@ -8,7 +8,7 @@ void aprs_gencrctab(void); int aprsstr_mon2raw(const char *mon, char raw[], int raw_len); int aprsstr_mon2kiss(const char *mon, char raw[], int raw_len); -char *aprs_send_beacon(const char *call, float lat, float lon, const char *sym); +char *aprs_send_beacon(const char *call, float lat, float lon, const char *sym, const char *comment); char *aprs_senddata(SondeInfo *s, const char *usercall, const char *objcall, const char *sym);