ref: 0195ece317d15bcba7dfbd74b58bb8dbcd3bca0a
src/Components/Battery/BatteryController.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#pragma once #include <drivers/include/nrfx_saadc.h> namespace Pinetime { namespace Controllers { class Battery { public: void Init(); void Update(); float PercentRemaining() const { return percentRemaining; } float Voltage() const { return voltage; } bool IsCharging() const { return isCharging; } bool IsPowerPresent() const { return isPowerPresent; } private: static constexpr uint32_t chargingPin = 12; static constexpr uint32_t powerPresentPin = 19; static constexpr nrf_saadc_input_t batteryVoltageAdcInput = NRF_SAADC_INPUT_AIN7; static void SaadcEventHandler(nrfx_saadc_evt_t const * p_event); float percentRemaining = 0.0f; float voltage = 0.0f; bool isCharging = false; bool isPowerPresent = false; }; } } |