优化vibrator的sleep,统一 使用delay接口
authorSnickerSun <snickersun@163.com>
Mon, 25 Mar 2024 14:44:51 +0000 (22:44 +0800)
committerSnickerSun <snickersun@163.com>
Mon, 25 Mar 2024 14:44:51 +0000 (22:44 +0800)
code/sdk/drivers/peripheral/mag/mmc5603/mmc_customer.c
code/sdk/drivers/peripheral/mag/service/mag_service.c
code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hrs_custom.c
code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.c
code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp
code/sdk/drivers/peripheral/vibrator/vibrator.c

index df71d73..89c7943 100644 (file)
@@ -16,14 +16,14 @@ void mmc5603_Delay_Ms(int cnt)
 {\r
        /*  cnt is the time to wait */\r
        \r
-       uapi_tcxo_delay_ms(cnt);\r
+       LOS_Mdelay(cnt);\r
        return;\r
 }\r
 void mmc5603_Delay_Us(int cnt)\r
 {\r
        /*  cnt is the time to wait */\r
        \r
-       uapi_tcxo_delay_us(cnt);\r
+       LOS_Udelay(cnt);\r
        \r
        return;\r
 }\r
index 05a228a..2c5612a 100644 (file)
@@ -106,7 +106,6 @@ static void mag_service_check_timer_callback(void * data)
         do_mag_service_check_msg(MAG_SERVICE_CMD_TIMER_CHECK);
         // mag_service_timer_start_check(MAG_CHECK_MS);
     }
-    // uapi_tcxo_delay_ms(20);
    
      
    
@@ -157,7 +156,7 @@ static void mag_service_check_task(void const *arg)
             mmc5603_check();
         }else if (mail.comm.app == MAG_SERVICE_CMD_START_CHECK){
             mmc5603_start();
-            uapi_tcxo_delay_ms(20);
+            LOS_Mdelay(20);
             mag_service_running_stat = true;
             // uapi_pm_add_sleep_veto(PM_ID_SCREEN);
             mag_service_timer_start_check(MAG_CHECK_MS);
@@ -165,7 +164,7 @@ static void mag_service_check_task(void const *arg)
             mag_service_running_stat = false;
             osTimerStop(g_mag_service_timer);
             mmc5603_stop();
-            uapi_tcxo_delay_ms(20);
+            LOS_Mdelay(20);
 
             // uapi_pm_remove_sleep_veto(PM_ID_SCREEN);
         }
index f6e9fe8..bdb035e 100644 (file)
@@ -129,11 +129,11 @@ uint32_t tyhx_read_regs(uint8_t reg_addr, uint8_t *data_buf, uint16_t data_len)
 // us 延时函数, 客户需填写
 void tyhx_delay_us(uint32_t us)
 {
-    uapi_tcxo_delay_us(us);
+    LOS_Udelay(us);
 }
 void tyhx_delay_ms(uint32_t ms)
 {
-    uapi_tcxo_delay_ms(ms);
+    LOS_Mdelay(ms);
 }
 
 
index b20c202..d466c8e 100644 (file)
@@ -124,17 +124,17 @@ void crown_timer_stop(void)
 void crown_com_resync(void)
 {
     uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_HIGH);
-    uapi_tcxo_delay_us(5);
+    LOS_Udelay(5);
     uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_LOW);
-    uapi_tcxo_delay_us(5);
+    LOS_Udelay(5);
     uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_HIGH);
-    uapi_tcxo_delay_ms(5);
+    LOS_Mdelay(5);
 }
 
 /**
  * 通信读寄存器值函数
  * @param regaddr, hx3507的寄存器地址
- * uapi_tcxo_delay_us(COM_DELAY), 读写函数的delay 按照实际平台调整, HX3507 通信sclk 最高支持1MHZ频率.
+ * LOS_Udelay(COM_DELAY), 读写函数的delay 按照实际平台调整, HX3507 通信sclk 最高支持1MHZ频率.
  * 在最高频率的范围内, 尽量减小delay, 减少定时器周期读取的时间.
  */
 uint8_t crown_read_reg(uint8_t regaddr)
@@ -144,7 +144,7 @@ uint8_t crown_read_reg(uint8_t regaddr)
     regaddr &= 0x7f;
     uapi_gpio_set_val(PIN_TYHX_SDIO,GPIO_LEVEL_LOW);
     uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_LOW);
-    uapi_tcxo_delay_us(COM_DELAY);
+    LOS_Udelay(COM_DELAY);
 
     for(int i=0; i<8; i++)
     {
@@ -170,7 +170,7 @@ uint8_t crown_read_reg(uint8_t regaddr)
     uapi_gpio_set_dir(PIN_TYHX_SDIO,GPIO_DIRECTION_INPUT);
     uapi_pin_set_pull(PIN_TYHX_SDIO, (pin_pull_t)HAL_PIO_PULL_UP);
     uapi_pin_set_ie(PIN_TYHX_SDIO,HAL_PIO_IE_ENBALE);
-    uapi_tcxo_delay_us(COM_DELAY);
+    LOS_Udelay(COM_DELAY);
     //nrf_gpio_pin_clear(PIN_TYHX_SCLK);
     //uapi_tcxo_delay_us(COM_DELAY);
 
@@ -206,7 +206,7 @@ void crown_write_reg(uint8_t regaddr, uint8_t regvalue)
     uint16_t writevalue;
     uapi_gpio_set_val(PIN_TYHX_SDIO,GPIO_LEVEL_LOW);
     uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_LOW);
-    uapi_tcxo_delay_us(COM_DELAY);
+    LOS_Udelay(COM_DELAY);
 
     //写通信协议, 最高位置1, 循环16次依次送出寄存器和值,在SCLK的上升沿前准备好数据
     writevalue= (uint16_t)((regaddr|0x80)<<8) + regvalue;
@@ -410,7 +410,7 @@ void crown_init(void)
     uapi_gpio_set_val(PIN_TYHX_SDIO,GPIO_LEVEL_LOW);
     uapi_gpio_set_val(PIN_TYHX_SCLK,GPIO_LEVEL_LOW);
    
-    uapi_tcxo_delay_us(COM_DELAY);
+    LOS_Udelay(COM_DELAY);
     crown_com_resync();
     for(i=0; i<10; i++)
     {
@@ -453,7 +453,7 @@ void crown_start(void)
     for(int i=0; i<5; i++)
     {
         crown_write_reg(Config_St,0x89); //RESET
-        uapi_tcxo_delay_ms(10);
+        LOS_Mdelay(10);
         TYHX_LOG("Reset ic, now init ---\r\n");
 
 #if defined(MOT_LOW_LEVEL_MODE)
@@ -519,7 +519,7 @@ void crown_stop(void)
 #ifdef MOT_NO_USE_MODE
     crown_timer_stop();
     crown_write_reg(Config_St,0x89); // power down, power down 后芯片功耗9uA
-    uapi_tcxo_delay_ms(20);
+    LOS_Mdelay(20);
     TYHX_LOG("[tyhx_crown_stop]\r\n");
 #endif
 }
index 83eb444..193e722 100644 (file)
@@ -8,7 +8,7 @@
 #include "gpio_porting.h"
 #include "tcxo.h"
 #include "voice_call_volte_sample_wrapper.h"
-
+#include "los_base.h"
 #include "wearable_log.h"
 
 
@@ -118,7 +118,7 @@ void uapi_cat1_wakeup_cat1(uint8_t wakeup)
         if(GPIO_LEVEL_HIGH != uapi_gpio_get_output_val(S_AGPIO_L30))
         {
             uapi_gpio_set_val(S_AGPIO_L30, GPIO_LEVEL_HIGH);
-            uapi_tcxo_delay_ms(100); //第一次唤醒 Cat1 需要延时等其正常运行
+            LOS_Mdelay(100); //第一次唤醒 Cat1 需要延时等其正常运行
         }
        
         // wstp_print("wakeup Cat1! L30 high \r\n");
index 32442a5..7e50e18 100644 (file)
@@ -69,7 +69,7 @@ static int test_pwm_repeat(int vibratorType)
     uint32_t pwm_frequency = uapi_pwm_get_frequency(channel);
     /* test for repeat, interrupt only be call when stop or close */
     PRINT("+++++++ Start pwm repeat test +++++++ pwm_frequency %u\r\n",pwm_frequency);
-    // uapi_tcxo_delay_ms((uint32_t)TEST_TCXO_DELAY_1000MS);
+    // LOS_Msleep((uint32_t)TEST_TCXO_DELAY_1000MS);
     // cfg_repeat.high_time = pwm_frequency/2;
     // cfg_repeat.low_time = pwm_frequency/2;
     uapi_pwm_open(channel, &cfg_repeat);
@@ -81,8 +81,8 @@ static int test_pwm_repeat(int vibratorType)
 #else
     uapi_pwm_start(channel);
 #endif
-    // uapi_tcxo_delay_ms((uint32_t)TEST_TCXO_DELAY_1000MS);
-        uapi_tcxo_delay_ms(delay_ms);
+    // LOS_Msleep((uint32_t)TEST_TCXO_DELAY_1000MS);
+        LOS_Msleep(delay_ms);
     
     for (uint32_t test_times = 1; test_times <= vibratorType; test_times++) {
 
@@ -94,12 +94,12 @@ static int test_pwm_repeat(int vibratorType)
             break;
             PRINT("+++++++ pwm repeat exit interrupt +++++++ \r\n");
         }
-        uapi_tcxo_delay_ms(delay_ms);
+        LOS_Msleep(delay_ms);
     }
     
     uapi_pwm_close(channel);
-    // uapi_tcxo_delay_ms((uint32_t)TEST_TCXO_DELAY_1000MS);
-     uapi_tcxo_delay_ms(delay_ms);
+    // LOS_Msleep((uint32_t)TEST_TCXO_DELAY_1000MS);
+     LOS_Msleep(delay_ms);
      uapi_pwm_deinit();
      pwm_started = 0;
      PRINT("+++++++ pwm stoped +++++++ \r\n");
@@ -158,9 +158,9 @@ void g_VibratorFunc(uint16_t duty , uint16_t cycle_time_ms,uint16_t duration_tim
         while(duration_time_ms)
         {
             uapi_gpio_set_val(VIBRATOR_GPIOPPIN,GPIO_LEVEL_HIGH);
-            uapi_tcxo_delay_ms(delaytime_ms_high); 
+            LOS_Msleep(delaytime_ms_high); 
             uapi_gpio_set_val(VIBRATOR_GPIOPPIN,GPIO_LEVEL_LOW);
-            uapi_tcxo_delay_ms(delaytime_ms_low); 
+            LOS_Msleep(delaytime_ms_low); 
             duration_time_ms-=delaytime_ms_high;
             duration_time_ms-=delaytime_ms_low;