diff options
| author | Keith Packard <keithp@keithp.com> | 2009-05-28 23:17:33 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2009-05-28 23:17:33 -0700 | 
| commit | 3a3bfd471a868d546d83cdc431b53c8f5208edb9 (patch) | |
| tree | 973f40949c1deb0eb152ec299d7b06be7ee806cd | |
| parent | 4d83eef0fe1d24a845ab29a535dfc56e13e7ee20 (diff) | |
Eliminate RDF tone generation.
Now that we have a viable telemetry-signal based RDF device via TeleDongle,
there's no reason to continue to waste power and bandwidth with a NFM tone.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | ao.h | 9 | ||||
| -rw-r--r-- | ao_flight.c | 7 | ||||
| -rw-r--r-- | ao_flight_test.c | 1 | ||||
| -rw-r--r-- | ao_radio.c | 89 | ||||
| -rw-r--r-- | ao_telemetry.c | 20 | 
5 files changed, 0 insertions, 126 deletions
| @@ -744,9 +744,6 @@ void  ao_telemetry_set_interval(uint16_t interval);  void -ao_rdf_set(uint8_t rdf); - -void  ao_telemetry_init(void);  /* @@ -766,12 +763,6 @@ void  ao_radio_recv(__xdata struct ao_radio_recv *recv) __reentrant;  void -ao_radio_rdf(void); - -void -ao_radio_rdf_abort(void); - -void  ao_radio_init(void);  /* diff --git a/ao_flight.c b/ao_flight.c index 51b2cd5e..c0f56830 100644 --- a/ao_flight.c +++ b/ao_flight.c @@ -227,7 +227,6 @@ ao_flight(void)  				/* Turn on telemetry system  				 */ -				ao_rdf_set(1);  				ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_PAD);  				ao_flight_state = ao_flight_launchpad; @@ -278,9 +277,6 @@ ao_flight(void)  				/* Increase telemetry rate */  				ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT); -				/* disable RDF beacon */ -				ao_rdf_set(0); -  				ao_wakeup(DATA_TO_XDATA(&ao_flight_state));  				break;  			} @@ -360,9 +356,6 @@ ao_flight(void)  				/* slow down the ADC sample rate */  				ao_timer_set_adc_interval(10); -				/* Enable RDF beacon */ -				ao_rdf_set(1); -  				/*  				 * Start recording min/max accel and pres for a while  				 * to figure out when the rocket has landed diff --git a/ao_flight_test.c b/ao_flight_test.c index 038c5b2b..f4731aa8 100644 --- a/ao_flight_test.c +++ b/ao_flight_test.c @@ -68,7 +68,6 @@ uint8_t ao_adc_head;  #define ao_cmd_register(c)  #define ao_usb_disable()  #define ao_telemetry_set_interval(x) -#define ao_rdf_set(rdf)  enum ao_igniter {  	ao_igniter_drogue = 0, @@ -77,29 +77,6 @@  #define DEVIATION_M	6  #define DEVIATION_E	3 -/* - * For our RDF beacon, set the symbol rate to 2kBaud (for a 1kHz tone), - * so the DRATE_E and DRATE_M values are: - * - * M is 94 and E is 6 - * - * To make the tone last for 200ms, we need 2000 * .2 = 400 bits or 50 bytes - */ - -#define RDF_DRATE_E	6 -#define RDF_DRATE_M	94 -#define RDF_PACKET_LEN	50 - -/* - * RDF deviation should match the normal NFM value of 5kHz - * - * M is 6 and E is 1 - * - */ - -#define RDF_DEVIATION_M	6 -#define RDF_DEVIATION_E	1 -  /* This are from the table for 433MHz */  #define RF_POWER_M30_DBM	0x12 @@ -207,28 +184,6 @@ static __code uint8_t radio_setup[] = {  	RF_IOCFG0_OFF,		0x00,  }; -static __code uint8_t rdf_setup[] = { -	RF_MDMCFG4_OFF,		((CHANBW_E << RF_MDMCFG4_CHANBW_E_SHIFT) | -				 (CHANBW_M << RF_MDMCFG4_CHANBW_M_SHIFT) | -				 (RDF_DRATE_E << RF_MDMCFG4_DRATE_E_SHIFT)), -	RF_MDMCFG3_OFF,		(RDF_DRATE_M << RF_MDMCFG3_DRATE_M_SHIFT), -	RF_MDMCFG2_OFF,		(RF_MDMCFG2_DEM_DCFILT_OFF | -				 RF_MDMCFG2_MOD_FORMAT_GFSK | -				 RF_MDMCFG2_SYNC_MODE_15_16_THRES), -	RF_MDMCFG1_OFF,		(RF_MDMCFG1_FEC_DIS | -				 RF_MDMCFG1_NUM_PREAMBLE_2 | -				 (2 << RF_MDMCFG1_CHANSPC_E_SHIFT)), - -	RF_DEVIATN_OFF,		((RDF_DEVIATION_E << RF_DEVIATN_DEVIATION_E_SHIFT) | -				 (RDF_DEVIATION_M << RF_DEVIATN_DEVIATION_M_SHIFT)), - -	/* packet length */ -	RF_PKTLEN_OFF,		RDF_PACKET_LEN, -	RF_PKTCTRL1_OFF,	((1 << PKTCTRL1_PQT_SHIFT)| -				 PKTCTRL1_ADR_CHK_NONE), -	RF_PKTCTRL0_OFF,	(RF_PKTCTRL0_PKT_FORMAT_NORMAL| -				 RF_PKTCTRL0_LENGTH_CONFIG_FIXED), -};  static __code uint8_t telemetry_setup[] = {  	RF_MDMCFG4_OFF,		((CHANBW_E << RF_MDMCFG4_CHANBW_E_SHIFT) | @@ -320,50 +275,6 @@ ao_radio_recv(__xdata struct ao_radio_recv *radio) __reentrant  	ao_mutex_put(&ao_radio_mutex);  } -__xdata ao_radio_rdf_running; -__xdata ao_radio_rdf_value = 0x55; - -void -ao_radio_rdf(void) -{ -	uint8_t i; -	ao_mutex_get(&ao_radio_mutex); -	ao_radio_idle(); -	ao_radio_rdf_running = 1; -	for (i = 0; i < sizeof (rdf_setup); i += 2) -		RF[rdf_setup[i]] = rdf_setup[i+1]; - -	ao_dma_set_transfer(ao_radio_dma, -			    &ao_radio_rdf_value, -			    &RFDXADDR, -			    RDF_PACKET_LEN, -			    DMA_CFG0_WORDSIZE_8 | -			    DMA_CFG0_TMODE_SINGLE | -			    DMA_CFG0_TRIGGER_RADIO, -			    DMA_CFG1_SRCINC_0 | -			    DMA_CFG1_DESTINC_0 | -			    DMA_CFG1_PRIORITY_HIGH); -	ao_dma_start(ao_radio_dma); -	RFST = RFST_STX; - -	__critical while (!ao_radio_dma_done) -		ao_sleep(&ao_radio_dma_done); -	ao_radio_rdf_running = 0; -	ao_radio_idle(); -	for (i = 0; i < sizeof (rdf_setup); i += 2) -		RF[telemetry_setup[i]] = telemetry_setup[i+1]; -	ao_mutex_put(&ao_radio_mutex); -} - -void -ao_radio_rdf_abort(void) -{ -	if (ao_radio_rdf_running) { -		ao_dma_abort(ao_radio_dma); -		ao_radio_idle(); -	} -} -  void  ao_radio_init(void)  { diff --git a/ao_telemetry.c b/ao_telemetry.c index 5cf9ca61..463bcd91 100644 --- a/ao_telemetry.c +++ b/ao_telemetry.c @@ -18,10 +18,6 @@  #include "ao.h"  __xdata uint16_t ao_telemetry_interval = 0; -__xdata uint8_t ao_rdf = 0; -__xdata uint16_t ao_rdf_time; - -#define AO_RDF_INTERVAL	AO_SEC_TO_TICKS(3)  void  ao_telemetry(void) @@ -31,7 +27,6 @@ ao_telemetry(void)  	ao_config_get();  	memcpy(telemetry.callsign, ao_config.callsign, AO_MAX_CALLSIGN);  	telemetry.addr = ao_serial_number; -	ao_rdf_time = ao_time();  	for (;;) {  		while (ao_telemetry_interval == 0)  			ao_sleep(&ao_telemetry_interval); @@ -47,13 +42,6 @@ ao_telemetry(void)  		ao_mutex_put(&ao_gps_mutex);  		ao_radio_send(&telemetry);  		ao_delay(ao_telemetry_interval); -		if (ao_rdf && -		    (int16_t) (ao_time() - ao_rdf_time) >= 0) -		{ -			ao_rdf_time = ao_time() + AO_RDF_INTERVAL; -			ao_radio_rdf(); -			ao_delay(ao_telemetry_interval); -		}  	}  } @@ -64,14 +52,6 @@ ao_telemetry_set_interval(uint16_t interval)  	ao_wakeup(&ao_telemetry_interval);  } -void -ao_rdf_set(uint8_t rdf) -{ -	ao_rdf = rdf; -	if (rdf == 0) -		ao_radio_rdf_abort(); -} -  __xdata struct ao_task	ao_telemetry_task;  void | 
