kopia lustrzana https://github.com/dl9rdz/rdz_ttgo_sonde
meteo in aprs frames
rodzic
e8fdd5dee7
commit
a7f6d6bb7b
|
@ -2530,7 +2530,6 @@ void loopDecoder() {
|
||||||
}
|
}
|
||||||
if(sonde.config.tcpfeed.active) {
|
if(sonde.config.tcpfeed.active) {
|
||||||
static unsigned long lasttcp = 0;
|
static unsigned long lasttcp = 0;
|
||||||
static bool loginok = false;
|
|
||||||
if( tcpclient.disconnected()) {
|
if( tcpclient.disconnected()) {
|
||||||
tcpclient.connect(sonde.config.tcpfeed.host, sonde.config.tcpfeed.port);
|
tcpclient.connect(sonde.config.tcpfeed.host, sonde.config.tcpfeed.port);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include "aprs.h"
|
#include "aprs.h"
|
||||||
|
|
||||||
|
extern const char *version_name;
|
||||||
#if 0
|
#if 0
|
||||||
int openudp(const char *ip, int port, struct sockaddr_in *si) {
|
int openudp(const char *ip, int port, struct sockaddr_in *si) {
|
||||||
int fd;
|
int fd;
|
||||||
|
@ -255,11 +256,10 @@ static uint32_t dao91(double x)
|
||||||
} /* end dao91() */
|
} /* end dao91() */
|
||||||
|
|
||||||
|
|
||||||
char b[201];
|
char b[251];
|
||||||
//char raw[201];
|
//char raw[201];
|
||||||
|
|
||||||
char *aprs_senddata(SondeInfo *si, const char *usercall, const char *sym) {
|
char *aprs_senddata(SondeInfo *si, const char *usercall, const char *sym) {
|
||||||
// float lat, float lon, float alt, float speed, float dir, float climb, const char *type, const char *objname, const char *usercall, const char *sym, const char *comm)
|
|
||||||
SondeData *s = &(si->d);
|
SondeData *s = &(si->d);
|
||||||
*b=0;
|
*b=0;
|
||||||
aprsstr_append(b, usercall);
|
aprsstr_append(b, usercall);
|
||||||
|
@ -288,7 +288,7 @@ char *aprs_senddata(SondeInfo *si, const char *usercall, const char *sym) {
|
||||||
snprintf(b+i, APRS_MAXLEN-i, "%03d%02d.%02d%c%c", loni, lonm/100, lonm%100, s->lon<0?'W':'E', sym[1]);
|
snprintf(b+i, APRS_MAXLEN-i, "%03d%02d.%02d%c%c", loni, lonm/100, lonm%100, s->lon<0?'W':'E', sym[1]);
|
||||||
if(s->hs>0.5) {
|
if(s->hs>0.5) {
|
||||||
i=strlen(b);
|
i=strlen(b);
|
||||||
snprintf(b+i, APRS_MAXLEN-i, "%03d/%03d", realcard(s->dir+1.5), realcard(s->hs*1.0/KNOTS+0.5));
|
snprintf(b+i, APRS_MAXLEN-i, "%03d/%03d", realcard(s->dir+1.5), realcard(s->hs*3.6/KNOTS+0.5));
|
||||||
}
|
}
|
||||||
if(s->alt>0.5) {
|
if(s->alt>0.5) {
|
||||||
i=strlen(b);
|
i=strlen(b);
|
||||||
|
@ -299,13 +299,25 @@ char *aprs_senddata(SondeInfo *si, const char *usercall, const char *sym) {
|
||||||
snprintf(b+i, APRS_MAXLEN-i, "!w%c%c!", 33+dao91(s->lat), 33+dao91(s->lon));
|
snprintf(b+i, APRS_MAXLEN-i, "!w%c%c!", 33+dao91(s->lat), 33+dao91(s->lon));
|
||||||
|
|
||||||
// ??? strcat(b, "&");
|
// ??? strcat(b, "&");
|
||||||
char comm[100];
|
i=strlen(b);
|
||||||
snprintf(comm, 100, "Clb=%.1fm/s %.3fMHz Type=%s", s->vs, si->freq, sondeTypeStr[si->type]);
|
i += snprintf(b+i, APRS_MAXLEN-i, "Clb=%.1fm/s ", s->vs );
|
||||||
strcat(b, comm);
|
if( !isnan(s->pressure) ) {
|
||||||
if( TYPE_IS_DFM(si->type) || TYPE_IS_METEO(si->type) ) {
|
sprintf(b+strlen(b), "p=%.1fhPa ", s->pressure);
|
||||||
snprintf(comm, 100, " ser=%s", s->ser);
|
|
||||||
strcat(b, comm);
|
|
||||||
}
|
}
|
||||||
|
if( !isnan(s->temperature) ) {
|
||||||
|
sprintf(b+strlen(b), "t=%.1fC ", s->temperature);
|
||||||
|
}
|
||||||
|
if( !isnan(s->relativeHumidity) ) {
|
||||||
|
sprintf(b+strlen(b), "h=%.1f%% ", s->relativeHumidity);
|
||||||
|
}
|
||||||
|
sprintf(b+strlen(b), "%.3fMHz Type=%s ", si->freq, sondeTypeStr[si->type]);
|
||||||
|
if( s->countKT != 0xffff && s->vframe - s->crefKT < 51 ) {
|
||||||
|
sprintf(b+strlen(b), "TxOff=%dh%dm ", s->countKT/3600, (s->countKT-s->countKT/3600*3600)/60);
|
||||||
|
}
|
||||||
|
if( TYPE_IS_DFM(si->type) || TYPE_IS_METEO(si->type) ) {
|
||||||
|
sprintf(b + strlen(b), "ser=%s ", s->ser);
|
||||||
|
}
|
||||||
|
sprintf(b + strlen(b), "%s", version_name);
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const char *version_name = "rdzTTGOsonde";
|
const char *version_name = "rdzTTGOsonde";
|
||||||
const char *version_id = "devel20210923";
|
const char *version_id = "devel20210924";
|
||||||
const int SPIFFS_MAJOR=2;
|
const int SPIFFS_MAJOR=2;
|
||||||
const int SPIFFS_MINOR=16;
|
const int SPIFFS_MINOR=16;
|
||||||
|
|
Ładowanie…
Reference in New Issue