*
* 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
#include <stdint.h>
#include <stdarg.h>
+#define HAS_GPS 1
+
#include <ao_telemetry.h>
#define AO_GPS_NUM_SAT_MASK (0xf << 0)
void
ao_radio_send_aprs(ao_radio_fill_func fill);
+static void
+aprs_bit_debug(uint8_t tx_bit)
+{
+ fprintf (stderr, "bit %d\n", tx_bit);
+}
+
+static void
+aprs_byte_debug(uint8_t tx_byte)
+{
+ fprintf(stderr, "byte %02x\n", tx_byte);
+}
+#define APRS_BIT_DEBUG(x) aprs_bit_debug(x)
+#define APRS_BYTE_DEBUG(y) aprs_byte_debug(y)
+
#include <ao_aprs.c>
/*
#endif
}
-#include <math.h>
-
-int
-ao_aprs_encode_altitude_expensive(int meters)
-{
- double feet = meters / 0.3048;
-
- double encode = log(feet) / log(1.002);
- return floor(encode + 0.5);
-}
-
// This is where we go after reset.
int main(int argc, char **argv)
{
- int e, x;
- int a;
-
- for (a = 1; a < 100000; a++) {
- e = ao_aprs_encode_altitude(a);
- x = ao_aprs_encode_altitude_expensive(a);
-
- if (e != x) {
- double back_feet, back_meters;
- back_feet = pow(1.002, e);
- back_meters = back_feet * 0.3048;
- fprintf (stderr, "APRS altitude encoding failure: altitude %d actual %d expected %d actual meters %f\n",
- a, e, x, back_meters);
- }
- }
-
- audio_gap(1);
+// audio_gap(1);
ao_gps_data.latitude = (45.0 + 28.25 / 60.0) * 10000000;
ao_gps_data.longitude = (-(122 + 44.2649 / 60.0)) * 10000000;
- ao_gps_data.altitude = 84;
+ AO_TELEMETRY_LOCATION_SET_ALTITUDE(&ao_gps_data, 84);
ao_gps_data.flags = (AO_GPS_VALID|AO_GPS_RUNNING);
/* Transmit one packet */