diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ao_flight.c | 11 | ||||
| -rw-r--r-- | src/ao_packet_slave.c | 4 | ||||
| -rw-r--r-- | src/ao_pins.h | 6 | 
3 files changed, 14 insertions, 7 deletions
diff --git a/src/ao_flight.c b/src/ao_flight.c index 843865e8..8e370c4f 100644 --- a/src/ao_flight.c +++ b/src/ao_flight.c @@ -358,10 +358,6 @@ ao_flight(void)  				 * (or uncalibrated values), so we go into invalid mode  				 */  				ao_flight_state = ao_flight_invalid; -				/* Allow packet mode in invalid flight state, -				 * Still need to be able to fix the problem! -				 */ -				ao_packet_slave_start();  			} else  #endif @@ -380,6 +376,10 @@ ao_flight(void)  				 */  				ao_usb_disable();  #endif + +				/* Disable packet mode in pad state */ +				ao_packet_slave_stop(); +  				/* Turn on telemetry system */  				ao_rdf_set(1);  				ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_PAD); @@ -390,9 +390,6 @@ ao_flight(void)  				/* Set idle mode */   				ao_flight_state = ao_flight_idle; -				/* Turn on packet system in idle mode */ -				ao_packet_slave_start(); -  				/* signal successful initialization by turning off the LED */  				ao_led_off(AO_LED_RED);  			} diff --git a/src/ao_packet_slave.c b/src/ao_packet_slave.c index 39d04bbb..eb456dab 100644 --- a/src/ao_packet_slave.c +++ b/src/ao_packet_slave.c @@ -26,6 +26,9 @@ ao_packet_slave(void)  	while (ao_packet_enable) {  		if (ao_packet_recv()) {  			memcpy(&ao_tx_packet.callsign, &ao_rx_packet.packet.callsign, AO_MAX_CALLSIGN); +#if HAS_FLIGHT +			ao_flight_force_idle = TRUE; +#endif  			ao_packet_send();  		}  	} @@ -60,4 +63,5 @@ ao_packet_slave_init(void)  	ao_add_stdio(ao_packet_pollchar,  		     ao_packet_putchar,  		     NULL); +	ao_packet_slave_start();  } diff --git a/src/ao_pins.h b/src/ao_pins.h index 59604588..a486b9ba 100644 --- a/src/ao_pins.h +++ b/src/ao_pins.h @@ -19,6 +19,7 @@  #define _AO_PINS_H_  #if defined(TELEMETRUM_V_1_0) +	#define HAS_FLIGHT		1  	#define HAS_USB			1  	#define HAS_BEEP		1  	#define HAS_GPS			1 @@ -39,6 +40,7 @@  #endif  #if defined(TELEMETRUM_V_1_1) +	#define HAS_FLIGHT		1  	#define HAS_USB			1  	#define HAS_BEEP		1  	#define HAS_GPS			1 @@ -63,6 +65,7 @@  #endif  #if defined(TELEDONGLE_V_0_2) +	#define HAS_FLIGHT		0  	#define HAS_USB			1  	#define HAS_BEEP		0  	#define HAS_SERIAL_1		0 @@ -81,6 +84,7 @@  #endif  #if defined(TELEMETRUM_V_0_1) +	#define HAS_FLIGHT		1  	#define HAS_USB			1  	#define HAS_BEEP		1  	#define HAS_GPS			1 @@ -103,6 +107,7 @@  #endif  #if defined(TELEDONGLE_V_0_1) +	#define HAS_FLIGHT		0  	#define HAS_USB			1  	#define HAS_BEEP		0  	#define HAS_SERIAL_1		0 @@ -121,6 +126,7 @@  #endif  #if defined(TIDONGLE) +	#define HAS_FLIGHT		0  	#define HAS_USB			1  	#define HAS_BEEP		0  	#define HAS_SERIAL_1		0  | 
