projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Transmit computed ground pressure and acceleration values
[fw/altos]
/
ao_telemetry.c
diff --git
a/ao_telemetry.c
b/ao_telemetry.c
index ffee9beeae70e941d070d892841610b9d8db9265..5cf9ca6134c3bfcc4de4e4cb3f9a7180f1a36a18 100644
(file)
--- a/
ao_telemetry.c
+++ b/
ao_telemetry.c
@@
-17,13
+17,6
@@
#include "ao.h"
#include "ao.h"
-/* XXX make serial numbers real */
-
-__xdata uint8_t ao_serial_number = 2;
-
-/* XXX make callsigns real */
-__xdata char ao_callsign[AO_MAX_CALLSIGN] = "KD7SQG";
-
__xdata uint16_t ao_telemetry_interval = 0;
__xdata uint8_t ao_rdf = 0;
__xdata uint16_t ao_rdf_time;
__xdata uint16_t ao_telemetry_interval = 0;
__xdata uint8_t ao_rdf = 0;
__xdata uint16_t ao_rdf_time;
@@
-35,13
+28,19
@@
ao_telemetry(void)
{
static __xdata struct ao_telemetry telemetry;
{
static __xdata struct ao_telemetry telemetry;
+ ao_config_get();
+ memcpy(telemetry.callsign, ao_config.callsign, AO_MAX_CALLSIGN);
telemetry.addr = ao_serial_number;
telemetry.addr = ao_serial_number;
- memcpy(telemetry.callsign, ao_callsign, AO_MAX_CALLSIGN);
ao_rdf_time = ao_time();
for (;;) {
while (ao_telemetry_interval == 0)
ao_sleep(&ao_telemetry_interval);
telemetry.flight_state = ao_flight_state;
ao_rdf_time = ao_time();
for (;;) {
while (ao_telemetry_interval == 0)
ao_sleep(&ao_telemetry_interval);
telemetry.flight_state = ao_flight_state;
+ telemetry.flight_accel = ao_flight_accel;
+ telemetry.ground_accel = ao_ground_accel;
+ telemetry.flight_vel = ao_flight_vel;
+ telemetry.flight_pres = ao_flight_pres;
+ telemetry.ground_pres = ao_ground_pres;
ao_adc_get(&telemetry.adc);
ao_mutex_get(&ao_gps_mutex);
memcpy(&telemetry.gps, &ao_gps_data, sizeof (struct ao_gps_data));
ao_adc_get(&telemetry.adc);
ao_mutex_get(&ao_gps_mutex);
memcpy(&telemetry.gps, &ao_gps_data, sizeof (struct ao_gps_data));
@@
-53,6
+52,7
@@
ao_telemetry(void)
{
ao_rdf_time = ao_time() + AO_RDF_INTERVAL;
ao_radio_rdf();
{
ao_rdf_time = ao_time() + AO_RDF_INTERVAL;
ao_radio_rdf();
+ ao_delay(ao_telemetry_interval);
}
}
}
}
}
}