From 60749de65146d4a36044b3a2a27b453bcfd16bbd Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 15 Feb 2024 15:29:37 +0800 Subject: [PATCH] V14 --- README.md | 4 ++++ app/src/basic/version.h | 2 +- app/src/board/board_beep_ctrl.c | 7 ++++--- app/src/board/board_light_ctrl.c | 10 ++++++---- app/src/board/board_sdcard_driver.c | 16 ++++++++-------- app/src/device_ctrl_service.c | 9 +++++---- app/src/heart_wave_sample_service.c | 2 +- libznordic | 2 +- 8 files changed, 30 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index b9efdb9..fb8269f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ ``` +V14: + 1.优化功耗 + 2.修改看门狗启动位置 + V13: 1.修改数据上传间隔由2ms变成20ms 2.添加bin文件checksum计算和文件大小计算工具 diff --git a/app/src/basic/version.h b/app/src/basic/version.h index b87e0c4..c79bae7 100644 --- a/app/src/basic/version.h +++ b/app/src/basic/version.h @@ -2,7 +2,7 @@ #define CATEGORY "M1002" // 三导联 #define MANUFACTURER_NAME "iflytop" -#define FIRMWARE_VERSION (13) +#define FIRMWARE_VERSION (14) #define BLESTACK_VERSION 1 #define BOOTLOADER_VERSION 1 #define HARDWARE_VERSION (1) diff --git a/app/src/board/board_beep_ctrl.c b/app/src/board/board_beep_ctrl.c index bbf08ce..9155cf8 100644 --- a/app/src/board/board_beep_ctrl.c +++ b/app/src/board/board_beep_ctrl.c @@ -84,14 +84,15 @@ static void beep_tmr_handler(void *context) { } void BoardBeepCtrl_init(void) { - APP_ERROR_CHECK(nrfx_pwm_init(&m_beep_pwm0, &m_beep_pwm0_config0, NULL)); app_timer_create(&m_beep_tmr, APP_TIMER_MODE_REPEATED, beep_tmr_handler); } -void BoardBeepCtrl_load() {} +void BoardBeepCtrl_load() { + nrfx_pwm_init(&m_beep_pwm0, &m_beep_pwm0_config0, NULL); +} void BoardBeepCtrl_unload() { BoardBeepCtrl_set(0); - // nrfx_pwm_uninit(&m_beep_pwm0); + nrfx_pwm_uninit(&m_beep_pwm0); } void BoardBeepCtrl_set(uint8_t state) { diff --git a/app/src/board/board_light_ctrl.c b/app/src/board/board_light_ctrl.c index 771cadc..001bff6 100644 --- a/app/src/board/board_light_ctrl.c +++ b/app/src/board/board_light_ctrl.c @@ -115,14 +115,16 @@ static void BoardLight_effect_tmr_handler(void* p_context) { // void BoardLight_Init() { ZERROR_CHECK(app_timer_create(&m_green_light_effect_tmr, APP_TIMER_MODE_REPEATED, BoardLight_effect_tmr_handler)); #if LIGHT_PWM_DRIVER - APP_ERROR_CHECK(nrfx_pwm_init(&light_ctrl.driver, &light_ctrl.config, NULL)); + // APP_ERROR_CHECK(nrfx_pwm_init(&light_ctrl.driver, &light_ctrl.config, NULL)); #else znrf_gpio_cfg_output(LED_GREEN_PIN, NRF_GPIO_PIN_NOPULL); #endif } -void BoardLight_load() {} -void BoardLight_unload() { BoardLight_setGreenLightEffect(kLightEffect_close); } - +void BoardLight_load() { APP_ERROR_CHECK(nrfx_pwm_init(&light_ctrl.driver, &light_ctrl.config, NULL)); } +void BoardLight_unload() { + BoardLight_setGreenLightEffect(kLightEffect_close); + nrfx_pwm_uninit(&light_ctrl.driver); +} void BoardLight_setGreenLightEffect(LightEffect_t effect) { m_light_effect = effect; diff --git a/app/src/board/board_sdcard_driver.c b/app/src/board/board_sdcard_driver.c index 3945135..39ffcc3 100644 --- a/app/src/board/board_sdcard_driver.c +++ b/app/src/board/board_sdcard_driver.c @@ -35,10 +35,10 @@ void Board_sdcardInit() { /** * @brief SDCARD SPI 引脚初始化 */ - nrf_gpio_cfg_sense_input(SDCARD_SPI_CS_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); - nrf_gpio_cfg_sense_input(SDCARD_SPI_MISO_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); - nrf_gpio_cfg_sense_input(SDCARD_SPI_MOSI_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); - nrf_gpio_cfg_sense_input(SDCARD_SPI_SCK_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); + nrf_gpio_cfg_default(SDCARD_SPI_CS_PIN); + nrf_gpio_cfg_default(SDCARD_SPI_MISO_PIN); + nrf_gpio_cfg_default(SDCARD_SPI_MOSI_PIN); + nrf_gpio_cfg_default(SDCARD_SPI_SCK_PIN); /** * @brief SD卡 USB读卡器IC复位引脚 * 引脚一直配置成高即可 @@ -91,10 +91,10 @@ void Board_sdcardConnectToExt() { /** * @brief 配置SPI引脚成输入 */ - nrf_gpio_cfg_sense_input(SDCARD_SPI_CS_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); - nrf_gpio_cfg_sense_input(SDCARD_SPI_MISO_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); - nrf_gpio_cfg_sense_input(SDCARD_SPI_MOSI_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); - nrf_gpio_cfg_sense_input(SDCARD_SPI_SCK_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_NOSENSE); + nrf_gpio_cfg_default(SDCARD_SPI_CS_PIN); + nrf_gpio_cfg_default(SDCARD_SPI_MISO_PIN); + nrf_gpio_cfg_default(SDCARD_SPI_MOSI_PIN); + nrf_gpio_cfg_default(SDCARD_SPI_SCK_PIN); /** * @brief 关闭SD卡电源 diff --git a/app/src/device_ctrl_service.c b/app/src/device_ctrl_service.c index 1a8b46a..62dbf76 100644 --- a/app/src/device_ctrl_service.c +++ b/app/src/device_ctrl_service.c @@ -76,6 +76,8 @@ void ENTER_DEEP_SLEEP() { static void poweroff() { if (!m_ispoweron) return; + BoardLight_setGreenLightEffect(kLightEffect_close); + BoardBeepCtrl_unload(); BoardLight_unload(); BoardBattery_unload(); @@ -86,7 +88,6 @@ static void poweroff() { zble_module_stop_adv(); zble_module_disconnect(); // sd_ble_gap_disconnect() - BoardLight_setGreenLightEffect(kLightEffect_close); // 进入深度睡眠前,使能唤醒引脚 ENTER_DEEP_SLEEP(); @@ -185,7 +186,6 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { // // else if (m_device_state == kdevice_state_ready) { - if (DeviceCtrl_cur_state_haspassed_ms() > 3000) { if (!zble_module_is_connected() && DeviceCtrl_cur_state_haspassed_ms() > APP_AUTO_SLEEP_TIMEOUT_MS) { ZLOGI("auto sleep"); @@ -316,8 +316,9 @@ void DeviceCtrl_init() { // BoardLight_blockFlash(3, 100); BoardBattery_load(); if (BoardBattery_get_battery_level() < APP_LOW_BATTERY_POWER_ON_LIMIT) { + BoardLight_load(); BoardLight_blockFlash(3, 100); - + BoardLight_unload(); // 系统进入深度睡眠,进入深度睡眠前,使能唤醒引脚 ENTER_DEEP_SLEEP(); } @@ -330,7 +331,7 @@ void DeviceCtrl_init() { // 切换到待机状态 prvf_change_to_ready_state(); - wd_init(); + // wd_init(); ZERROR_CHECK(app_timer_create(&m_state_machine_driver_tmr, APP_TIMER_MODE_REPEATED, state_machine_driver_tmr_cb)); ZERROR_CHECK(app_timer_start(m_state_machine_driver_tmr, APP_TIMER_TICKS(100), NULL)); // 200HZ采样 diff --git a/app/src/heart_wave_sample_service.c b/app/src/heart_wave_sample_service.c index bbe0fee..b9a10c6 100644 --- a/app/src/heart_wave_sample_service.c +++ b/app/src/heart_wave_sample_service.c @@ -612,7 +612,7 @@ void hwss_stop_capture(void) { uint8_t txcache[2]; txcache[0] = ADS1293_WRITE_BIT & TI_ADS1293_CONFIG_REG; - txcache[1] = 0x04; + txcache[1] = 0x06; nrf_drv_spi_transfer(&spi, txcache, 2, NULL, 0); nrf_gpio_pin_set(ADS1293_SPI_CS0_PIN); diff --git a/libznordic b/libznordic index 2e93f83..a5cc523 160000 --- a/libznordic +++ b/libznordic @@ -1 +1 @@ -Subproject commit 2e93f83bd44b54f4b6bec2d338d674e7a884bd42 +Subproject commit a5cc5239adb61162d87d7109c9e6710d70c58d36