Files
MuditaOS/module-utils/common_data/EventStore.cpp
2020-03-23 18:37:37 +01:00

48 lines
1.0 KiB
C++

#include "EventStore.hpp"
#include <segger/log/log.hpp>
#include <memory>
#include <mutex.hpp>
namespace Store
{
// if it grows bigger than these few variables - consider moving it to ram with i.e.
// delayed construction singletone
Battery battery;
const Battery &Battery::get()
{
return battery;
}
Battery &Battery::modify()
{
return battery;
}
cpp_freertos::MutexStandard mutex;
GSM *GSM::get()
{
static auto ptr = new GSM();
return ptr;
}
void GSM::setSignalStrength(const SignalStrength &signalStrength)
{
cpp_freertos::LockGuard lock(mutex);
LOG_INFO("Setting signal strenth to rssi = %d dBm (%d) : %u bars",
signalStrength.rssidBm,
signalStrength.rssi,
signalStrength.rssiBar);
get()->signalStrength = signalStrength;
}
SignalStrength GSM::getSignalStrength()
{
cpp_freertos::LockGuard lock(mutex);
return get()->signalStrength;
}
}; // namespace Store