Experimental below 1kHz RBW

Removed_REF_marker
erikkaashoek 5 years ago
parent 6dfe1be073
commit 1233be9d20

@ -1236,8 +1236,8 @@ void update_rbw(void) // calculate the actual_rbw and the vbwSteps (#
actual_rbw_x10 = 6000;
#endif
#ifdef __SI4463__
if (actual_rbw_x10 < 11)
actual_rbw_x10 = 11;
if (actual_rbw_x10 < 1)
actual_rbw_x10 = 1;
if (actual_rbw_x10 > 8500)
actual_rbw_x10 = 8500;
#endif

@ -1510,6 +1510,36 @@ static uint16_t getADC(uint8_t adc_en, uint8_t adc_cfg, uint8_t part)
}
// -------------- 0.2 kHz ----------------------------
#undef RF_MODEM_TX_RAMP_DELAY_8_1
#undef RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12_1
#undef RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12_1
#undef RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12_1
#define RF_MODEM_TX_RAMP_DELAY_12_1 0x11, 0x20, 0x0C, 0x18, 0x01, 0x00, 0x08, 0x03, 0x80, 0x00, 0xF0, 0x10, 0x74, 0xE8, 0x00, 0xA9
// #define RF_MODEM_TX_RAMP_DELAY_8_1 0x11, 0x20, 0x08, 0x18, 0x01, 0x00, 0x08, 0x03, 0x80, 0x00, 0xF0, 0x11
#define RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12_1 0x11, 0x21, 0x0C, 0x00, 0x0C, 0x01, 0xE4, 0xB9, 0x86, 0x55, 0x2B, 0x0B, 0xF8, 0xEF, 0xEF, 0xF2
//#define RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12_1 0x11, 0x21, 0x0C, 0x00, 0xC6, 0xC1, 0xB2, 0x9C, 0x80, 0x63, 0x47, 0x2F, 0x1B, 0x0E, 0x05, 0x00
#define RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12_1 0x11, 0x21, 0x0C, 0x0C, 0xF8, 0xFC, 0x05, 0x00, 0xFF, 0x0F, 0x0C, 0x01, 0xE4, 0xB9, 0x86, 0x55
//#define RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12_1 0x11, 0x21, 0x0C, 0x0C, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x0F, 0xC6, 0xC1, 0xB2, 0x9C, 0x80, 0x63
#define RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12_1 0x11, 0x21, 0x0C, 0x18, 0x2B, 0x0B, 0xF8, 0xEF, 0xEF, 0xF2, 0xF8, 0xFC, 0x05, 0x00, 0xFF, 0x0F
//#define RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12_1 0x11, 0x21, 0x0C, 0x18, 0x47, 0x2F, 0x1B, 0x0E, 0x05, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x0F
#define RF_MODEM_RAW_SEARCH2_2_1 0x11, 0x20, 0x02, 0x50, 0x94, 0x0A
#define RF_GLOBAL_CONFIG_1_1 0x11, 0x00, 0x01, 0x03, 0x20
uint8_t SI4463_RBW_02kHz[] =
{
6, RF_MODEM_RAW_SEARCH2_2_1, \
5, RF_GLOBAL_CONFIG_1_1, \
0x0C, RF_MODEM_TX_RAMP_DELAY_12_1, \
0x10, RF_MODEM_CHFLT_RX1_CHFLT_COE13_7_0_12_1, \
0x10, RF_MODEM_CHFLT_RX1_CHFLT_COE1_7_0_12_1, \
0x10, RF_MODEM_CHFLT_RX2_CHFLT_COE7_7_0_12_1, \
0x00
};
// -------------- 1kHz ----------------------------
#undef RF_MODEM_TX_RAMP_DELAY_8_1
@ -1673,6 +1703,7 @@ typedef struct {
static RBW_t RBW_choices[] =
{
// BW register corr freq
{SI4463_RBW_02kHz, 0,2},
{SI4463_RBW_1kHz, 0,10},
{SI4463_RBW_3kHz, 0,30},
{SI4463_RBW_10kHz, 0,100},
@ -1684,18 +1715,18 @@ static RBW_t RBW_choices[] =
static pureRSSI_t SI4463_RSSI_correction = float_TO_PURE_RSSI(-120);
uint16_t SI4463_force_RBW(int i)
uint16_t SI4463_force_RBW(int f)
{
setState(SI446X_STATE_TX_TUNE);
my_microsecond_delay(200);
uint8_t *config = RBW_choices[i].reg;
for(uint16_t i=0;i<sizeof(SI4463_RBW_850kHz);i++)
uint8_t *config = RBW_choices[f].reg;
uint16_t i=0;
while(config[i] != 0)
{
SI4463_do_api((void *)&config[i+1], config[i], NULL, 0);
i += config[i];
i += config[i]+1;
my_microsecond_delay(100);
}
SI4463_start_rx(0);
my_microsecond_delay(1000);

Loading…
Cancel
Save

Powered by TurnKey Linux.