kopia lustrzana https://github.com/rs1729/RS
M20: batt Volt
rodzic
ec17c88d62
commit
ef7c372b6b
|
@ -104,6 +104,7 @@ typedef struct {
|
||||||
double vH; double vD; double vV;
|
double vH; double vD; double vV;
|
||||||
double vx; double vy; double vD2;
|
double vx; double vy; double vD2;
|
||||||
float T; float RH; float TH; float P;
|
float T; float RH; float TH; float P;
|
||||||
|
float batV;
|
||||||
ui8_t numSV;
|
ui8_t numSV;
|
||||||
//ui8_t utc_ofs;
|
//ui8_t utc_ofs;
|
||||||
ui8_t fwVer;
|
ui8_t fwVer;
|
||||||
|
@ -724,6 +725,16 @@ static float get_P(gpx_t *gpx) {
|
||||||
return hPa;
|
return hPa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static float get_BatV(gpx_t *gpx) {
|
||||||
|
float batV = 0.0f;
|
||||||
|
ui8_t val = gpx->frame_bytes[0x26]; // cf. DF9DQ
|
||||||
|
|
||||||
|
batV = val * (3.3f/255); // upper 8 bits ADC
|
||||||
|
|
||||||
|
return batV;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static int print_pos(gpx_t *gpx, int bcOK, int csOK) {
|
static int print_pos(gpx_t *gpx, int bcOK, int csOK) {
|
||||||
|
@ -752,6 +763,8 @@ static int print_pos(gpx_t *gpx, int bcOK, int csOK) {
|
||||||
gpx->P = get_P(gpx); // (optional) pressure
|
gpx->P = get_P(gpx); // (optional) pressure
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gpx->batV = get_BatV(gpx); // battery V
|
||||||
|
|
||||||
if ( !gpx->option.slt )
|
if ( !gpx->option.slt )
|
||||||
{
|
{
|
||||||
if (gpx->option.col) {
|
if (gpx->option.col) {
|
||||||
|
@ -795,6 +808,9 @@ static int print_pos(gpx_t *gpx, int bcOK, int csOK) {
|
||||||
else fprintf(stdout, " P=%.1fhPa ", gpx->P);
|
else fprintf(stdout, " P=%.1fhPa ", gpx->P);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (gpx->option.vbs >= 3 && csOK) {
|
||||||
|
fprintf(stdout, " (bat:%.2fV)", gpx->batV);
|
||||||
|
}
|
||||||
fprintf(stdout, ANSI_COLOR_RESET"");
|
fprintf(stdout, ANSI_COLOR_RESET"");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -837,6 +853,9 @@ static int print_pos(gpx_t *gpx, int bcOK, int csOK) {
|
||||||
else fprintf(stdout, " P=%.1fhPa ", gpx->P);
|
else fprintf(stdout, " P=%.1fhPa ", gpx->P);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (gpx->option.vbs >= 3 && csOK) {
|
||||||
|
fprintf(stdout, " (bat:%.2fV)", gpx->batV);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fprintf(stdout, "\n");
|
fprintf(stdout, "\n");
|
||||||
}
|
}
|
||||||
|
@ -861,6 +880,7 @@ static int print_pos(gpx_t *gpx, int bcOK, int csOK) {
|
||||||
if (gpx->RH > -0.5f) fprintf(stdout, ", \"humidity\": %.1f", gpx->RH );
|
if (gpx->RH > -0.5f) fprintf(stdout, ", \"humidity\": %.1f", gpx->RH );
|
||||||
if (gpx->P > 0.0f) fprintf(stdout, ", \"pressure\": %.2f", gpx->P );
|
if (gpx->P > 0.0f) fprintf(stdout, ", \"pressure\": %.2f", gpx->P );
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, ", \"batt\": %.2f", gpx->batV);
|
||||||
fprintf(stdout, ", \"rawid\": \"M20_%02X%02X%02X\"", gpx->frame_bytes[pos_SN], gpx->frame_bytes[pos_SN+1], gpx->frame_bytes[pos_SN+2]); // gpx->type
|
fprintf(stdout, ", \"rawid\": \"M20_%02X%02X%02X\"", gpx->frame_bytes[pos_SN], gpx->frame_bytes[pos_SN+1], gpx->frame_bytes[pos_SN+2]); // gpx->type
|
||||||
fprintf(stdout, ", \"subtype\": \"0x%02X\"", gpx->type);
|
fprintf(stdout, ", \"subtype\": \"0x%02X\"", gpx->type);
|
||||||
if (gpx->jsn_freq > 0) {
|
if (gpx->jsn_freq > 0) {
|
||||||
|
|
Ładowanie…
Reference in New Issue