diff options
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/ao_cc115l.c | 5 | ||||
| -rw-r--r-- | src/drivers/ao_rf_cc115l.h | 2 | ||||
| -rw-r--r-- | src/drivers/ao_rfpa0133.c | 7 | 
3 files changed, 9 insertions, 5 deletions
diff --git a/src/drivers/ao_cc115l.c b/src/drivers/ao_cc115l.c index feff82af..5b0ec3d7 100644 --- a/src/drivers/ao_cc115l.c +++ b/src/drivers/ao_cc115l.c @@ -452,6 +452,7 @@ static void  ao_radio_get(uint8_t len)  {  	static uint32_t	last_radio_setting; +	static uint8_t	last_power_setting;  	ao_mutex_get(&ao_radio_mutex);  	if (!ao_radio_configured) @@ -462,6 +463,10 @@ ao_radio_get(uint8_t len)  		ao_radio_reg_write(CC115L_FREQ0, ao_config.radio_setting);  		last_radio_setting = ao_config.radio_setting;  	} +	if (ao_config.radio_power != last_power_setting) { +		ao_radio_reg_write(CC115L_PA, ao_config.radio_power); +		last_power_setting = ao_config.radio_power; +	}  	ao_radio_set_len(len);  } diff --git a/src/drivers/ao_rf_cc115l.h b/src/drivers/ao_rf_cc115l.h index 6eb30bf2..50a730ab 100644 --- a/src/drivers/ao_rf_cc115l.h +++ b/src/drivers/ao_rf_cc115l.h @@ -80,4 +80,4 @@          CC115L_TEST1,                       0x35,       /* Various Test Settings */          CC115L_TEST0,                       0x09,       /* Various Test Settings */ -	CC115L_PA,		     	    0x60,	 /* Power setting (0dBm) */ +	CC115L_PA,		     	    0x00,	 /* Power setting (0dBm) */ diff --git a/src/drivers/ao_rfpa0133.c b/src/drivers/ao_rfpa0133.c index 70d5edba..a98e261a 100644 --- a/src/drivers/ao_rfpa0133.c +++ b/src/drivers/ao_rfpa0133.c @@ -17,10 +17,8 @@  #include "ao.h" -static uint8_t	power = 0; -  static void -ao_rfpa0133_set_power(void) +ao_rfpa0133_set_power(uint8_t power)  {  	ao_gpio_set(AO_PA_GAIN_8_GPIO, AO_PA_GAIN_8_PIN, AO_PA_GAIN_8, power & 1);  	ao_gpio_set(AO_PA_GAIN_16_GPIO, AO_PA_GAIN_16_PIN, AO_PA_GAIN_16, (power >> 1) & 1); @@ -29,7 +27,7 @@ ao_rfpa0133_set_power(void)  void  ao_radio_pa_on(void)  { -	ao_rfpa0133_set_power(); +	ao_rfpa0133_set_power(ao_config.radio_amp);  	ao_gpio_set(AO_PA_POWER_GPIO, AO_PA_POWER_PIN, AO_PA_POWER, 1);  } @@ -37,6 +35,7 @@ void  ao_radio_pa_off(void)  {  	ao_gpio_set(AO_PA_POWER_GPIO, AO_PA_POWER_PIN, AO_PA_POWER, 0); +	ao_rfpa0133_set_power(0);  }  void  | 
