diff --git a/main.c b/main.c index dfff10e..8386e93 100644 --- a/main.c +++ b/main.c @@ -1019,7 +1019,7 @@ config_t config = { /* out */ { 30000, 100000, 200000, 600000, 5000000, 10000000, 110000000, 120000000, 240000000, 300000000, 400000000, 490000000, 650000000, 690000000, 750000000, 780000000, 800000000, 810000000, 823000000, 830000000, }, /* direct */ { 500000000, 823000000, 830000000, 850000000, 860000000, 870000000, 880000000, 890000000, 900000000, 910000000, 920000000, 930000000, 1030000000, 1040000000, 1050000000, 1060000000, 1080000000, 1100000000, 1120000000, 1130000000, }, /* adf */ { 500000000, 1130000000, 1240000000, 1400000000, 1500000000, 1560000000, 1610000000, 1850000000, 1970000000, 2210000000, 2350000000, 2600000000, 2800000000, 2810000000, 2940000000, 3000000000, 3250000000, 3480000000, 3830000000, 4400000000, }, - /* ultra */ { 823000000, 1020000000, 1470000000, 1640000000, 1950000000, 2230000000, 2510000000, 2800000000, 2810000000, 2980000000, 3110000000, 3190000000, 3300000000, 3360000000, 3380000000, 3640000000, 3890000000, 4220000000, 5030000000, 5400000000, }, + /* ultra */ { 823000000, 1130000000, 1390000000, 1580000000, 1950000000, 2210000000, 2800000000, 2810000000, 2980000000, 3100000000, 3200000000, 3360000000, 3380000000, 3600000000, 3720000000, 3820000000, 3990000000, 4220000000, 5010000000, 5400000000, }, }, .correction_value = { @@ -1029,10 +1029,10 @@ config_t config = { /* ultra lna */ { 0, 0.74, 1.93, 1.81, 2.64, 1.55, 2.45, 5.1, 7.78, 9.46, 13.98, 15.34, 18.41, 19.96, 23.21, 21.82, 22.09, 24.23, 25.42, 26.02, }, /* direct */ { 4.98, 3.43, 2.6, 0, -8.46, -14.19, -13.67, -15.69, -18.7, -21.64, -30.68, -30.3, -30.13, -29.18, -29.46, -28.56, -27.77, -26.79, -25.11, -24.06, }, /* direct lna */ { 4.98, 3, 0, -9.4, -11, -15.63, -16.11, -18.7, -20.79, -23.52, -31.62, -31.58, -31.03, -30.36, -30.43, -28.56, -27.31, -27.05, -25.41, -25.41, }, - /* out */ { 4.88, 1.05, -1.13, -3, -3.97, -4.02, -4.56, -4.78, -3.73, -3.68, -2.8, -3.48, -3.44, -2.99, -2.18, -1.12, 0, 0.82, 2.66, 4.88, }, - /* direct */ { -7.92, -4.27, -4.13, -3.93, -3.73, -3.67, -3.57, -3.43, -3.34, -3.17, -3.2, -3, -1.65, -1.67, -1.37, -1.41, -0.94, -0.77, -0.53, 0.35, }, - /* adf */ { 0.11, 0.57, 3.36, 7.95, 10.25, 11.22, 11.28, 9.39, 8.15, 7.71, 8.22, 7.92, 6.97, 6.1, 4.45, 4.3, 4.46, 6.46, 11.25, 15.5, }, - /* ultra */ { -3.67, -3.04, -0.55, -0.59, -2.18, -1.98, -0.92, 1.04, 0.17, 0.13, 1.16, 0.8, 1.5, 1.78, 1.13, 1.78, 0.99, 1.06, 7.35, 6.5, }, + /* out */ { 4.67, 1.06, -0.8, -2.53, -4.01, -4.16, -4.57, -4.67, -3.57, -3.42, -2.95, -3.52, -3.4, -2.96, -2.11, -1.1, 0.02, 0.96, 2.86, 4.87, }, + /* direct */ { -7.4, -3.63, -3.52, -3.35, -3.22, -3.1, -2.99, -2.9, -2.79, -2.62, -2.51, -2.47, -1.14, -1.02, -0.87, -0.77, -0.38, -0.22, 0.04, 0.22, }, + /* adf */ { -1.05, -0.3, 2.28, 6.72, 8.44, 8.97, 8.96, 8.5, 8.02, 7.74, 8.48, 7.73, 6.22, 5.33, 3.38, 3.11, 3.12, 5.15, 9.5, 11.12, }, + /* ultra */ { -3.49, -1.82, 0.74, 0.69, -2.16, -2.23, 0.81, 0.06, -0.1, 0.82, 0.65, 1.89, 1.64, 2.24, 1.32, 1.62, 0.76, 1.77, 7.57, 7.35, }, }, .setting_frequency_30mhz = 30000000ULL * FREQ_MULTIPLIER, .cor_am = 0, diff --git a/nanovna.h b/nanovna.h index c603e78..75ed8a8 100644 --- a/nanovna.h +++ b/nanovna.h @@ -18,7 +18,7 @@ */ #include "ch.h" -#ifdef TINYSA_F303 +//#ifdef TINYSA_F303 #ifdef TINYSA_F072 #error "Remove comment for #ifdef TINYSA_F303" #endif @@ -26,7 +26,7 @@ #define TINYSA4 #endif #define TINYSA4_PROTO -#endif +//#endif #ifdef TINYSA_F072 #ifdef TINYSA_F303 diff --git a/radio_config_Si4468_default.h b/radio_config_Si4468_default.h index b118bda..6de55fd 100644 --- a/radio_config_Si4468_default.h +++ b/radio_config_Si4468_default.h @@ -236,7 +236,7 @@ // MODEM_RSSI_CONTROL2 - RSSI Jump Detection control. // MODEM_RSSI_COMP - RSSI compensation value. */ -#define RF_MODEM_RSSI_JUMP_THRESH_4 0x11, 0x20, 0x04, 0x4B, 0x06, 0x09, 0x10, 0x40 +#define RF_MODEM_RSSI_JUMP_THRESH_4 0x11, 0x20, 0x04, 0x4B, 0x06, 0x1B, 0x10, 0x40 /* // Set properties: RF_MODEM_RAW_SEARCH2_2 @@ -463,7 +463,7 @@ // FRR_CTL_C_MODE - Fast Response Register C Configuration. // FRR_CTL_D_MODE - Fast Response Register D Configuration. */ -#define RF_FRR_CTL_A_MODE_4 0x11, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00 +#define RF_FRR_CTL_A_MODE_4 0x11, 0x02, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00 /* // Set properties: RF_PREAMBLE_CONFIG_STD_1_1 @@ -628,7 +628,7 @@ // MODEM_RSSI_CONTROL2 - RSSI Jump Detection control. // MODEM_RSSI_COMP - RSSI compensation value. */ -#define RF_MODEM_RAW_CONTROL_10 0x11, 0x20, 0x0A, 0x45, 0x8F, 0x02, 0x7F, 0x01, 0x00, 0xFF, 0x08, 0x08, 0x1A, 0x40 +#define RF_MODEM_RAW_CONTROL_10 0x11, 0x20, 0x0A, 0x45, 0x8F, 0x02, 0x7F, 0x01, 0x00, 0xFF, 0x08, 0x1B, 0x1A, 0x40 /* // Set properties: RF_MODEM_RAW_SEARCH2_2_1 diff --git a/si4468.c b/si4468.c index 3e68232..81d4873 100644 --- a/si4468.c +++ b/si4468.c @@ -26,7 +26,7 @@ #pragma GCC push_options #pragma GCC optimize ("O2") -//#define __USE_FFR_FOR_RSSI__ +//#define __USE_FRR_FOR_RSSI__ // Define for use hardware SPI mode @@ -910,7 +910,7 @@ static void SI4463_set_properties(uint16_t prop, void* values, uint8_t len) #define GLOBAL_GPIO_PIN_CFG 0x13, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 #define GLOBAL_CLK_CFG 0x11, 0x00, 0x01, 0x01, 0x00 // ---------------------------------------------------------------------------------------------------- v ------------ RSSI control byte -#define GLOBAL_RF_MODEM_RAW_CONTROL 0x11, 0x20, 0x0A, 0x45, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x10, 0x40 +#define GLOBAL_RF_MODEM_RAW_CONTROL 0x11, 0x20, 0x0A, 0x45, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x10, 0x40 //0x11 SI446X_CMD_SET_PROPERTY //0x20 SI446X_PROP_GROUP_MODEM //0x0A 10 Count @@ -1117,7 +1117,7 @@ int SI4463_start_rx(uint8_t CHANNEL) 0, 0, 0, -#ifdef __USE_FFR_FOR_RSSI__ +#ifdef __USE_FRR_FOR_RSSI__ SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_RX, #else SI446X_CMD_START_RX_ARG_NEXT_STATE1_RXTIMEOUT_STATE_ENUM_NOCHANGE, @@ -1343,7 +1343,7 @@ static bool buf_read = false; static char Si446x_readRSSI(void){ char rssi; -#ifdef __USE_FFR_FOR_RSSI__ +#ifdef __USE_FRR_FOR_RSSI__ #if 0 // Restart RX, not needed as modem stays in RX mode SI4463_WAIT_CTS; // Wait for CTS SPI_WRITE_8BIT(SI4432_SPI, SI446X_CMD_ID_START_RX); @@ -1521,8 +1521,7 @@ void SI446x_Fill(int s, int start) systime_t measure = chVTGetSystemTimeX(); int i = start; // For SI446X_CMD_READ_FRR_A need drop Rx buffer -#ifdef __USE_FFR_FOR_RSSI__ - SI4463_WAIT_CTS; // Wait for CTS +#ifdef __USE_FRR_FOR_RSSI__ while(SPI_RX_IS_NOT_EMPTY(SI4432_SPI)) (void)SPI_READ_8BIT(SI4432_SPI); // Remove lingering bytes // Get first point data pureRSSI_t last; @@ -1535,10 +1534,11 @@ void SI446x_Fill(int s, int start) last = SPI_READ_8BIT(SI4432_SPI); // Get FRR A SI_CS_HIGH; } while (last == 0); + #endif __disable_irq(); do { -#ifndef __USE_FFR_FOR_RSSI__ +#ifndef __USE_FRR_FOR_RSSI__ if (t) my_microsecond_delay(t); age[i] = Si446x_readRSSI();