void measures_aprsFormat(char *buf, size_t len) { const char *lat, *lon; if (gps_fixed()) { lat = gps_aprsLat(); lon = gps_aprsLon(); } else { lat = "0000.00N"; lon = "00000.00W"; } char time[7]; radio_time(time, sizeof(time)); size_t cnt = snprintf(buf, len, "/%.6sh%s/%s>", time, lat, lon); if (cnt < len) { buf += cnt; len -= cnt; measures_printMeasures(buf, len); } else buf[len-1] = '\0'; }
void measures_aprsFormat(char *buf, size_t len) { const char *lat, *lon; if (gps_fixed()) { lat = gps_aprsLat(); lon = gps_aprsLon(); } else { lat = "0000.00N"; lon = "00000.00W"; } float x = measures_acceleration(MMA_X); float y = measures_acceleration(MMA_Y); float z = measures_acceleration(MMA_Z); float acc = sqrt(x * x + y * y + z * z); char time[7]; radio_time(time, sizeof(time)); snprintf(buf, len, "/%.6sh%s/%s>%ld;%.1f;%.0f;%.0f;%.1f;%.2f;%.2f;%d", time, lat, lon, gps_info()->altitude, sensor_read(ADC_T1), sensor_read(ADC_PRESS), sensor_read(ADC_HUMIDITY), measures_intTemp(), sensor_read(ADC_VIN), acc, hadarp_read() ); buf[len - 1] = '\0'; }