erase.unused = 0x00;
erase.flight = ao_flight_number;
ao_storage_write(ao_log_erase_pos(pos), &erase, sizeof (erase));
+ ao_storage_flush();
}
static void
return ao_log_max_flight() != 0;
}
+uint8_t
+ao_log_full(void)
+{
+ return ao_log_current_pos == ao_log_end_pos;
+}
+
static __xdata struct ao_task ao_log_task;
void
{
flight = ao_log_flight(slot);
if (flight)
- printf ("flight %d start %ld end %ld\n",
- flight, ao_log_pos(slot), ao_log_pos(slot+1));
+ printf ("flight %d start %x end %x\n",
+ flight,
+ (uint16_t) (ao_log_pos(slot) >> 8),
+ (uint16_t) (ao_log_pos(slot+1) >> 8));
}
printf ("done\n");
}
/* Look for the flight log matching the requested flight */
for (slot = 0; slot < slots; slot++) {
if (ao_log_flight(slot) == ao_cmd_lex_i) {
+ ao_log_erase_mark();
ao_log_current_pos = ao_log_pos(slot);
ao_log_end_pos = ao_log_current_pos + ao_config.flight_log_max;
while (ao_log_current_pos < ao_log_end_pos) {
return;
}
}
- ao_log_erase_mark();
printf("No such flight: %d\n", ao_cmd_lex_i);
}