From 320fdeb9d8355d3c361d5c6d60de8afc64501af9 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 30 Aug 2023 16:48:10 +1000 Subject: Use a service locator instead of passing around subsets of drivers between FSMs --- src/battery/battery.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/battery/battery.cpp') 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 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 lock{state_mutex_}; - auto charge_state = samd_->GetChargeStatus(); + auto charge_state = samd_.GetChargeStatus(); if (!charge_state || *charge_state == ChargeStatus::kNoBattery) { if (state_) { EmitEvent(); -- cgit v1.2.3