diff --git a/STM32/Core/Src/front_unit.c b/STM32/Core/Src/front_unit.c index 1222af5..415ff46 100644 --- a/STM32/Core/Src/front_unit.c +++ b/STM32/Core/Src/front_unit.c @@ -50,7 +50,7 @@ static bool FRONTPanel_MCP3008_1_Enabled = true; static int32_t ENCODER_slowler = 0; static uint32_t ENCODER_AValDeb = 0; static uint32_t ENCODER2_AValDeb = 0; -static uint8_t enc2_func_mode = 0; +//static uint8_t enc2_func_mode = 0; //static bool enc2_func_mode = false; //false - fast-step, true - func mode (WPM, etc...) #if (defined(BUTTONS_R7KBI)) // @@ -302,7 +302,7 @@ static void FRONTPANEL_ENCODER2_Rotated(int8_t direction) // rotated encoder, ha } else { - if (enc2_func_mode == 0) //function buttons scroll + if (TRX.TX_func_mode == 0) //function buttons scroll { PERIPH_FrontPanel_BottomScroll_index += direction; if(PERIPH_FrontPanel_BottomScroll_index < 0) @@ -312,7 +312,7 @@ static void FRONTPANEL_ENCODER2_Rotated(int8_t direction) // rotated encoder, ha PERIPH_FrontPanel_BottomScroll_Buttons_Active = PERIPH_FrontPanel_BottomScroll_Buttons[PERIPH_FrontPanel_BottomScroll_index]; LCD_UpdateQuery.TopButtons = true; } - if (enc2_func_mode == 1) //set volume + if (TRX.TX_func_mode == 1) //set volume { int16_t newvolume = (int16_t)TRX.Volume + direction * 5; // newvolume /= 5; @@ -327,7 +327,7 @@ static void FRONTPANEL_ENCODER2_Rotated(int8_t direction) // rotated encoder, ha LCD_showTooltip(str); } //################################################################################## - if (enc2_func_mode == 2) //fast step mode + if (TRX.TX_func_mode == 2) //fast step mode { VFO *vfo = CurrentVFO(); @@ -415,6 +415,7 @@ void FRONTPANEL_check_ENC2SW(void) { menu_enc2_click_starttime = HAL_GetTick(); FRONTPANEL_ENC2SW_click_handler(0); + } } @@ -423,17 +424,18 @@ static void FRONTPANEL_ENC2SW_click_handler(uint32_t parameter) //ENC2 CLICK if (!LCD_systemMenuOpened) { - enc2_func_mode++; //enc2 rotary mode - if(enc2_func_mode >= 3) - enc2_func_mode = 0; - - if (enc2_func_mode == 0) + TRX.TX_func_mode++; //enc2 rotary mode + if(TRX.TX_func_mode >= 3) + TRX.TX_func_mode = 0; + if (TRX.TX_func_mode == 0) LCD_showTooltip("BUTTONS"); - if (enc2_func_mode == 1) + if (TRX.TX_func_mode == 1) LCD_showTooltip("SET VOLUME"); - if (enc2_func_mode == 2) + if (TRX.TX_func_mode == 2) LCD_showTooltip("FAST STEP"); - + + + } else { diff --git a/STM32/Core/Src/lcd.c b/STM32/Core/Src/lcd.c index 7f6fe8d..b078400 100644 --- a/STM32/Core/Src/lcd.c +++ b/STM32/Core/Src/lcd.c @@ -632,6 +632,22 @@ static void LCD_displayStatusInfoBar(bool redraw) addSymbols(buff, buff, 12, " ", true); LCDDriver_printText(buff, LAY_STATUS_LABEL_BW_X_OFFSET, LAY_STATUS_Y_OFFSET + LAY_STATUS_LABEL_BW_Y_OFFSET, COLOR->STATUS_LABEL_BW, BG_COLOR, LAY_STATUS_LABELS_FONT_SIZE); + + // + if (TRX.TX_func_mode == 0) + { + LCDDriver_printTextFont("B", LAY_STATUS_VAL_X_OFFSET, LAY_STATUS_VAL_Y_OFFSET, COLOR->STATUS_RX, BG_COLOR, LAY_STATUS_TXRX_FONT); + } + if (TRX.TX_func_mode == 1) + { + LCDDriver_printTextFont("V", LAY_STATUS_VAL_X_OFFSET, LAY_STATUS_VAL_Y_OFFSET, COLOR->STATUS_RX, BG_COLOR, LAY_STATUS_TXRX_FONT); + } + if (TRX.TX_func_mode == 2) + { + LCDDriver_printTextFont("S", LAY_STATUS_VAL_X_OFFSET, LAY_STATUS_VAL_Y_OFFSET, COLOR->STATUS_RX, BG_COLOR, LAY_STATUS_TXRX_FONT); + } + + //RIT if (TRX.CLAR) sprintf(buff, "RIT:CLAR"); diff --git a/STM32/Core/Src/screen_layout.h b/STM32/Core/Src/screen_layout.h index 4e51fde..7a459b6 100644 --- a/STM32/Core/Src/screen_layout.h +++ b/STM32/Core/Src/screen_layout.h @@ -81,6 +81,8 @@ #define LAY_STATUS_BAR_HEIGHT 10 #define LAY_STATUS_TXRX_X_OFFSET 3 #define LAY_STATUS_TXRX_Y_OFFSET -50 +#define LAY_STATUS_VAL_X_OFFSET 12 //############################# +#define LAY_STATUS_VAL_Y_OFFSET 125 //############################# #define LAY_STATUS_TXRX_FONT &FreeSans9pt7b #define LAY_STATUS_VFO_X_OFFSET 0 #define LAY_STATUS_VFO_Y_OFFSET -43 diff --git a/STM32/Core/Src/settings.c b/STM32/Core/Src/settings.c index 24a9e7a..f706e54 100644 --- a/STM32/Core/Src/settings.c +++ b/STM32/Core/Src/settings.c @@ -210,6 +210,7 @@ void LoadSettings(bool clear) TRX.TX_Compressor_maxgain_SSB = 10; // TX максимальное усиление SSB TRX.TX_Compressor_speed_AMFM = 3; // TX скорость компрессора AM/FM TRX.TX_Compressor_maxgain_AMFM = 10; // TX максимальное усиление AM/FM + TRX.TX_func_mode = 0; // Режим валкодера TRX.MIC_GAIN = 3; // Microphone gain TRX.MIC_BOOST = false; // Microphone boost +20dB TRX.RX_EQ_LOW = 0; // Receiver Equalizer (Low) diff --git a/STM32/Core/Src/settings.h b/STM32/Core/Src/settings.h index 5af63a0..7ac1e6f 100644 --- a/STM32/Core/Src/settings.h +++ b/STM32/Core/Src/settings.h @@ -149,6 +149,7 @@ extern struct TRX_SETTINGS bool MIC_BOOST; int8_t RX_EQ_LOW; // int8_t LCD_position; + int8_t TX_func_mode; int8_t RX_EQ_MID; int8_t RX_EQ_HIG; int8_t MIC_EQ_LOW; diff --git a/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h b/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h index 1ca03f5..4769186 100644 --- a/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h +++ b/STM32/MDK-ARM/RTE/_WOLF-Lite/RTE_Components.h @@ -1,21 +1,21 @@ - -/* - * Auto generated Run-Time-Environment Configuration File - * *** Do not modify ! *** - * - * Project: 'WOLF-Lite' - * Target: 'WOLF-Lite' - */ - -#ifndef RTE_COMPONENTS_H -#define RTE_COMPONENTS_H - - -/* - * Define the Device Header File: - */ -#define CMSIS_device_header "stm32f4xx.h" - - - -#endif /* RTE_COMPONENTS_H */ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'WOLF-Lite' + * Target: 'WOLF-Lite' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f4xx.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/STM32/MDK-ARM/WOLF-Lite.uvoptx b/STM32/MDK-ARM/WOLF-Lite.uvoptx index b3d055a..baf099b 100644 --- a/STM32/MDK-ARM/WOLF-Lite.uvoptx +++ b/STM32/MDK-ARM/WOLF-Lite.uvoptx @@ -933,6 +933,150 @@ + + 49 + 0 + 425 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\front_unit.c + + +
+ + 50 + 0 + 812 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\lcd.c + + +
+ + 51 + 0 + 813 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\lcd.c + + +
+ + 52 + 0 + 167 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\screen_layout.h + + +
+ + 53 + 0 + 170 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\screen_layout.h + + +
+ + 54 + 0 + 824 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\lcd.c + + +
+ + 55 + 0 + 825 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\lcd.c + + +
+ + 56 + 0 + 826 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\lcd.c + + +
+ + 57 + 0 + 827 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ..\Core\Src\lcd.c + + +
0 diff --git a/STM32/MDK-ARM/WOLF-Lite.uvprojx b/STM32/MDK-ARM/WOLF-Lite.uvprojx index cc0265d..f37f1fd 100644 --- a/STM32/MDK-ARM/WOLF-Lite.uvprojx +++ b/STM32/MDK-ARM/WOLF-Lite.uvprojx @@ -10,7 +10,7 @@ WOLF-Lite 0x4 ARM-ADS - 6160000::V6.16::ARMCLANG + 6150000::V6.15::ARMCLANG 1 diff --git a/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp b/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp index 0a1880c..6f293bb 100644 --- a/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp +++ b/STM32/MDK-ARM/WOLF-Lite/WOLF-Lite.lnp @@ -63,33 +63,18 @@ "wolf-lite\usbd_desc.o" "wolf-lite\usbd_ioreq.o" "wolf-lite\basicmathfunctions.o" -"wolf-lite\basicmathfunctionsf16.o" "wolf-lite\bayesfunctions.o" -"wolf-lite\bayesfunctionsf16.o" "wolf-lite\commontables.o" -"wolf-lite\commontablesf16.o" "wolf-lite\complexmathfunctions.o" -"wolf-lite\complexmathfunctionsf16.o" "wolf-lite\controllerfunctions.o" "wolf-lite\distancefunctions.o" -"wolf-lite\distancefunctionsf16.o" "wolf-lite\fastmathfunctions.o" -"wolf-lite\fastmathfunctionsf16.o" "wolf-lite\filteringfunctions.o" -"wolf-lite\filteringfunctionsf16.o" -"wolf-lite\interpolationfunctions.o" -"wolf-lite\interpolationfunctionsf16.o" "wolf-lite\matrixfunctions.o" -"wolf-lite\matrixfunctionsf16.o" -"wolf-lite\quaternionmathfunctions.o" "wolf-lite\svmfunctions.o" -"wolf-lite\svmfunctionsf16.o" "wolf-lite\statisticsfunctions.o" -"wolf-lite\statisticsfunctionsf16.o" "wolf-lite\supportfunctions.o" -"wolf-lite\supportfunctionsf16.o" "wolf-lite\transformfunctions.o" -"wolf-lite\transformfunctionsf16.o" --strict --scatter ".\WOLF-Lite\WOLF-Lite-custom.sct" --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols --info sizes --info totals --info unused --info veneers