|
|
@ -249,8 +249,26 @@ void SingleLeadECG_battery_init() {} |
|
|
|
void SingleLeadECG_battery_deinit() {} |
|
|
|
|
|
|
|
int16_t SingleLeadECG_battery_get_adc_val() { return SingleLeadECG_adc_get_val(BATTERY_ADC_CHANNEL); } |
|
|
|
int16_t SingleLeadECG_battery_val() { return 50; } |
|
|
|
void SingleLeadECG_battery_charge_detect_io_init() { // |
|
|
|
int16_t SingleLeadECG_battery_val() { // |
|
|
|
|
|
|
|
static const float maxv = 4.0; |
|
|
|
static const float minv = 3.5; |
|
|
|
|
|
|
|
float voltage = SingleLeadECG_battery_get_adc_val() / 4096.0 * 3.3 / 2.0* 3; |
|
|
|
if (voltage > maxv) voltage = maxv; |
|
|
|
if (voltage < minv) voltage = minv; |
|
|
|
|
|
|
|
float percent = (voltage - minv) / (maxv - minv) * 100 + (float)0.1 /*加0.1是为了避免999.999时显示电量为90*/; |
|
|
|
int16_t percent_int = (int16_t)percent; |
|
|
|
if (percent_int < 10 && percent_int != 0) { |
|
|
|
percent_int = 3; |
|
|
|
} else { |
|
|
|
percent_int = percent_int / 10 * 10; |
|
|
|
} |
|
|
|
// ZLOGI("battery %d ", SingleLeadECG_battery_get_adc_val()); |
|
|
|
return percent_int; |
|
|
|
} |
|
|
|
void SingleLeadECG_battery_charge_detect_io_init() { // |
|
|
|
nrf_gpio_cfg_sense_input(BATTERY_CHARGE_DETECT_PIN, NRF_GPIO_PIN_PULLUP, NRF_GPIO_PIN_NOSENSE); |
|
|
|
} |
|
|
|
bool SingleLeadECG_battery_charge_get_state() { return nrf_gpio_pin_read(BATTERY_CHARGE_DETECT_PIN) == 0; } |
|
|
|