a stab at turning on rudimentary logging for telefiretwo
[fw/altos] / src / kernel / ao_log.c
index dc3b6486caabea5355753cea8e446fd1eb213dac..0589b4b00513b4fb8b80b03d22b7275dfc510a2b 100644 (file)
@@ -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
@@ -192,12 +193,14 @@ ao_log_find_max_erase_flight(void) __reentrant
                ao_flight_number = 1;
 }
 
-void
+uint8_t
 ao_log_scan(void) __reentrant
 {
        uint8_t         log_slot;
        uint8_t         log_slots;
-#if !FLIGHT_LOG_APPEND
+#if FLIGHT_LOG_APPEND
+       uint8_t         ret;
+#else
        uint8_t         log_want;
 #endif
 
@@ -248,9 +251,13 @@ ao_log_scan(void) __reentrant
                                empty = ao_log_current_pos;
                        }
                }
+               ret = 1;
        } else {
                ao_log_find_max_erase_flight();
+               ret = 0;
        }
+       ao_wakeup(&ao_flight_number);
+       return ret;
 #else
 
        if (ao_flight_number)
@@ -278,8 +285,9 @@ ao_log_scan(void) __reentrant
                if (++log_slot >= log_slots)
                        log_slot = 0;
        } while (log_slot != log_want);
-#endif
        ao_wakeup(&ao_flight_number);
+       return 0;
+#endif
 }
 
 void