zhaohe 1 year ago
parent
commit
60749de651
  1. 4
      README.md
  2. 2
      app/src/basic/version.h
  3. 7
      app/src/board/board_beep_ctrl.c
  4. 10
      app/src/board/board_light_ctrl.c
  5. 16
      app/src/board/board_sdcard_driver.c
  6. 9
      app/src/device_ctrl_service.c
  7. 2
      app/src/heart_wave_sample_service.c
  8. 2
      libznordic

4
README.md

@ -2,6 +2,10 @@
``` ```
V14:
1.优化功耗
2.修改看门狗启动位置
V13: V13:
1.修改数据上传间隔由2ms变成20ms 1.修改数据上传间隔由2ms变成20ms
2.添加bin文件checksum计算和文件大小计算工具 2.添加bin文件checksum计算和文件大小计算工具

2
app/src/basic/version.h

@ -2,7 +2,7 @@
#define CATEGORY "M1002" // Èýµ¼Áª #define CATEGORY "M1002" // Èýµ¼Áª
#define MANUFACTURER_NAME "iflytop" #define MANUFACTURER_NAME "iflytop"
#define FIRMWARE_VERSION (13)
#define FIRMWARE_VERSION (14)
#define BLESTACK_VERSION 1 #define BLESTACK_VERSION 1
#define BOOTLOADER_VERSION 1 #define BOOTLOADER_VERSION 1
#define HARDWARE_VERSION (1) #define HARDWARE_VERSION (1)

7
app/src/board/board_beep_ctrl.c

@ -84,14 +84,15 @@ static void beep_tmr_handler(void *context) {
} }
void BoardBeepCtrl_init(void) { 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); 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() { void BoardBeepCtrl_unload() {
BoardBeepCtrl_set(0); BoardBeepCtrl_set(0);
// nrfx_pwm_uninit(&m_beep_pwm0);
nrfx_pwm_uninit(&m_beep_pwm0);
} }
void BoardBeepCtrl_set(uint8_t state) { void BoardBeepCtrl_set(uint8_t state) {

10
app/src/board/board_light_ctrl.c

@ -115,14 +115,16 @@ static void BoardLight_effect_tmr_handler(void* p_context) { //
void BoardLight_Init() { void BoardLight_Init() {
ZERROR_CHECK(app_timer_create(&m_green_light_effect_tmr, APP_TIMER_MODE_REPEATED, BoardLight_effect_tmr_handler)); ZERROR_CHECK(app_timer_create(&m_green_light_effect_tmr, APP_TIMER_MODE_REPEATED, BoardLight_effect_tmr_handler));
#if LIGHT_PWM_DRIVER #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 #else
znrf_gpio_cfg_output(LED_GREEN_PIN, NRF_GPIO_PIN_NOPULL); znrf_gpio_cfg_output(LED_GREEN_PIN, NRF_GPIO_PIN_NOPULL);
#endif #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) { void BoardLight_setGreenLightEffect(LightEffect_t effect) {
m_light_effect = effect; m_light_effect = effect;

16
app/src/board/board_sdcard_driver.c

@ -35,10 +35,10 @@ void Board_sdcardInit() {
/** /**
* @brief SDCARD SPI * @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复位引脚 * @brief SD卡 USB读卡器IC复位引脚
* *
@ -91,10 +91,10 @@ void Board_sdcardConnectToExt() {
/** /**
* @brief SPI引脚成输入 * @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卡电源 * @brief SD卡电源

9
app/src/device_ctrl_service.c

@ -76,6 +76,8 @@ void ENTER_DEEP_SLEEP() {
static void poweroff() { static void poweroff() {
if (!m_ispoweron) return; if (!m_ispoweron) return;
BoardLight_setGreenLightEffect(kLightEffect_close);
BoardBeepCtrl_unload(); BoardBeepCtrl_unload();
BoardLight_unload(); BoardLight_unload();
BoardBattery_unload(); BoardBattery_unload();
@ -86,7 +88,6 @@ static void poweroff() {
zble_module_stop_adv(); zble_module_stop_adv();
zble_module_disconnect(); zble_module_disconnect();
// sd_ble_gap_disconnect() // sd_ble_gap_disconnect()
BoardLight_setGreenLightEffect(kLightEffect_close);
// 使 // 使
ENTER_DEEP_SLEEP(); 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) { else if (m_device_state == kdevice_state_ready) {
if (DeviceCtrl_cur_state_haspassed_ms() > 3000) { if (DeviceCtrl_cur_state_haspassed_ms() > 3000) {
if (!zble_module_is_connected() && DeviceCtrl_cur_state_haspassed_ms() > APP_AUTO_SLEEP_TIMEOUT_MS) { if (!zble_module_is_connected() && DeviceCtrl_cur_state_haspassed_ms() > APP_AUTO_SLEEP_TIMEOUT_MS) {
ZLOGI("auto sleep"); ZLOGI("auto sleep");
@ -316,8 +316,9 @@ void DeviceCtrl_init() {
// BoardLight_blockFlash(3, 100); // BoardLight_blockFlash(3, 100);
BoardBattery_load(); BoardBattery_load();
if (BoardBattery_get_battery_level() < APP_LOW_BATTERY_POWER_ON_LIMIT) { if (BoardBattery_get_battery_level() < APP_LOW_BATTERY_POWER_ON_LIMIT) {
BoardLight_load();
BoardLight_blockFlash(3, 100); BoardLight_blockFlash(3, 100);
BoardLight_unload();
// ,使 // ,使
ENTER_DEEP_SLEEP(); ENTER_DEEP_SLEEP();
} }
@ -330,7 +331,7 @@ void DeviceCtrl_init() {
// //
prvf_change_to_ready_state(); 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_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采样 ZERROR_CHECK(app_timer_start(m_state_machine_driver_tmr, APP_TIMER_TICKS(100), NULL)); // 200HZ采样

2
app/src/heart_wave_sample_service.c

@ -612,7 +612,7 @@ void hwss_stop_capture(void) {
uint8_t txcache[2]; uint8_t txcache[2];
txcache[0] = ADS1293_WRITE_BIT & TI_ADS1293_CONFIG_REG; 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_drv_spi_transfer(&spi, txcache, 2, NULL, 0);
nrf_gpio_pin_set(ADS1293_SPI_CS0_PIN); nrf_gpio_pin_set(ADS1293_SPI_CS0_PIN);

2
libznordic

@ -1 +1 @@
Subproject commit 2e93f83bd44b54f4b6bec2d338d674e7a884bd42
Subproject commit a5cc5239adb61162d87d7109c9e6710d70c58d36
Loading…
Cancel
Save