@ -34,7 +34,9 @@ int32_t frequencyExtra;
*/
// If need run shell as thread (use more amount of memory fore stack), after
// enable this need reduce spi_buffer size, by default shell run in main thread
// #define VNA_SHELL_THREAD
# ifdef TINYSA4
# define VNA_SHELL_THREAD
# endif
static BaseSequentialStream * shell_stream ;
threads_queue_t shell_thread ;
@ -1183,7 +1185,7 @@ config_t config = {
. correction_value =
{
/* low */ { 12.2 , 7.57 , 4.46 , 2.17 , 0.36 , - 0.36 , 0 , - 0.84 , - 0.39 , 0.5 , 0.25 , 1 , 0.08 , 0.48 , 0.37 , 1.53 , 2.98 , 4.74 , 6.25 , 8.73 , } ,
/* low lna */ { 11 , 8.54 , 6.32 , 4.46 , 3.18 , 1.02 , 0.69 , 0.2 , - 0.43 , - 0.41 , 0.58 , 0.66 , - 0.08 , 0.58 , 0.77 , 1.7 , 1.77 , 3.55 , 5.51 , 7.99 , } ,
/* low lna */ { 11 , 8.54 , 6.32 , 4.46 , 3.18 , 1.02 , 0.69 , 0.2 , - 0.43 , - 0.41 , 0.58 , 0.66 , - 0.08 , 0.58 , 0.77 , 1.7 , 1.77 , 3.55 , 5.51 , 7.99 , } ,
/* ultra */ { 0 , 0.58 , 1.7 , 4.53 , 4.46 , 3.23 , 4.64 , 6.29 , 5.67 , 7.03 , 8.78 , 7.04 , 8.25 , 11.42 , 11.63 , 13.29 , 12.38 , 12.58 , 15.75 , 15.93 , } ,
/* ultra lna */ { 0 , 0.49 , 0.52 , 1.26 , 3.13 , 2.68 , 2.68 , 3.45 , 4.7 , 6.2 , 8.49 , 11.54 , 13.51 , 15.82 , 15.82 , 18.66 , 19.41 , 22.6 , 22.8 , 28.1 , } ,
/* direct */ { 35.12 , 34.22 , 32.41 , 30 , 21.7 , 20.41 , 16.45 , 15.91 , 14.86 , 14.34 , 11.63 , 10.71 , 8.88 , 1.25 , 0.629999999999999 , 1.45 , 0.59 , 2.2 , 3.79 , 6.28 , } ,
@ -1226,41 +1228,41 @@ config_t config = {
} ;
const int to_calibrate [ 6 ] = { 9 , 10 , 11 , 12 , 13 , 14 } ;
// const int to_calibrate[6] = {9,10,11,12,13,14};
//properties_t current_props;
//properties_t *active_props = ¤t_props;
# ifdef TINYSA4
const freq_t v5_2_correction_frequency [ CORRECTION_SIZE ] [ CORRECTION_POINTS ] =
{
/* low */ { 100000 , 500000 , 8000000 , 40000000 , 60000000 , 70000000 , 110000000 , 300000000 , 330000000 , 420000000 , 450000000 , 460000000 , 510000000 , 560000000 , 620000000 , 710000000 , 760000000 , 800000000 , 810000000 , 83 0000000} ,
/* low lna */ { 100000, 200000 , 400000 , 700000 , 1000000 , 2000000 , 4000000 , 30000000 , 50000000 , 210000000 , 240000000 , 260000000 , 270000000 , 300000000 , 330000000 , 510000000 , 720000000 , 790000000 , 820000000 , 83 0000000} ,
/* ultra */ { 30000000 , 700000000 , 1900000000, 2600000000 , 2800000000 , 2850000000 , 3200000000 , 3750000000 , 4300000000 , 4600000000 , 4900000000 , 5000000000 , 5300000000 , 5600000000 , 5750000000 , 6000000000 , 6450000000 , 6700000000 , 7050000000 , 72 50000000} ,
/* ultra lna */ { 30000000 , 700000000 , 2 050000000, 2300000000 , 2600000000 , 2800000000 , 2900000000 , 3100000000 , 3550000000 , 3850000000 , 4400000000 , 4800000000 , 5000000000 , 5200000000 , 5400000000 , 6000000000 , 6200000000 , 6450000000 , 6550000000 , 72 50000000} ,
/* direct */ { 140000000 , 1 60000000, 1 80000000, 280000000 , 300000000, 400000000 , 420000000 , 430000000 , 510000000 , 560000000 , 823000000 , 880000000 , 930000000 , 940000000 , 960000000 , 990000000 , 1060000000 , 1080000000 , 111 0000000, 1130000000 } ,
/* direct lna */ { 140000000 , 1 80000000, 280000000 , 300000000 , 330000000 , 400000000 , 410000000 , 430000000 , 460000000 , 470000000 , 490000000 , 550000000 , 560000000 , 823000000 , 850000000 , 870000000 , 940000000 , 960000000 , 980000000 , 1130000000 , } ,
/* harm */ { 30000000 , 6000000000, 6195991091 , 6302895323 , 6400890869 , 6899777283 , 7104677060 , 7398663697 , 7701559020 , 7799554566 , 8200445434 , 8298440980 , 8503340757 , 8904231626 , 9002227171 , 9100222717 , 9198218263 , 9296213808 , 9501113586 , 9804008909 , } ,
/* harm lna */ { 30000000 , 6000000000, 6097995546 , 6204899777 , 6498886414 , 6596881960 , 6801781737 , 7496659243 , 7701559020 , 7995545657 , 8102449889 , 8298440980 , 8396436526 , 8699331849 , 8904231626 , 9100222717 , 9198218263 , 9403118040 , 9697104677 , 10000000000 , } ,
/* out */ { 10000 , 30000 , 100000 , 200000 , 600000 , 5000000 , 170000000 , 250000000 , 300000000 , 390000000 , 490000000 , 650000000 , 690000000 , 740000000 , 780000000 , 800000000 , 810000000 , 820000000 , 823000000 , 830000000 , } ,
/* direct */ { 500000000, 823000000 , 830000000 , 850000000 , 860000000 , 870000000 , 880000000 , 890000000 , 900000000 , 910000000 , 920000000 , 930000000 , 970000000 , 1030000000 , 1040000000 , 1050000000 , 1060000000 , 1070000000 , 1080000000 , 1100000000 , } ,
/* adf */ { 500000000, 700000000 , 1340000000 , 1500000000 , 2000000000 , 2350000000 , 2800000000 , 2810000000 , 3000000000 , 3410000000 , 3600000000 , 3990000000 , 4330000000 , 4570000000 , 4760000000 , 5310000000 , 5320000000 , 5720000000 , 6100000000 , 6440000000 , } ,
/* ultra */ { 10000 , 100000 , 500000, 3000000 , 50000000 , 800000000 , 2300000000 , 2800000000 , 3300000000 , 3620000000 , 4200000000 , 4470000000 , 4480000000 , 4570000000 , 4780000000 , 5330000000 , 5700000000 , 6000000000 , 6390000000 , 7300000000 , } ,
/* low */ { 10000 , 40000 , 80000 , 400000 , 700000 , 3000000 , 30000000 , 130000000 , 170000000 , 220000000 , 420000000 , 460000000 , 750000000 , 820000000 , 860000000 , 870000000 , 880000000 , 890000000 , 900000000 , 90 0000000} ,
/* low lna */ { 20000, 50000 , 100000 , 500000 , 700000 , 1000000 , 7000000 , 30000000 , 220000000 , 360000000 , 420000000 , 630000000 , 750000000 , 810000000 , 850000000 , 860000000 , 870000000 , 880000000 , 890000000 , 90 0000000} ,
/* ultra */ { 30000000 , 700000000 , 4110000000, 4740000000 , 4890000000 , 5010000000 , 5110000000 , 5440000000 , 5780000000 , 6430000000 , 6590000000 , 6800000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 73 50000000} ,
/* ultra lna */ { 30000000 , 700000000 , 2 670000000, 4040000000 , 4390000000 , 4770000000 , 5240000000 , 5470000000 , 5880000000 , 6020000000 , 6200000000 , 6410000000 , 7100000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 7350000000 , 73 50000000} ,
/* direct */ { 140000000 , 1 80000000, 280000000 , 420000000, 560000000 , 830000000 , 920000000 , 1000000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 113 0000000, 1130000000 } ,
/* direct lna */ { 140000000 , 1 70000000, 180000000 , 280000000 , 330000000 , 440000000 , 560000000 , 830000000 , 900000000 , 960000000 , 1040000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 , 1130000000 } ,
/* harm */ { 30000000 , 5000000000, 5070000000 , 5140000000 , 5480000000 , 6110000000 , 6570000000 , 7080000000 , 7270000000 , 7920000000 , 8380000000 , 8700000000 , 8920000000 , 9010000000 , 9260000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 } ,
/* harm lna */ { 30000000 , 5000000000, 5270000000 , 5540000000 , 6170000000 , 6770000000 , 7370000000 , 7920000000 , 8610000000 , 9380000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 , 10000000000 } ,
/* out */ { 10000 0, 300000 , 700000 , 5000000 , 30000000 , 90000000 , 210000000 , 550000000 , 790000000 , 870000000 , 900000000 , 900000000 , 900000000 , 900000000 , 900000000 , 900000000 , 900000000 , 900000000 , 900000000 , 900000000 } ,
/* direct */ { 823000000, 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 , 1140000000 } ,
/* adf */ { 740000000, 1120000000 , 1310000000 , 1430000000 , 1700000000 , 2100000000 , 2200000000 , 2300000000 , 3100000000 , 4000000000 , 4200000000 , 4500000000 , 4600000000 , 4900000000 , 5300000000 , 5600000000 , 6000000000 , 6400000000 , 6400000000 , 6400000000 } ,
/* ultra */ { 10000 , 100000 , 600000, 4000000 , 20000000 , 280000000 , 750000000 , 1230000000 , 2900000000 , 3400000000 , 4100000000 , 4500000000 , 5300000000 , 6000000000 , 6600000000 , 7400000000 , 7400000000 , 7400000000 , 7400000000 , 7400000000 }
} ;
const float v5_2_correction_value [ CORRECTION_SIZE ] [ CORRECTION_POINTS ] =
{
/* low */ { 2.88, 1.06 , 0.9 , 0.85 , 1.3 , 0.72 , 0.8 , 0.53 , 1.03 , 0.81 , 0.55 , 0.05 , - 0.06 , 0.18 , - 0.28 , 0.61 , 0.98 , 2.89 , 3.89 , 7.37 , } ,
/* low lna */ { 6.07, 2.97 , 0.76 , - 0.73 , - 1.37 , - 2.36 , - 2.92 , 1.36 , 2.67 , 3.52 , 6.12 , 9.45 , 9.54 , 5.97 , 4.72 , 3.88 , 4.51 , 6.38 , 9.34 , 11.81 , } ,
/* ultra */ { 0. 8, - 0.28 , 0.73 , 2.69 , 2.03 , 3.31 , 3.66 , 5.8 , 6.23 , 9.6 , 9.98 , 9.93 , 9.51 , 12.2 , 12.78 , 11.56 , 15.13 , 18.42 , 26.5 , 32.3 , } ,
/* ultra lna */ { 1.55, 4.69 , 6.26 , 7.85 , 8.56 , 7.06 , 8.14 , 8.05 , 11.61 , 11.11 , 13 , 16.08 , 15.89 , 14.81 , 14.94 , 19.78 , 20.41 , 19.04 , 19.28 , 38 , } ,
/* direct */ { 34.6, 32.01 , 29.84 , 21.67 , 20.24 , 14.92 , 14.41 , 13.69 , 10.25 , 8.75 , - 0.01 , - 0.14 , 0.69 , 1.18 , 1.19 , 1.94 , 3.52 , 4.36 , 5.11 , 5.69 , } ,
/* direct lna */ { 30.57 , 26.24 , 22.57 , 18.99 , 16.02 , 12.32 , 12.31 , 11.59 , 10.08 , 9.92 , 8.18 , 5.66 , 5.68 , - 2.2 , - 2.65 , - 2.68 , - 1.79 , - 0.94 , - 0.89 , 3.09 , } ,
/* harm */ { 18.7, 18.91 , 19.91 , 19.41 , 19.91 , 21.91 , 22.41 , 23.91 , 26.91 , 28.41 , 34.41 , 36.41 , 37.91 , 35.94 , 35.94 , 36.9 , 38.44 , 40.94 , 44.94 , 48.94 , } ,
/* harm lna */ { 13.6, 24.41 , 23.41 , 23.41 , 19.91 , 19.41 , 21.91 , 27.41 , 31.91 , 39.91 , 41.91 , 43.41 , 42.91 , 38.91 , 40.91 , 44.41 , 47.91 , 57.91 , 61.41 , 61.46 , } ,
/* out */ { 3.84, 2.31 , 1.04 , 0.1 , - 0.82 , - 1.51 , - 2.33 , - 2.25 , - 2.04 , - 1.43 , - 2.2 , - 2.36 , - 1.84 , - 1.23 , 0.51 , 1.8 , 3.17 , 6.28 , 7.85 , 12.37 , } ,
/* direct */ { - 7.76, - 3.85 , - 3.71 , - 3.54 , - 3.45 , - 3.34 , - 3.23 , - 3.11 , - 2.98 , - 2.86 , - 2.74 , - 2.64 , - 2.14 , - 1.29 , - 1.14 , - 1.05 , - 0.89 , - 0.79 , - 0.62 , - 0.31 , } ,
/* adf */ { 5.58 , 3.91 , - 4.52 , - 6 , - 3.36 , - 2.14 , - 2.3 , - 3.11 , - 3.11 , - 2.05 , - 1.5 , - 1.36 , 1.28 , 4.63 , 5.89 , 5.55 , 5.47 , 6.49 , 3.86 , 5.8 , } ,
/* ultra */ { 3.69, 0.75 , - 0.94 , - 1.61 , - 2.45 , - 3.16 , - 1.09 , 0.2 , 0.73 , 2.14 , 2.37 , 4.84 , 3.13 , 4.15 , 4.89 , 4.13 , 7.48 , 7.14 , 8.99 , 18.8 , } ,
/* low */ { 18.66, 14.1 , 11.7 , 9.27 , 1.91 , - 0.84 , - 0.9 , - 0.9 , 0.15 , 0.25 , - 0.2 , - 0.9 , - 0.5 , - 0.5 , 0.5 , 0.5 , 0.8 , 1 , 1.5 , 1.5 } ,
/* low lna */ { 15.48, 11.15 , 9.23 , 6.73 , 1.23 , - 0.6 , - 2 , - 1.47 , - 0.05 , 0.5 , - 0.2 , - 1 , - 0.5 , - 0.4 , - 0.06 , 0.4 , 0.44 , 0.84 , 1 , 1 } ,
/* ultra */ { 0. 001, - 0.07 , 4.68 , 7 , 7.13 , 5.96 , 7.05 , 6.59 , 8.94 , 11.14 , 12.1 , 14.68 , 26 , 26 , 26 , 26 , 26 , 26 , 26 , 26 } ,
/* ultra lna */ { 0.0001, 0.81 , 2.12 , 6.26 , 1.55 , 9.08 , 10.49 , 9.2 , 10.86 , 11.01 , 9.71 , 11.71 , 21.05 , 28.26 , 28.26 , 28.26 , 28.26 , 28.26 , 28.26 , 28.26 } ,
/* direct */ { 55.9, 47.83 , 35.46 , 24.2 , 15.84 , 2.47 , - 0.03 , - 0.2 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 } ,
/* direct lna */ { 55 , 49.54 , 48 , 35.46 , 31 , 22.6 , 15.49 , 2.49 , 0.001 , - 0.5 , - 0.5 , 0.47 , 0.47 , 0.47 , 0.47 , 0.47 , 0.47 , 0.47 , 0.47 , 0.47 } ,
/* harm */ { 0.001, 15.49 , 15.08 , 14.77 , 13.6 , 14.37 , 16.33 , 23.47 , 25.08 , 25.87 , 30.1 , 34.5 , 39.51 , 40.5 , 40.14 , 42.77 , 42.77 , 42.77 , 42.77 , 42.77 } ,
/* harm lna */ { 0.001, 20.53 , 20.89 , 15.67 , 13.32 , 22.15 , 27.77 , 28.3 , 34.67 , 49.83 , 52.42 , 52.42 , 52.42 , 52.42 , 52.42 , 52.42 , 52.42 , 52.42 , 52.42 , 52.42 } ,
/* out */ { 0.77, - 2.79 , - 3.73 , - 5.29 , - 5.74 , - 5.7 , - 4.08 , - 5.35 , - 4.77 , - 3.74 , - 2.53 , - 2.53 , - 2.53 , - 2.53 , - 2.53 , - 2.53 , - 2.53 , - 2.53 , - 2.53 , - 2.53 } ,
/* direct */ { - 3.8, 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 , 0.31 } ,
/* adf */ { - 4.8 , 3.34 , - 6 , - 8.6 , - 10.7 , - 7.33 , - 7.73 , - 8.38 , - 4.39 , - 2.64 , - 0.58 , 6.76 , 6.76 , 3.53 , 3.93 , 2.21 , 2.43 , 3.31 , 3.31 , 3.31 } ,
/* ultra */ { 5.72, 0.57 , - 3.73 , - 5.19 , - 5.49 , - 4.51 , - 5.35 , - 3.81 , - 2.44 , - 0.59 , 0.12 , 4.84 , 2.21 , 3.5 , 6.29 , 18.3 , 18.3 , 18.3 , 18.3 , 18.3 } ,
} ;
const float v5_2_harmonic_lna_level_offset = 0 ; // should be in correction table now -7; // Depends on where the transition to harmonic is done!!!!!! TODO find best frequency to transition to harmonic
@ -2989,7 +2991,7 @@ void set_freq_boundaries(void) {
MAX_ABOVE_IF_FREQ = 3030000000ULL + config . overclock ; // Range to use for below IF
MIN_BELOW_IF_FREQ = 2430000000ULL + config . overclock ; // Range to use for below IF
}
set_jump_freq ( MAX_ABOVE_IF_FREQ , ( config . harmonic_start ? config . harmonic_start : ULTRA_MAX_FREQ ) , MIN_BELOW_IF_FREQ );
set_jump_freq ( MAX_ABOVE_IF_FREQ , MIN_BELOW_IF_FREQ , ( config . harmonic_start ? config . harmonic_start : ULTRA_MAX_FREQ ) ); // Harmonic must be last
}
# endif