X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fao_gps_skytraq.c;h=361c77ce9883a671cd98dd8fa3f5fd6f102927df;hb=05bb953830604721c9a49dd56256b86f3666b5ff;hp=bf192f28e4f0f0e4d8a0eef3e0fcaa688b328ba5;hpb=b0d7e3f9c9322542e9b649bb6ad7f7e5bb99dffa;p=fw%2Faltos diff --git a/src/ao_gps_skytraq.c b/src/ao_gps_skytraq.c index bf192f28..361c77ce 100644 --- a/src/ao_gps_skytraq.c +++ b/src/ao_gps_skytraq.c @@ -271,7 +271,15 @@ ao_gps(void) __reentrant ao_gps_next.flags |= i; ao_gps_lexchar(); - ao_gps_skip_field(); /* Horizontal dilution */ + ao_gps_next.hdop = ao_gps_decimal(0xff); + if (ao_gps_next.hdop <= 50) { + ao_gps_next.hdop = (uint8_t) 5 * ao_gps_next.hdop; + if (ao_gps_char == '.') + ao_gps_next.hdop = (ao_gps_next.hdop + + ((uint8_t) ao_gps_decimal(1) >> 1)); + } else + ao_gps_next.hdop = 255; + ao_gps_skip_field(); ao_gps_next.altitude = ao_gps_decimal(0xff); ao_gps_skip_field(); /* skip any fractional portion */ @@ -402,25 +410,8 @@ ao_gps(void) __reentrant __xdata struct ao_task ao_gps_task; -static void -gps_dump(void) __reentrant -{ - ao_mutex_get(&ao_gps_mutex); - ao_gps_print(&ao_gps_data); - putchar('\n'); - ao_gps_tracking_print(&ao_gps_tracking_data); - putchar('\n'); - ao_mutex_put(&ao_gps_mutex); -} - -__code struct ao_cmds ao_gps_cmds[] = { - { 'g', gps_dump, "g Display current GPS values" }, - { 0, gps_dump, NULL }, -}; - void ao_gps_init(void) { ao_add_task(&ao_gps_task, ao_gps, "gps"); - ao_cmd_register(&ao_gps_cmds[0]); }