mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-19 19:41:21 -05:00
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#include "bsp_cellular.hpp"
|
|
|
|
#if defined(TARGET_RT1051)
|
|
#include "board/rt1051/bsp/cellular/rt1051_cellular.hpp"
|
|
#elif defined(TARGET_Linux)
|
|
#include "cellular/linux_cellular.hpp"
|
|
#else
|
|
#error "Unsupported target"
|
|
#endif
|
|
|
|
namespace bsp
|
|
{
|
|
std::optional<std::unique_ptr<Cellular>> Cellular::create([[maybe_unused]] const char *term, uint32_t portSpeed)
|
|
{
|
|
|
|
std::unique_ptr<Cellular> inst;
|
|
|
|
#if defined(TARGET_RT1051)
|
|
inst = std::make_unique<bsp::RT1051Cellular>();
|
|
#elif defined(TARGET_Linux)
|
|
inst = std::make_unique<bsp::LinuxCellular>(term, portSpeed);
|
|
#else
|
|
#error "Unsupported target"
|
|
#endif
|
|
|
|
if (inst->isInitialized) {
|
|
return inst;
|
|
}
|
|
|
|
return {};
|
|
}
|
|
|
|
[[nodiscard]] auto Cellular::getCellularDevice() const noexcept -> std::shared_ptr<devices::Device>
|
|
{
|
|
return driverLPUART;
|
|
}
|
|
|
|
[[nodiscard]] auto Cellular::getLastCommunicationTimestamp() const noexcept -> TickType_t
|
|
{
|
|
return lastCommunicationTimestamp;
|
|
}
|
|
|
|
[[nodiscard]] auto Cellular::isCellularInSleepMode() const noexcept -> bool
|
|
{
|
|
return isInSleepMode;
|
|
}
|
|
|
|
} // namespace bsp
|