diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-30 16:48:10 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-30 16:48:10 +1000 |
| commit | 320fdeb9d8355d3c361d5c6d60de8afc64501af9 (patch) | |
| tree | f0d5a2ab82199c78ad6768c6b18ba1239a0b7ee4 /src/battery/battery.cpp | |
| parent | 4247c9fe7d25c921fbfc73fc50e849c8780e7ad6 (diff) | |
| download | tangara-fw-320fdeb9d8355d3c361d5c6d60de8afc64501af9.tar.gz | |
Use a service locator instead of passing around subsets of drivers between FSMs
Diffstat (limited to 'src/battery/battery.cpp')
| -rw-r--r-- | src/battery/battery.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/battery/battery.cpp b/src/battery/battery.cpp index d73f4f29..9ac6ebf1 100644 --- a/src/battery/battery.cpp +++ b/src/battery/battery.cpp @@ -40,8 +40,8 @@ void check_voltage_cb(TimerHandle_t timer) { instance->Update(); } -Battery::Battery(drivers::Samd* samd, drivers::AdcBattery* adc) - : samd_(samd), adc_(adc) { +Battery::Battery(drivers::Samd& samd, std::unique_ptr<drivers::AdcBattery> adc) + : samd_(samd), adc_(std::move(adc)) { timer_ = xTimerCreate("BATTERY", kBatteryCheckPeriod, true, this, check_voltage_cb); xTimerStart(timer_, portMAX_DELAY); @@ -56,7 +56,7 @@ Battery::~Battery() { auto Battery::Update() -> void { std::lock_guard<std::mutex> lock{state_mutex_}; - auto charge_state = samd_->GetChargeStatus(); + auto charge_state = samd_.GetChargeStatus(); if (!charge_state || *charge_state == ChargeStatus::kNoBattery) { if (state_) { EmitEvent(); |
