Browse Source

Добавил мигание пунктов меню. Поправил энкодер и кнопку энкодера.

TelenkovDmitry 2 weeks ago
parent
commit
a85366974b

+ 5 - 1
cube_example/usb_hid_example/Core/Src/main.c

@@ -224,7 +224,7 @@ static void MX_I2C2_Init(void)
 
 
   /* USER CODE END I2C2_Init 1 */
   /* USER CODE END I2C2_Init 1 */
   hi2c2.Instance = I2C2;
   hi2c2.Instance = I2C2;
-  hi2c2.Init.Timing = 0x40B285C2;
+  hi2c2.Init.Timing = 0x4052060F;
   hi2c2.Init.OwnAddress1 = 0;
   hi2c2.Init.OwnAddress1 = 0;
   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
   hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
   hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
@@ -250,6 +250,10 @@ static void MX_I2C2_Init(void)
   {
   {
     Error_Handler();
     Error_Handler();
   }
   }
+
+  /** I2C Fast mode Plus enable
+  */
+  HAL_I2CEx_EnableFastModePlus(I2C_FASTMODEPLUS_I2C2);
   /* USER CODE BEGIN I2C2_Init 2 */
   /* USER CODE BEGIN I2C2_Init 2 */
 
 
   /* USER CODE END I2C2_Init 2 */
   /* USER CODE END I2C2_Init 2 */

+ 1 - 1
cube_example/usb_hid_example/Core/Src/stm32g4xx_hal_msp.c

@@ -102,7 +102,7 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
   /** Initializes the peripherals clocks
   /** Initializes the peripherals clocks
   */
   */
     PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C2;
     PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C2;
-    PeriphClkInit.I2c2ClockSelection = RCC_I2C2CLKSOURCE_PCLK1;
+    PeriphClkInit.I2c2ClockSelection = RCC_I2C2CLKSOURCE_SYSCLK;
     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
     {
     {
       Error_Handler();
       Error_Handler();

+ 5 - 3
cube_example/usb_hid_example/usb_hid_example.ioc

@@ -6,8 +6,9 @@ FREERTOS.IPParameters=Tasks01
 FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
 FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
 File.Version=6
 File.Version=6
 GPIO.groupedBy=
 GPIO.groupedBy=
-I2C2.IPParameters=Timing
-I2C2.Timing=0x40B285C2
+I2C2.I2C_Speed_Mode=I2C_Fast_Plus
+I2C2.IPParameters=Timing,I2C_Speed_Mode
+I2C2.Timing=0x4052060F
 KeepUserPlacement=false
 KeepUserPlacement=false
 Mcu.CPN=STM32G431C8U6
 Mcu.CPN=STM32G431C8U6
 Mcu.Family=STM32G4
 Mcu.Family=STM32G4
@@ -188,10 +189,11 @@ RCC.HSE_VALUE=8000000
 RCC.HSI48_VALUE=48000000
 RCC.HSI48_VALUE=48000000
 RCC.HSI_VALUE=16000000
 RCC.HSI_VALUE=16000000
 RCC.I2C1Freq_Value=170000000
 RCC.I2C1Freq_Value=170000000
+RCC.I2C2CLockSelection=RCC_I2C2CLKSOURCE_SYSCLK
 RCC.I2C2Freq_Value=170000000
 RCC.I2C2Freq_Value=170000000
 RCC.I2C3Freq_Value=170000000
 RCC.I2C3Freq_Value=170000000
 RCC.I2SFreq_Value=170000000
 RCC.I2SFreq_Value=170000000
-RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CK48CLockSelection,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
+RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CK48CLockSelection,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2CLockSelection,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
 RCC.LPTIM1Freq_Value=170000000
 RCC.LPTIM1Freq_Value=170000000
 RCC.LPUART1Freq_Value=170000000
 RCC.LPUART1Freq_Value=170000000
 RCC.LSCOPinFreq_Value=32000
 RCC.LSCOPinFreq_Value=32000

+ 1 - 1
desk/modules/configs/config.h

@@ -33,7 +33,7 @@
 
 
 
 
 // Софтверный фильтр для энкодера в меню
 // Софтверный фильтр для энкодера в меню
-#define ENC_SOFT_FILTER_CNT         3
+#define ENC_SOFT_FILTER_CNT         2//3
 
 
 // Фильтр антидребезга для кнопки энкодера
 // Фильтр антидребезга для кнопки энкодера
 #define BUTTON_GLICH_TIMEOUT        50
 #define BUTTON_GLICH_TIMEOUT        50

+ 3 - 3
desk/modules/menu/control.cpp

@@ -33,17 +33,17 @@ void init_encoder(void)
     htim2.Init.RepetitionCounter = 0;
     htim2.Init.RepetitionCounter = 0;
     htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
     htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
     
     
-    sConfig.EncoderMode = TIM_ENCODERMODE_TI1; //TIM_ENCODERMODE_TI12;
+    sConfig.EncoderMode = TIM_ENCODERMODE_TI12; //TIM_ENCODERMODE_TI12;
     
     
     sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
     sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
     sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
     sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
     sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
     sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
-    sConfig.IC1Filter = 100;
+    sConfig.IC1Filter = 0; //100;
     
     
     sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
     sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
     sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
     sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
     sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
     sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
-    sConfig.IC2Filter = 100;
+    sConfig.IC2Filter = 0; //100;
     
     
     HAL_TIM_Encoder_Init(&htim2, &sConfig);
     HAL_TIM_Encoder_Init(&htim2, &sConfig);
     
     

+ 88 - 18
desk/modules/menu/menu_items.cpp

@@ -50,7 +50,7 @@ void menuChange(void* NewMenu, bool direction)
 
 
     if (selectedMenuItem->Focus) {
     if (selectedMenuItem->Focus) {
         selectedMenuItem->func_change(direction);
         selectedMenuItem->func_change(direction);
-        (*(selectedMenuItem->func_draw))(selectedMenuItem->Select);
+        //(*(selectedMenuItem->func_draw))(selectedMenuItem->Select);
     }
     }
     else {
     else {
         selectedMenuItem = (menuItem*)NewMenu;
         selectedMenuItem = (menuItem*)NewMenu;
@@ -112,7 +112,7 @@ void draw_main(uint8_t sel)
 //
 //
 void draw_settings(uint8_t sel)
 void draw_settings(uint8_t sel)
 {
 {
-    update_flag = false;
+    update_flag = true;
     
     
 #ifdef SCREEN_MENU    
 #ifdef SCREEN_MENU    
     screen_draw_settings(sel);
     screen_draw_settings(sel);
@@ -252,45 +252,115 @@ static void screen_draw_main(uint8_t sel)
 static void screen_draw_settings(uint8_t sel)
 static void screen_draw_settings(uint8_t sel)
 {
 {
     bool select;
     bool select;
+    static bool blink = false;
     
     
     oled_clear(BLACK);
     oled_clear(BLACK);
-            
+    
     select = sel == MCELL_K1 ? true : false;
     select = sel == MCELL_K1 ? true : false;
+   
+    if (select) {
+        if (selectedMenuItem->Focus == false)
+            draw_diameter(select);
+        else {
+            if (blink == true) {
+                oled_frame(MENU_1_STR_Y, true);
+                blink = false;
+            }
+            else {
+                draw_diameter(select);
+                blink = true;
+            }
+        }
+    }
+    else 
+        draw_diameter(select);
+
+   
+    select = sel == MCELL_K2 ? true : false;
+    
+    if (select) {
+        if (selectedMenuItem->Focus == false)
+            draw_gearbox(select);
+        else {
+            if (blink == true) {
+                oled_frame(MENU_3_STR_Y, true);
+                blink = false;
+            }
+            else {
+                draw_gearbox(select);
+                blink = true;
+            }
+        }
+    }
+    else 
+        draw_gearbox(select);
+    
+    
+    select = sel == MCELL_REV ? true : false;
+    
+    if (select) {
+        if (selectedMenuItem->Focus == false)
+            draw_revers(select);
+        else {
+            if (blink == true) {
+                oled_frame(MENU_5_STR_Y, false);
+                blink = false;
+            }
+            else {
+                draw_revers(select);
+                blink = true;
+            }
+        }
+    }
+    else 
+        draw_revers(select);
+        
+    
+    select = sel == MCELL_RES ? true : false;
+    memset(screen_str_buf, 0, SCREEN_BUF_LEN);
+    Paint_DrawString_EN(4, MENU_6_STR_Y, "Reset", &Font16, 0xf, 0x0);
+    if (select)
+        oled_frame(MENU_6_STR_Y, false);
+    
+    oled_display();
+}
+#endif
+
+//
+void draw_diameter(bool frame)
+{
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     Paint_DrawString_EN(4, MENU_1_STR_Y, "Diameter:", &Font16, 0xf, 0x0);
     Paint_DrawString_EN(4, MENU_1_STR_Y, "Diameter:", &Font16, 0xf, 0x0);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     oled_int_right_alignment_post(settings.factor_1, 11, (char*)"mm", screen_str_buf);
     oled_int_right_alignment_post(settings.factor_1, 11, (char*)"mm", screen_str_buf);
     Paint_DrawString_EN(4, MENU_2_STR_Y, screen_str_buf, &Font16, 0xf, 0x0);
     Paint_DrawString_EN(4, MENU_2_STR_Y, screen_str_buf, &Font16, 0xf, 0x0);
-    if (select)
+    if (frame)
         oled_frame(MENU_1_STR_Y, true);
         oled_frame(MENU_1_STR_Y, true);
+}
 
 
-    select = sel == MCELL_K2 ? true : false;
+//
+void draw_gearbox(bool frame)
+{
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     Paint_DrawString_EN(4, MENU_3_STR_Y, "Gearbox:", &Font16, 0xf, 0x0);
     Paint_DrawString_EN(4, MENU_3_STR_Y, "Gearbox:", &Font16, 0xf, 0x0);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     oled_int_right_alignment(settings.factor_2, 11, screen_str_buf);
     oled_int_right_alignment(settings.factor_2, 11, screen_str_buf);
     Paint_DrawString_EN(4, MENU_4_STR_Y, screen_str_buf, &Font16, 0xf, 0x0);
     Paint_DrawString_EN(4, MENU_4_STR_Y, screen_str_buf, &Font16, 0xf, 0x0);
-    if (select)
+    if (frame)
         oled_frame(MENU_3_STR_Y, true);
         oled_frame(MENU_3_STR_Y, true);
-    
-    select = sel == MCELL_REV ? true : false;
+}
+
+//
+void draw_revers(bool frame)
+{
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     memset(screen_str_buf, 0, SCREEN_BUF_LEN);
     if (settings.revers == true)
     if (settings.revers == true)
         Paint_DrawString_EN(4, MENU_5_STR_Y, "Revers: yes", &Font16, 0xf, 0x0);
         Paint_DrawString_EN(4, MENU_5_STR_Y, "Revers: yes", &Font16, 0xf, 0x0);
     else
     else
         Paint_DrawString_EN(4, MENU_5_STR_Y, "Revers:  no", &Font16, 0xf, 0x0);
         Paint_DrawString_EN(4, MENU_5_STR_Y, "Revers:  no", &Font16, 0xf, 0x0);
-    if (select)
+    if (frame)
         oled_frame(MENU_5_STR_Y, false);
         oled_frame(MENU_5_STR_Y, false);
-    
-    select = sel == MCELL_RES ? true : false;
-    memset(screen_str_buf, 0, SCREEN_BUF_LEN);
-    Paint_DrawString_EN(4, MENU_6_STR_Y, "Reset", &Font16, 0xf, 0x0);
-    if (select)
-        oled_frame(MENU_6_STR_Y, false);
-    
-    oled_display();
 }
 }
-#endif
 
 
 // -------------------------------------------------------------------------- //
 // -------------------------------------------------------------------------- //
 // Консольное меню. Вспомогательные функции.
 // Консольное меню. Вспомогательные функции.

+ 8 - 0
desk/modules/menu/menu_items.h

@@ -5,6 +5,14 @@
 //
 //
 void draw_screensaver(void);
 void draw_screensaver(void);
 
 
+//
+void draw_diameter(bool frame);
+
+//
+void draw_gearbox(bool frame);
+
+//
+void draw_revers(bool frame);
 
 
 #endif  // __MENU_ITEMS_H
 #endif  // __MENU_ITEMS_H
 
 

+ 9 - 18
desk/modules/ssd_1327/i2c_bridge.cpp

@@ -8,22 +8,8 @@ I2C_HandleTypeDef hi2c2;
 //
 //
 void i2c_bridge_init(void)
 void i2c_bridge_init(void)
 {
 {
-#if 0 
-    // This template from lib
     hi2c2.Instance = I2C2;
     hi2c2.Instance = I2C2;
-    hi2c2.Init.ClockSpeed = 100000;
-    hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
-    hi2c2.Init.OwnAddress1 = 0;
-    hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
-    hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
-    hi2c2.Init.OwnAddress2 = 0;
-    hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
-    hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
-    HAL_I2C_Init(&hi2c2);
-#endif
-  
-    hi2c2.Instance = I2C2;
-    hi2c2.Init.Timing = 0x00303D5B;
+    hi2c2.Init.Timing = 0x4052060F; //0x00303D5B;
     hi2c2.Init.OwnAddress1 = 0;
     hi2c2.Init.OwnAddress1 = 0;
     hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
     hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
     hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
     hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
@@ -33,12 +19,12 @@ void i2c_bridge_init(void)
     hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
     hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
     HAL_I2C_Init(&hi2c2);
     HAL_I2C_Init(&hi2c2);
 
 
-    HAL_I2CEx_ConfigAnalogFilter(&hi2c2, I2C_ANALOGFILTER_ENABLE);
+    HAL_I2CEx_ConfigAnalogFilter(&hi2c2, I2C_ANALOGFILTER_DISABLE);
 
 
     HAL_I2CEx_ConfigDigitalFilter(&hi2c2, 0);
     HAL_I2CEx_ConfigDigitalFilter(&hi2c2, 0);
 
 
     // TODO Разобраться
     // TODO Разобраться
-    HAL_I2CEx_EnableFastModePlus(I2C_FASTMODEPLUS_I2C2);
+    //HAL_I2CEx_EnableFastModePlus(I2C_FASTMODEPLUS_I2C2);
 }
 }
 
 
 
 
@@ -53,13 +39,18 @@ I2C_HandleTypeDef *i2c_get_bridge(void)
 void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
 void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
 {
 {
     GPIO_InitTypeDef GPIO_InitStruct = {0};
     GPIO_InitTypeDef GPIO_InitStruct = {0};
-  
+    RCC_PeriphCLKInitTypeDef  RCC_PeriphCLKInitStruct = {0};
+    
     HAL_I2C_DeInit(i2cHandle);
     HAL_I2C_DeInit(i2cHandle);
     
     
     if(i2cHandle->Instance==I2C2)
     if(i2cHandle->Instance==I2C2)
     {
     {
         __HAL_RCC_GPIOA_CLK_ENABLE();
         __HAL_RCC_GPIOA_CLK_ENABLE();
         __HAL_RCC_GPIOC_CLK_ENABLE();
         __HAL_RCC_GPIOC_CLK_ENABLE();
+    
+        RCC_PeriphCLKInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C2;
+        RCC_PeriphCLKInitStruct.I2c1ClockSelection = RCC_I2C2CLKSOURCE_SYSCLK;
+        HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphCLKInitStruct);
         
         
         // I2C2 SDA
         // I2C2 SDA
         GPIO_InitStruct.Pin = GPIO_PIN_8;
         GPIO_InitStruct.Pin = GPIO_PIN_8;

+ 18 - 6
desk/user/hal_callback.cpp

@@ -6,7 +6,7 @@
 #include "config.h"
 #include "config.h"
 #include <stdio.h>
 #include <stdio.h>
 
 
-#define DBG if (0)
+#define DBG if (1)
 
 
 static void encoder_handler(void);
 static void encoder_handler(void);
 
 
@@ -19,20 +19,25 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 {
 {
     static uint32_t delay_cnt = 0;
     static uint32_t delay_cnt = 0;
     static bool push_flag = false;
     static bool push_flag = false;
+    uint32_t tick = HAL_GetTick();
     
     
     if (GPIO_Pin == GPIO_PIN_4)
     if (GPIO_Pin == GPIO_PIN_4)
     {
     {
+        DBG HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_6);
+        menu_send_event(CONTROL_PUSH);
+#if 0                
         if (push_flag == false) {
         if (push_flag == false) {
             push_flag = true;
             push_flag = true;
             delay_cnt = HAL_GetTick();
             delay_cnt = HAL_GetTick();
         }
         }
         if (push_flag == true) {
         if (push_flag == true) {
-            if ((HAL_GetTick() - delay_cnt) > BUTTON_GLICH_TIMEOUT) {
+            if ((tick - delay_cnt) > BUTTON_GLICH_TIMEOUT) {
                 push_flag = false;
                 push_flag = false;
                 DBG HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_6);
                 DBG HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_6);
                 menu_send_event(CONTROL_PUSH);
                 menu_send_event(CONTROL_PUSH);
             }
             }
         }
         }
+#endif        
     }
     }
 }
 }
 
 
@@ -93,12 +98,15 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
 //
 //
 static void encoder_handler(void)
 static void encoder_handler(void)
 {
 {
-    static uint8_t frw_cnt = 0;
-    static uint8_t back_cnt = 0;
+    //static uint8_t frw_cnt = 0;
+    //static uint8_t back_cnt = 0;
     
     
     if (TIM2->CR1 & TIM_CR1_DIR) 
     if (TIM2->CR1 & TIM_CR1_DIR) 
     {
     {
-        if (++back_cnt > ENC_SOFT_FILTER_CNT)
+        menu_send_event(CONTROL_BACK);
+      
+#if 0      
+        if (++back_cnt >= ENC_SOFT_FILTER_CNT)
         {
         {
             menu_send_event(CONTROL_BACK);
             menu_send_event(CONTROL_BACK);
             DBG printf("Encoder back\r\n");
             DBG printf("Encoder back\r\n");
@@ -106,15 +114,19 @@ static void encoder_handler(void)
             return;
             return;
         }
         }
         back_cnt++;
         back_cnt++;
+#endif     
     }
     }
     else 
     else 
     {
     {
-        if (++frw_cnt > ENC_SOFT_FILTER_CNT) {
+        menu_send_event(CONTROL_FWD);
+#if 0      
+        if (++frw_cnt >= ENC_SOFT_FILTER_CNT) {
             menu_send_event(CONTROL_FWD);
             menu_send_event(CONTROL_FWD);
             DBG printf("Encoder forward\r\n");
             DBG printf("Encoder forward\r\n");
             frw_cnt = 0;
             frw_cnt = 0;
             return;
             return;
         }
         }
         frw_cnt++;
         frw_cnt++;
+#endif        
     }
     }
 }
 }

BIN
output/desk.bin


File diff suppressed because it is too large
+ 1 - 8
project/ewarm/settings/tuber.wsdt


Some files were not shown because too many files changed in this diff