summaryrefslogtreecommitdiff
path: root/app/drivers/sensor/battery/battery_common.h
diff options
context:
space:
mode:
authorJoel Spadin <joelspadin@gmail.com>2021-04-03 01:00:51 -0500
committerNick Winans <nick@winans.codes>2021-07-24 23:39:13 -0500
commita6de43e665ded4831d79159495660ac3a7d48e99 (patch)
treee2a3c4d4b79dd2e18723a564c29f7eb07b169daf /app/drivers/sensor/battery/battery_common.h
parent824d605c2218ff01ece4391711d69f623fcc75c0 (diff)
feat: Add nrf VDDH battery driver
Added a driver which uses the nRF52's ADC channel on the VDDH pin to read the battery voltage when using high voltage mode.
Diffstat (limited to 'app/drivers/sensor/battery/battery_common.h')
-rw-r--r--app/drivers/sensor/battery/battery_common.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/drivers/sensor/battery/battery_common.h b/app/drivers/sensor/battery/battery_common.h
new file mode 100644
index 0000000..d81c39e
--- /dev/null
+++ b/app/drivers/sensor/battery/battery_common.h
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2021 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <drivers/sensor.h>
+#include <stdint.h>
+
+struct battery_value {
+ uint16_t adc_raw;
+ uint16_t millivolts;
+ uint8_t state_of_charge;
+};
+
+int battery_channel_get(const struct battery_value *value, enum sensor_channel chan,
+ struct sensor_value *val_out);
+
+uint8_t lithium_ion_mv_to_pct(int16_t bat_mv);