Enc2 and tooltips update

master
XGudron 2021-05-07 16:50:28 +03:00
rodzic 440b3a7b23
commit 59ad38193a
2 zmienionych plików z 21 dodań i 7 usunięć

Wyświetl plik

@ -178,6 +178,8 @@ void FRONTPANEL_ENCODER_checkRotate(void)
void FRONTPANEL_ENCODER2_checkRotate(void) void FRONTPANEL_ENCODER2_checkRotate(void)
{ {
static int8_t enc2_slowler = 0;
#define enc2_slowler_val 2
uint8_t ENCODER2_DTVal = HAL_GPIO_ReadPin(ENC2_DT_GPIO_Port, ENC2_DT_Pin); uint8_t ENCODER2_DTVal = HAL_GPIO_ReadPin(ENC2_DT_GPIO_Port, ENC2_DT_Pin);
uint8_t ENCODER2_CLKVal = HAL_GPIO_ReadPin(ENC2_CLK_GPIO_Port, ENC2_CLK_Pin); uint8_t ENCODER2_CLKVal = HAL_GPIO_ReadPin(ENC2_CLK_GPIO_Port, ENC2_CLK_Pin);
@ -187,12 +189,24 @@ void FRONTPANEL_ENCODER2_checkRotate(void)
if (!CALIBRATE.ENCODER_ON_FALLING || ENCODER2_CLKVal == 0) if (!CALIBRATE.ENCODER_ON_FALLING || ENCODER2_CLKVal == 0)
{ {
if (ENCODER2_DTVal != ENCODER2_CLKVal) if (ENCODER2_DTVal != ENCODER2_CLKVal)
{ // If pin A changed first - clockwise rotation {
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? 1 : -1); // If pin A changed first - clockwise rotation
enc2_slowler--;
if(enc2_slowler <= -enc2_slowler_val)
{
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? 1 : -1);
enc2_slowler = 0;
}
} }
else else
{ // otherwise B changed its state first - counterclockwise rotation {
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? -1 : 1); // otherwise B changed its state first - counterclockwise rotation
enc2_slowler++;
if(enc2_slowler >= enc2_slowler_val)
{
FRONTPANEL_ENCODER2_Rotated(CALIBRATE.ENCODER2_INVERT ? -1 : 1);
enc2_slowler = 0;
}
} }
} }
ENCODER2_AValDeb = HAL_GetTick(); ENCODER2_AValDeb = HAL_GetTick();

Wyświetl plik

@ -817,10 +817,10 @@ void LCD_showInfo(char text[], bool autohide)
void LCD_showTooltip(char text[]) void LCD_showTooltip(char text[])
{ {
Tooltip_DiplayStartTime = HAL_GetTick(); Tooltip_DiplayStartTime = HAL_GetTick();
strcpy(Tooltip_string, text); if(LCD_UpdateQuery.Tooltip && strlen(Tooltip_string) != strlen(text)) //redraw old tooltip
Tooltip_first_draw = true;
if(LCD_UpdateQuery.Tooltip) //redraw old tooltip
LCD_UpdateQuery.FreqInfoRedraw = true; LCD_UpdateQuery.FreqInfoRedraw = true;
Tooltip_first_draw = true;
strcpy(Tooltip_string, text);
LCD_UpdateQuery.Tooltip = true; LCD_UpdateQuery.Tooltip = true;
} }