static inline uint8_t
ao_usb_connected(void)
{
- return ao_gpio_get(AO_USB_CONNECT_PORT, AO_USB_CONNECT_PIN, AO_USB_CONNECT) != 0;
+ return ao_gpio_get(AO_USB_CONNECT_PORT, AO_USB_CONNECT_PIN) != 0;
}
#else
#define ao_usb_connected() 1
static uint8_t log_started;
static struct ao_telemetry_location gps_data;
static uint8_t tracker_running;
-static uint16_t tracker_interval;
+static uint8_t tracker_interval;
static void
ao_tracker(void)
{
uint8_t new;
- int32_t ground_distance;
- int16_t height;
- uint16_t gps_tick;
+ uint32_t ground_distance;
+ gps_alt_t height;
+ AO_TICK_TYPE gps_tick;
uint8_t new_tracker_running;
#if HAS_ADC
height = -height;
if (ao_tracker_force_telem > 1)
- printf("head %d ring %d ground_distance %d height %d\n", gps_head, ring, ground_distance, height);
- if (ground_distance > ao_config.tracker_motion ||
+ printf("head %d ring %d ground_distance %lu height %ld\n", gps_head, ring, (long) ground_distance, height);
+ if (ground_distance > (uint32_t) ao_config.tracker_motion ||
height > (ao_config.tracker_motion << 1))
{
moving = 1;
static uint8_t erasing_current;
void
-ao_tracker_erase_start(uint16_t flight)
+ao_tracker_erase_start(int32_t flight)
{
- erasing_current = flight == ao_flight_number;
+ erasing_current = flight == (int32_t) ao_flight_number;
if (erasing_current) {
ao_mutex_get(&tracker_mutex);
ao_log_stop();
static void
ao_tracker_set_telem(void)
{
- ao_cmd_hex();
+ uint32_t r = ao_cmd_hex();
if (ao_cmd_status == ao_cmd_success)
- ao_tracker_force_telem = ao_cmd_lex_i;
+ ao_tracker_force_telem = r != 0;
ao_cmd_status = ao_cmd_success;
printf ("flight: %d\n", ao_flight_number);
printf ("force_telem: %d\n", ao_tracker_force_telem);