diff options
author | Keith Packard <keithp@keithp.com> | 2011-10-07 08:40:14 -0600 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-10-07 08:40:14 -0600 |
commit | f6f54d70b768dca1715ddddea64a4df00d82b09e (patch) | |
tree | 7d38769a1ffe092bc7ac062fb0355f5532e4c016 /src/core | |
parent | 1c344b760776cd5d8c0297d8db9bf02687381b4e (diff) | |
parent | 0d10e25766b96f5660e213115cf27b71ff164405 (diff) |
Merge remote-tracking branch 'uniarch/master' into multiarch
Conflicts:
src/core/ao_cmd.c
Use ao_arch_reboot after waiting for a second
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/ao_cmd.c | 6 | ||||
-rw-r--r-- | src/core/ao_flight.c | 11 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/core/ao_cmd.c b/src/core/ao_cmd.c index d0a46633..2b64b8ca 100644 --- a/src/core/ao_cmd.c +++ b/src/core/ao_cmd.c @@ -227,6 +227,12 @@ ao_reboot(void) ao_cmd_white(); if (!ao_match_word("eboot")) return; + /* Delay waiting for the packet master to be turned off + * so that we don't end up back in idle mode because we + * received a packet after boot. + */ + flush(); + ao_delay(AO_SEC_TO_TICKS(1)); ao_arch_reboot(); ao_panic(AO_PANIC_REBOOT); } diff --git a/src/core/ao_flight.c b/src/core/ao_flight.c index a5cf7468..433efeae 100644 --- a/src/core/ao_flight.c +++ b/src/core/ao_flight.c @@ -91,6 +91,8 @@ ao_flight(void) */ ao_flight_state = ao_flight_invalid; + /* Turn on packet system in invalid mode on TeleMetrum */ + ao_packet_slave_start(); } else #endif if (!ao_flight_force_idle @@ -108,8 +110,10 @@ ao_flight(void) ao_usb_disable(); #endif - /* Disable packet mode in pad state */ +#if !HAS_ACCEL + /* Disable packet mode in pad state on TeleMini */ ao_packet_slave_stop(); +#endif /* Turn on telemetry system */ ao_rdf_set(1); @@ -121,6 +125,11 @@ ao_flight(void) /* Set idle mode */ ao_flight_state = ao_flight_idle; +#if HAS_ACCEL + /* Turn on packet system in idle mode on TeleMetrum */ + ao_packet_slave_start(); +#endif + /* signal successful initialization by turning off the LED */ ao_led_off(AO_LED_RED); } |