X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fkernel%2Fao_gps_report_metrum.c;h=b5f58893b78184679adbd9d126c8d5ba3532d871;hp=31939385673be015f3bcf34e92c89797f7fd295d;hb=3ed101d634968666cd3ee2d8c49737970caf406b;hpb=34d5be68ca23e8beb05db9a480faef63ecc911d0 diff --git a/src/kernel/ao_gps_report_metrum.c b/src/kernel/ao_gps_report_metrum.c index 31939385..b5f58893 100644 --- a/src/kernel/ao_gps_report_metrum.c +++ b/src/kernel/ao_gps_report_metrum.c @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,12 +19,12 @@ #include "ao.h" #include "ao_log.h" -void +static void ao_gps_report_metrum(void) { - static __xdata struct ao_log_metrum gps_log; - static __xdata struct ao_telemetry_location gps_data; - static __xdata struct ao_telemetry_satellite gps_tracking_data; + static struct ao_log_metrum gps_log; + static struct ao_telemetry_location gps_data; + static struct ao_telemetry_satellite gps_tracking_data; uint8_t c, n, i; uint8_t svid; uint8_t new; @@ -33,9 +34,9 @@ ao_gps_report_metrum(void) ao_sleep(&ao_gps_new); ao_mutex_get(&ao_gps_mutex); if (new & AO_GPS_NEW_DATA) - ao_xmemcpy(&gps_data, &ao_gps_data, sizeof (ao_gps_data)); + memcpy(&gps_data, &ao_gps_data, sizeof (ao_gps_data)); if (new & AO_GPS_NEW_TRACKING) - ao_xmemcpy(&gps_tracking_data, &ao_gps_tracking_data, sizeof (ao_gps_tracking_data)); + memcpy(&gps_tracking_data, &ao_gps_tracking_data, sizeof (ao_gps_tracking_data)); ao_gps_new = 0; ao_mutex_put(&ao_gps_mutex); @@ -46,7 +47,7 @@ ao_gps_report_metrum(void) gps_log.u.gps.longitude = gps_data.longitude; gps_log.u.gps.altitude_low = gps_data.altitude_low; gps_log.u.gps.altitude_high = gps_data.altitude_high; - ao_log_metrum(&gps_log); + ao_log_write(&gps_log); gps_log.type = AO_LOG_GPS_TIME; gps_log.u.gps_time.hour = gps_data.hour; @@ -56,7 +57,8 @@ ao_gps_report_metrum(void) gps_log.u.gps_time.year = gps_data.year; gps_log.u.gps_time.month = gps_data.month; gps_log.u.gps_time.day = gps_data.day; - ao_log_metrum(&gps_log); + gps_log.u.gps_time.pdop = gps_data.pdop; + ao_log_write(&gps_log); } if ((new & AO_GPS_NEW_TRACKING) && (n = gps_tracking_data.channels)) { @@ -69,7 +71,7 @@ ao_gps_report_metrum(void) if (i == 4) { gps_log.u.gps_sat.channels = i; gps_log.u.gps_sat.more = 1; - ao_log_metrum(&gps_log); + ao_log_write(&gps_log); i = 0; } gps_log.u.gps_sat.sats[i].svid = svid; @@ -80,13 +82,13 @@ ao_gps_report_metrum(void) if (i) { gps_log.u.gps_sat.channels = i; gps_log.u.gps_sat.more = 0; - ao_log_metrum(&gps_log); + ao_log_write(&gps_log); } } } } -__xdata struct ao_task ao_gps_report_metrum_task; +struct ao_task ao_gps_report_metrum_task; void ao_gps_report_metrum_init(void)