From: SnickerSun Date: Mon, 25 Mar 2024 14:44:51 +0000 (+0800) Subject: 优化vibrator的sleep,统一 使用delay接口 X-Git-Tag: release_V1.2.70_20241020_135402~1261 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=86e2d4fd8dbf5037de6005377557ffaf889104b2;p=mirrors%2FFD230.git 优化vibrator的sleep,统一 使用delay接口 --- diff --git a/code/sdk/drivers/peripheral/mag/mmc5603/mmc_customer.c b/code/sdk/drivers/peripheral/mag/mmc5603/mmc_customer.c index df71d73b6..89c794354 100644 --- a/code/sdk/drivers/peripheral/mag/mmc5603/mmc_customer.c +++ b/code/sdk/drivers/peripheral/mag/mmc5603/mmc_customer.c @@ -16,14 +16,14 @@ void mmc5603_Delay_Ms(int cnt) { /* cnt is the time to wait */ - uapi_tcxo_delay_ms(cnt); + LOS_Mdelay(cnt); return; } void mmc5603_Delay_Us(int cnt) { /* cnt is the time to wait */ - uapi_tcxo_delay_us(cnt); + LOS_Udelay(cnt); return; } diff --git a/code/sdk/drivers/peripheral/mag/service/mag_service.c b/code/sdk/drivers/peripheral/mag/service/mag_service.c index 05a228a40..2c5612a7b 100644 --- a/code/sdk/drivers/peripheral/mag/service/mag_service.c +++ b/code/sdk/drivers/peripheral/mag/service/mag_service.c @@ -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); } diff --git a/code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hrs_custom.c b/code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hrs_custom.c index f6e9fe869..bdb035e0a 100644 --- a/code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hrs_custom.c +++ b/code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hrs_custom.c @@ -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); } diff --git a/code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.c b/code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.c index b20c20294..d466c8e70 100644 --- a/code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.c +++ b/code/sdk/drivers/peripheral/rotary_encoder/hx3507/hx3507.c @@ -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 } diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp index 83eb444d3..193e7229a 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ctl.cpp @@ -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"); diff --git a/code/sdk/drivers/peripheral/vibrator/vibrator.c b/code/sdk/drivers/peripheral/vibrator/vibrator.c index 32442a52a..7e50e1863 100644 --- a/code/sdk/drivers/peripheral/vibrator/vibrator.c +++ b/code/sdk/drivers/peripheral/vibrator/vibrator.c @@ -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;