#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> Cellular::Create( [[maybe_unused]] const char* term, uint32_t portSpeed) { std::unique_ptr inst; #if defined(TARGET_RT1051) inst = std::make_unique(); #elif defined(TARGET_Linux) inst = std::make_unique(term, portSpeed); #else #error "Unsupported target" #endif if(inst->isInitialized){ return inst; } return {}; } [[nodiscard]] auto Cellular::GetCellularDevice() const noexcept -> std::shared_ptr { return driverLPUART; } [[nodiscard]] auto Cellular::GetLastCommunicationTimestamp() const noexcept -> TickType_t { return lastCommunicationTimestamp; } [[nodiscard]] auto Cellular::IsCellularInSleepMode() const noexcept -> bool { return isInSleepMode; } }