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