diff --git a/sa_core.c b/sa_core.c index 908acfe..8ec0bd4 100644 --- a/sa_core.c +++ b/sa_core.c @@ -13,7 +13,7 @@ int setting_rbw = 0; int setting_average = 0; int setting_show_stored = 0; int setting_subtract_stored = 0; -int setting_drive=13; // 0-7 , 7=+20dBm, 3dB steps +int setting_drive; // 0-7 , 7=+20dBm, 3dB steps int setting_agc = true; int setting_lna = false; int setting_tracking = false; @@ -46,7 +46,7 @@ void reset_settings(int m) setting_average = 0; setting_show_stored = 0; setting_subtract_stored = 0; - setting_drive=13; + setting_drive=12; setting_step_atten = 0; // Only used in low output mode setting_agc = true; setting_lna = false; @@ -494,11 +494,11 @@ case M_GENLOW: // Mixed output from 0 } else { SetSwitchTransmit(); } - SI4432_Transmit(setting_drive); // Not to overdrive the mixer + SI4432_Transmit(setting_drive); SI4432_Sel = 1; SetSwitchReceive(); - SI4432_Transmit(13); // Fix LO drive a 10dBm + SI4432_Transmit(12); // Fix LO drive a 10dBm break; case M_GENHIGH: // Direct output from 1 @@ -516,6 +516,10 @@ case M_GENHIGH: // Direct output from 1 break; } + SI4432_Sel = 1; + SI4432_Write_Byte(0x73, 0); // Back to nominal offset + SI4432_Write_Byte(0x74, 0); + } void update_rbw(void) diff --git a/si4432.c b/si4432.c index 9f7edb9..90ab674 100644 --- a/si4432.c +++ b/si4432.c @@ -278,12 +278,13 @@ void SI4432_Sub_Init(void) { SI4432_Reset(); - +#if 1 // Not sure if these add any value //set VCO and PLL Only for SI4432 V2 SI4432_Write_Byte(0x72, 0x1F); //write 0x1F to the Frequency Deviation register SI4432_Write_Byte(0x5A, 0x7F); //write 0x7F to the VCO Current Trimming register SI4432_Write_Byte(0x58, 0x80); //write 0xD7 to the ChargepumpCurrentTrimmingOverride register SI4432_Write_Byte(0x59, 0x40); //write 0x40 to the Divider Current Trimming register +#endif //set the AGC SI4432_Write_Byte(0x6A, 0x0B); //write 0x0B to the AGC Override 2 register