M module-cellular/CMakeLists.txt => module-cellular/CMakeLists.txt +1 -0
@@ 40,6 40,7 @@ set(SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/at/src/UrcFactory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/at/src/Commands.cpp
${CMAKE_CURRENT_SOURCE_DIR}/at/src/Cmd.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/at/src/ATFactory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/at/response.cpp
${CMAKE_CURRENT_SOURCE_DIR}/at/cmd/src/CSCA.cpp
${CMAKE_CURRENT_SOURCE_DIR}/at/cmd/src/QECCNUM.cpp
M module-cellular/Modem/ATCommon.cpp => module-cellular/Modem/ATCommon.cpp +2 -0
@@ 2,6 2,7 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "ATCommon.hpp"
+#include <at/Cmd.hpp>
#include "time/ScopedTime.hpp"
#include <functional>
#include <log/log.hpp>
@@ 11,6 12,7 @@
#include <inttypes.h> // for PRIu32
#include <Utils.hpp>
#include "ATStream.hpp"
+#include <at/ATFactory.hpp>
using namespace at;
M module-cellular/Modem/ATStream.cpp => module-cellular/Modem/ATStream.cpp +3 -3
@@ 1,9 1,9 @@
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
+#include <cstring>
#include "ATStream.hpp"
-
#include "ATCommon.hpp"
+
namespace at
{
@@ 211,4 211,4 @@ namespace at
isATReady = false;
errcode = 0;
}
-} // namespace at>
\ No newline at end of file
+} // namespace at
M module-cellular/Modem/ATURCStream.cpp => module-cellular/Modem/ATURCStream.cpp +2 -0
@@ 5,6 5,8 @@
#include "ATCommon.hpp"
#include <module-os/RTOSWrapper/include/ticks.hpp>
+#include <cstring>
+
namespace at
{
M module-cellular/Modem/BaseChannel.hpp => module-cellular/Modem/BaseChannel.hpp +3 -0
@@ 7,9 7,12 @@
#include <vector>
#include <at/Commands.hpp>
#include <at/Result.hpp>
+#include <at/Constants.hpp>
namespace at
{
+ struct Cmd;
+
class BaseChannel
{
public:
M module-cellular/Modem/TS0710/TS0710.cpp => module-cellular/Modem/TS0710/TS0710.cpp +2 -0
@@ 2,6 2,8 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "TS0710.h"
+#include <at/ATFactory.hpp>
+#include <at/Cmd.hpp>
#include "bsp/cellular/bsp_cellular.hpp"
#include "projdefs.h"
#include <service-cellular/ServiceCellular.hpp>
A module-cellular/at/ATFactory.hpp => module-cellular/at/ATFactory.hpp +13 -0
@@ 0,0 1,13 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#pragma once
+
+#include "Commands.hpp"
+#include <at/Cmd.hpp>
+
+namespace at
+{
+ struct Cmd;
+ auto factory(AT at) -> const Cmd &;
+} // namespace at
M module-cellular/at/Cmd.hpp => module-cellular/at/Cmd.hpp +1 -5
@@ 6,16 6,12 @@
#include <string>
#include <Result.hpp>
#include <chrono>
+#include <at/Constants.hpp>
namespace at
{
- using namespace std::chrono_literals;
-
struct Cmd;
- /// if you've checked it's ok - or it was at least 300 in code somewhere, take this
- const auto default_timeout = 300ms;
-
namespace cmd
{
enum class Modifier
M module-cellular/at/Commands.hpp => module-cellular/at/Commands.hpp +5 -130
@@ 3,27 3,16 @@
#pragma once
-/// This file goal is to provide one place to store all at commands, with their respectable timeouts if these have
-
-#include "Result.hpp"
-#include <log/log.hpp>
-#include <map>
-#include <memory>
-#include <string>
-#include "Cmd.hpp"
-#include "cmd/CSCA.hpp"
#include <chrono>
+#include <vector>
+#include <at/Constants.hpp>
namespace at
{
-
- using namespace std::chrono_literals;
- const auto default_doc_timeout = 5000ms; /// if unsure - take this
- const auto default_long_doc_timeout = 15000ms;
-
- /// at::Cmd structure with command, it's timeout and some runtime data
+ /// These are commands we use in our code with
+ /// at::Cmd structure which consists of:
/// { command, timeout, last : {sent, response, status } }
-
+ ///
/// doc is: per Quectel_EC25&EC21_AT_Commands_Manual_V1.3.pdf
enum class AT
{
@@ 139,120 128,6 @@ namespace at
QEEC, /// Echo cancellation parameters
};
- // below timeouts are defined in Quectel_EC25&EC21_AT_Commands_Manual_V1.3.pdf
- inline auto factory(AT at) -> const Cmd &
- {
- static const std::map<AT, const Cmd> fact{
- {AT::AT, {"AT", 100ms}},
- {AT::ECHO_OFF, {"ATE0"}},
- {AT::FACTORY_RESET, {"AT&F"}},
- {AT::SW_INFO, {"ATI\r", default_doc_timeout}},
- {AT::FLOW_CTRL_ON, {"AT+IFC=2,2\r\n", 500ms}},
- {AT::FLOW_CTRL_OFF, {"AT+IFC=0,0", 500ms}},
- {AT::URC_NOTIF_CHANNEL, {"AT+QCFG=\"cmux/urcport\",1"}},
- {AT::RI_PIN_AUTO_CALL, {"AT+QCFG=\"urc/ri/ring\",\"auto\""}},
- {AT::RI_PIN_OFF_CALL, {"AT+QCFG=\"urc/ri/ring\",\"off\""}},
- {AT::RI_PIN_PULSE_SMS, {"AT+QCFG=\"urc/ri/smsincoming\",\"pulse\",450"}},
- {AT::RI_PIN_OFF_SMS, {"AT+QCFG=\"urc/ri/smsincoming\",\"off\""}},
- {AT::RI_PIN_PULSE_OTHER, {"AT+QCFG=\"urc/ri/other\",\"pulse\""}},
- {AT::URC_DELAY_ON, {"AT+QCFG=\"urc/delay\",1"}},
- {AT::URC_UART1, {"AT+QURCCFG=\"urcport\",\"uart1\""}},
- {AT::AT_PIN_READY_LOGIC, {"AT+QCFG=\"apready\",1,1,200"}},
- {AT::URC_NOTIF_SIGNAL, {"AT+QINDCFG=\"csq\",1"}},
- {AT::CRC_ON, {"AT+CRC=1"}},
- {AT::CALLER_NUMBER_PRESENTATION, {"AT+CLIP=1", 18000ms}},
- {AT::SMS_TEXT_FORMAT, {"AT+CMGF=1"}},
- {AT::SMS_UCSC2, {"AT+CSCS=\"UCS2\""}},
- {AT::SMS_GSM, {"AT+CSCS=\"GSM\""}},
- {AT::QSCLK_ON, {"AT+QSCLK=1", 3000ms}},
- {AT::QDAI, {"AT+QDAI?"}},
- {AT::QDAI_INIT, {"AT+QDAI=1,0,0,3,0,1,1,1"}},
- {AT::SET_URC_CHANNEL, {"AT+QCFG=\"cmux/urcport\",2", default_doc_timeout}},
- {AT::CSQ, {"AT+CSQ", default_doc_timeout}},
- {AT::CLCC, {"AT+CLCC", default_doc_timeout}},
- {AT::CMGD, {"AT+CMGD=", default_doc_timeout}},
- {AT::CNUM, {"AT+CNUM"}},
- {AT::CIMI, {"AT+CIMI"}},
- {AT::QCMGR, {"AT+QCMGR=", 2000ms}},
- {AT::ATH, {"ATH", 90000ms}},
- {AT::ATA, {"ATA", 90000ms}},
- {AT::ATD, {"ATD"}},
- {AT::IPR, {"AT+IPR="}},
- {AT::CMUX, {"AT+CMUX="}},
- {AT::CFUN, {"AT+CFUN=", default_long_doc_timeout}},
- {AT::CFUN_RESET, {"AT+CFUN=1,1", default_long_doc_timeout}},
- {AT::CFUN_MIN_FUNCTIONALITY, {"AT+CFUN=0", default_long_doc_timeout}},
- {AT::CFUN_FULL_FUNCTIONALITY, {"AT+CFUN=1", default_long_doc_timeout}},
- {AT::CFUN_DISABLE_TRANSMITTING, {"AT+CFUN=4", default_long_doc_timeout}},
- {AT::CMGS, {"AT+CMGS=\"", 120s}}, // verified in docs
- {AT::QCMGS, {"AT+QCMGS=\"", 120s}}, // verified in docs
- {AT::CREG, {"AT+CREG?", default_doc_timeout}},
- {AT::QNWINFO, {"AT+QNWINFO"}},
- {AT::COPS, {"AT+COPS", 180000ms}},
- {AT::QSIMSTAT, {"AT+QSIMSTAT?"}},
- {AT::SIM_DET, {"AT+QSIMDET?"}},
- {AT::SIM_DET_ON, {"AT+QSIMDET=1,0"}},
- {AT::SIMSTAT_ON, {"AT+QSIMSTAT=1"}},
- {AT::SET_SCANMODE, {"AT+QCFG=\"nwscanmode\","}},
- {AT::GET_SCANMODE, {"AT+QCFG=\"nwscanmode\""}},
- {AT::QGMR, {"AT+QGMR"}},
- {AT::STORE_SETTINGS_ATW, {"AT&W"}},
- {AT::CEER, {"AT+CEER"}},
- {AT::QIGETERROR, {"AT+QIGETERROR"}},
- {AT::VTS, {"AT+VTS="}},
- {AT::QLDTMF, {"AT+QLDTMF=1,"}},
- {AT::CUSD_OPEN_SESSION, {"AT+CUSD=1"}},
- {AT::CUSD_CLOSE_SESSION, {"AT+CUSD=2"}},
- {AT::CUSD_SEND, {"AT+CUSD=1,"}},
- {AT::SET_SMS_STORAGE, {"AT+CPMS=\"SM\",\"SM\",\"SM\"", 300ms}},
- {AT::CPIN, {"AT+CPIN=", default_timeout}},
- {AT::GET_CPIN, {"AT+CPIN?", default_timeout}},
- {AT::QPINC, {"AT+QPINC=", default_timeout}},
- {AT::CLCK, {"AT+CLCK=", default_timeout}},
- {AT::CPWD, {"AT+CPWD=", default_timeout}},
- {AT::ENABLE_TIME_ZONE_UPDATE, {"AT+CTZU=3"}},
- {AT::SET_TIME_ZONE_REPORTING, {"AT+CTZR=2"}},
- {AT::DISABLE_TIME_ZONE_UPDATE, {"AT+CTZU=0"}},
- {AT::DISABLE_TIME_ZONE_REPORTING, {"AT+CTZR=0"}},
- {AT::ENABLE_NETWORK_REGISTRATION_URC, {"AT+CREG=2"}},
- {AT::SET_SMS_TEXT_MODE_UCS2, {"AT+CSMP=17,167,0,8"}},
- {AT::LIST_MESSAGES, {"AT+CMGL=\"ALL\"", default_doc_timeout}},
- {AT::GET_IMEI, {"AT+GSN", default_doc_timeout}},
- {AT::CCFC, {"AT+CCFC=", default_doc_timeout}},
- {AT::CCWA, {"AT+CCWA=", default_doc_timeout}},
- {AT::CCWA_GET, {"AT+CCWA?", default_doc_timeout}},
- {AT::CHLD, {"AT+CHLD=\"", default_doc_timeout}},
- {AT::CLIP, {"AT+CLIP=", default_long_doc_timeout}},
- {AT::CLIP_GET, {"AT+CLIP?", default_long_doc_timeout}},
- {AT::CLIR, {"AT+CLIR=", default_long_doc_timeout}},
- {AT::CLIR_GET, {"AT+CLIR?", default_long_doc_timeout}},
- {AT::CLIR_RESET, {"AT+CLIR=0", default_long_doc_timeout}},
- {AT::CLIR_ENABLE, {"AT+CLIR=1", default_long_doc_timeout}},
- {AT::CLIR_DISABLE, {"AT+CLIR=2", default_long_doc_timeout}},
- {AT::COLP, {"AT+COLP", default_long_doc_timeout}},
- {AT::COLP_GET, {"AT+COLP?", default_long_doc_timeout}},
- {AT::COLP_ENABLE, {"AT+COLP=1", default_long_doc_timeout}},
- {AT::COLP_DISABLE, {"AT+COLP=0", default_long_doc_timeout}},
- {AT::CSSN, {"AT+CSSN=\"", default_doc_timeout}},
- {AT::QICSGP, {"AT+QICSGP", default_timeout}},
- {AT::QIACT, {"AT+QIACT", 150000ms}},
- {AT::QIDEACT, {"AT+QIDEACT", 40000ms}},
- {AT::QRXGAIN, {"AT+QRXGAIN=40000", default_timeout}},
- {AT::CLVL, {"AT+CLVL=3", default_timeout}},
- {AT::QMIC, {"AT+QMIC=15000,15000", default_timeout}},
- {AT::QEEC, {"AT+QEEC=", 3000ms}},
- {AT::QNVFR, {"AT+QNVFR=", default_long_doc_timeout}},
- {AT::QNVFW, {"AT+QNVFW=", default_long_doc_timeout}},
- {AT::QMBNCFG, {"AT+QMBNCFG=", default_long_doc_timeout}},
- {AT::QCFG_IMS, {"AT+QCFG=\"ims\"", default_timeout}}};
-
- if (fact.count(at) != 0u) {
- return fact.at(at);
- }
- LOG_ERROR("NO SUCH AT COMMAND DEFINED: %d", static_cast<int>(at));
- return fact.at(AT::AT);
- }
-
enum class commadsSet
{
modemInit,
A module-cellular/at/Constants.hpp => module-cellular/at/Constants.hpp +13 -0
@@ 0,0 1,13 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#pragma once
+
+#include <chrono>
+
+namespace at
+{
+ constexpr std::chrono::milliseconds default_timeout{300}; /// if you've checked that it's ok
+ constexpr std::chrono::milliseconds default_doc_timeout{5000}; /// if unsure - take this
+ constexpr std::chrono::milliseconds default_long_doc_timeout{15000}; /// long timeout from docs
+} // namespace at
A module-cellular/at/src/ATFactory.cpp => module-cellular/at/src/ATFactory.cpp +124 -0
@@ 0,0 1,124 @@
+// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+
+#include "ATFactory.hpp"
+#include "cmd/CSCA.hpp"
+
+namespace at
+{
+ using namespace std::chrono_literals;
+
+ std::initializer_list<std::pair<const AT, const Cmd>> initializer = {
+ {AT::AT, {"AT", 100ms}},
+ {AT::ECHO_OFF, {"ATE0"}},
+ {AT::FACTORY_RESET, {"AT&F"}},
+ {AT::SW_INFO, {"ATI\r", default_doc_timeout}},
+ {AT::FLOW_CTRL_ON, {"AT+IFC=2,2\r\n", 500ms}},
+ {AT::FLOW_CTRL_OFF, {"AT+IFC=0,0", 500ms}},
+ {AT::URC_NOTIF_CHANNEL, {"AT+QCFG=\"cmux/urcport\",1"}},
+ {AT::RI_PIN_AUTO_CALL, {"AT+QCFG=\"urc/ri/ring\",\"auto\""}},
+ {AT::RI_PIN_OFF_CALL, {"AT+QCFG=\"urc/ri/ring\",\"off\""}},
+ {AT::RI_PIN_PULSE_SMS, {"AT+QCFG=\"urc/ri/smsincoming\",\"pulse\",450"}},
+ {AT::RI_PIN_OFF_SMS, {"AT+QCFG=\"urc/ri/smsincoming\",\"off\""}},
+ {AT::RI_PIN_PULSE_OTHER, {"AT+QCFG=\"urc/ri/other\",\"pulse\""}},
+ {AT::URC_DELAY_ON, {"AT+QCFG=\"urc/delay\",1"}},
+ {AT::URC_UART1, {"AT+QURCCFG=\"urcport\",\"uart1\""}},
+ {AT::AT_PIN_READY_LOGIC, {"AT+QCFG=\"apready\",1,1,200"}},
+ {AT::URC_NOTIF_SIGNAL, {"AT+QINDCFG=\"csq\",1"}},
+ {AT::CRC_ON, {"AT+CRC=1"}},
+ {AT::CALLER_NUMBER_PRESENTATION, {"AT+CLIP=1", 18000ms}},
+ {AT::SMS_TEXT_FORMAT, {"AT+CMGF=1"}},
+ {AT::SMS_UCSC2, {"AT+CSCS=\"UCS2\""}},
+ {AT::SMS_GSM, {"AT+CSCS=\"GSM\""}},
+ {AT::QSCLK_ON, {"AT+QSCLK=1", 3000ms}},
+ {AT::QDAI, {"AT+QDAI?"}},
+ {AT::QDAI_INIT, {"AT+QDAI=1,0,0,3,0,1,1,1"}},
+ {AT::SET_URC_CHANNEL, {"AT+QCFG=\"cmux/urcport\",2", default_doc_timeout}},
+ {AT::CSQ, {"AT+CSQ", default_doc_timeout}},
+ {AT::CLCC, {"AT+CLCC", default_doc_timeout}},
+ {AT::CMGD, {"AT+CMGD=", default_doc_timeout}},
+ {AT::CNUM, {"AT+CNUM"}},
+ {AT::CIMI, {"AT+CIMI"}},
+ {AT::QCMGR, {"AT+QCMGR=", 2000ms}},
+ {AT::ATH, {"ATH", 90000ms}},
+ {AT::ATA, {"ATA", 90000ms}},
+ {AT::ATD, {"ATD"}},
+ {AT::IPR, {"AT+IPR="}},
+ {AT::CMUX, {"AT+CMUX="}},
+ {AT::CFUN, {"AT+CFUN=", default_long_doc_timeout}},
+ {AT::CFUN_RESET, {"AT+CFUN=1,1", default_long_doc_timeout}},
+ {AT::CFUN_MIN_FUNCTIONALITY, {"AT+CFUN=0", default_long_doc_timeout}},
+ {AT::CFUN_FULL_FUNCTIONALITY, {"AT+CFUN=1", default_long_doc_timeout}},
+ {AT::CFUN_DISABLE_TRANSMITTING, {"AT+CFUN=4", default_long_doc_timeout}},
+ {AT::CMGS, {"AT+CMGS=\"", 120s}}, // verified in docs
+ {AT::QCMGS, {"AT+QCMGS=\"", 120s}}, // verified in docs
+ {AT::CREG, {"AT+CREG?", default_doc_timeout}},
+ {AT::QNWINFO, {"AT+QNWINFO"}},
+ {AT::COPS, {"AT+COPS", 180000ms}},
+ {AT::QSIMSTAT, {"AT+QSIMSTAT?"}},
+ {AT::SIM_DET, {"AT+QSIMDET?"}},
+ {AT::SIM_DET_ON, {"AT+QSIMDET=1,0"}},
+ {AT::SIMSTAT_ON, {"AT+QSIMSTAT=1"}},
+ {AT::SET_SCANMODE, {"AT+QCFG=\"nwscanmode\","}},
+ {AT::GET_SCANMODE, {"AT+QCFG=\"nwscanmode\""}},
+ {AT::QGMR, {"AT+QGMR"}},
+ {AT::STORE_SETTINGS_ATW, {"AT&W"}},
+ {AT::CEER, {"AT+CEER"}},
+ {AT::QIGETERROR, {"AT+QIGETERROR"}},
+ {AT::VTS, {"AT+VTS="}},
+ {AT::QLDTMF, {"AT+QLDTMF=1,"}},
+ {AT::CUSD_OPEN_SESSION, {"AT+CUSD=1"}},
+ {AT::CUSD_CLOSE_SESSION, {"AT+CUSD=2"}},
+ {AT::CUSD_SEND, {"AT+CUSD=1,"}},
+ {AT::SET_SMS_STORAGE, {"AT+CPMS=\"SM\",\"SM\",\"SM\"", 300ms}},
+ {AT::CPIN, {"AT+CPIN=", default_timeout}},
+ {AT::GET_CPIN, {"AT+CPIN?", default_timeout}},
+ {AT::QPINC, {"AT+QPINC=", default_timeout}},
+ {AT::CLCK, {"AT+CLCK=", default_timeout}},
+ {AT::CPWD, {"AT+CPWD=", default_timeout}},
+ {AT::ENABLE_TIME_ZONE_UPDATE, {"AT+CTZU=3"}},
+ {AT::SET_TIME_ZONE_REPORTING, {"AT+CTZR=2"}},
+ {AT::DISABLE_TIME_ZONE_UPDATE, {"AT+CTZU=0"}},
+ {AT::DISABLE_TIME_ZONE_REPORTING, {"AT+CTZR=0"}},
+ {AT::ENABLE_NETWORK_REGISTRATION_URC, {"AT+CREG=2"}},
+ {AT::SET_SMS_TEXT_MODE_UCS2, {"AT+CSMP=17,167,0,8"}},
+ {AT::LIST_MESSAGES, {"AT+CMGL=\"ALL\"", default_doc_timeout}},
+ {AT::GET_IMEI, {"AT+GSN", default_doc_timeout}},
+ {AT::CCFC, {"AT+CCFC=", default_doc_timeout}},
+ {AT::CCWA, {"AT+CCWA=", default_doc_timeout}},
+ {AT::CCWA_GET, {"AT+CCWA?", default_doc_timeout}},
+ {AT::CHLD, {"AT+CHLD=\"", default_doc_timeout}},
+ {AT::CLIP, {"AT+CLIP=", default_long_doc_timeout}},
+ {AT::CLIP_GET, {"AT+CLIP?", default_long_doc_timeout}},
+ {AT::CLIR, {"AT+CLIR=", default_long_doc_timeout}},
+ {AT::CLIR_GET, {"AT+CLIR?", default_long_doc_timeout}},
+ {AT::CLIR_RESET, {"AT+CLIR=0", default_long_doc_timeout}},
+ {AT::CLIR_ENABLE, {"AT+CLIR=1", default_long_doc_timeout}},
+ {AT::CLIR_DISABLE, {"AT+CLIR=2", default_long_doc_timeout}},
+ {AT::COLP, {"AT+COLP", default_long_doc_timeout}},
+ {AT::COLP_GET, {"AT+COLP?", default_long_doc_timeout}},
+ {AT::COLP_ENABLE, {"AT+COLP=1", default_long_doc_timeout}},
+ {AT::COLP_DISABLE, {"AT+COLP=0", default_long_doc_timeout}},
+ {AT::CSSN, {"AT+CSSN=\"", default_doc_timeout}},
+ {AT::QICSGP, {"AT+QICSGP", default_timeout}},
+ {AT::QIACT, {"AT+QIACT", 150000ms}},
+ {AT::QIDEACT, {"AT+QIDEACT", 40000ms}},
+ {AT::QRXGAIN, {"AT+QRXGAIN=40000", default_timeout}},
+ {AT::CLVL, {"AT+CLVL=3", default_timeout}},
+ {AT::QMIC, {"AT+QMIC=15000,15000", default_timeout}},
+ {AT::QEEC, {"AT+QEEC=", 3000ms}},
+ {AT::QNVFR, {"AT+QNVFR=", default_long_doc_timeout}},
+ {AT::QNVFW, {"AT+QNVFW=", default_long_doc_timeout}},
+ {AT::QMBNCFG, {"AT+QMBNCFG=", default_long_doc_timeout}},
+ {AT::QCFG_IMS, {"AT+QCFG=\"ims\"", default_timeout}}};
+
+ auto factory(AT at) -> const Cmd &
+ {
+ static auto fact = std::map<AT, const Cmd>(initializer);
+ if (fact.count(at) != 0u) {
+ return fact.at(at);
+ }
+ LOG_ERROR("no such at command defined: %d", static_cast<int>(at));
+ return fact.at(AT::AT);
+ }
+} // namespace at
M module-services/service-cellular/NetworkSettings.cpp => module-services/service-cellular/NetworkSettings.cpp +1 -0
@@ 4,6 4,7 @@
#include "NetworkSettings.hpp"
#include "QMBNManager.hpp"
#include <unordered_map>
+#include <at/ATFactory.hpp>
std::string NetworkSettings::getCurrentOperator() const
{
M module-services/service-cellular/PacketData.cpp => module-services/service-cellular/PacketData.cpp +1 -1
@@ 6,9 6,9 @@
#include <optional>
#include <algorithm>
#include <iterator>
-
#include <response.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
namespace at
{
namespace response
M module-services/service-cellular/QMBNManager.cpp => module-services/service-cellular/QMBNManager.cpp +1 -0
@@ 4,6 4,7 @@
#include "QMBNManager.hpp"
#include "Utils.hpp"
#include "response.hpp"
+#include <at/ATFactory.hpp>
namespace at
{
M module-services/service-cellular/ServiceCellular.cpp => module-services/service-cellular/ServiceCellular.cpp +3 -1
@@ 23,10 23,12 @@
#include <BaseInterface.hpp>
#include <CalllogRecord.hpp>
#include <Commands.hpp>
+#include <at/ATFactory.hpp>
#include <Common/Common.hpp>
#include <Common/Query.hpp>
#include <MessageType.hpp>
#include <Modem/ATCommon.hpp>
+#include <Modem/ATCommon.hpp>
#include <Modem/ATParser.hpp>
#include <Modem/TS0710/DLC_channel.h>
#include <Modem/TS0710/TS0710.h>
@@ 93,7 95,7 @@
const char *ServiceCellular::serviceName = "ServiceCellular";
-inline constexpr auto cellularStack = 25000UL;
+inline constexpr auto cellularStack = 8000;
using namespace cellular;
M module-services/service-cellular/SimCard.cpp => module-services/service-cellular/SimCard.cpp +2 -0
@@ 7,6 7,8 @@
#include "Result.hpp"
#include "UrcCpin.hpp" //for Cpin parseState
#include "UrcFactory.hpp"
+#include <at/ATFactory.hpp>
+#include <at/Cmd.hpp>
SimCardResult SimCard::convertErrorFromATResult(const at::Result atres) const
{
M module-services/service-cellular/checkSmsCenter.cpp => module-services/service-cellular/checkSmsCenter.cpp +1 -0
@@ 3,6 3,7 @@
#include "checkSmsCenter.hpp"
#include "Modem/BaseChannel.hpp"
+#include <at/cmd/CSCA.hpp>
[[nodiscard]] bool checkSmsCenter(at::BaseChannel &channel)
{
M module-services/service-cellular/requests/CallBarringRequest.cpp => module-services/service-cellular/requests/CallBarringRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/CallBarringRequest.hpp"
M module-services/service-cellular/requests/CallForwardingRequest.cpp => module-services/service-cellular/requests/CallForwardingRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/CallForwardingRequest.hpp"
M module-services/service-cellular/requests/CallRequest.cpp => module-services/service-cellular/requests/CallRequest.cpp +1 -0
@@ 8,6 8,7 @@
#include <at/Commands.hpp>
#include "service-cellular/requests/CallRequest.hpp"
+#include <at/ATFactory.hpp>
namespace cellular
{
M module-services/service-cellular/requests/CallWaitingRequest.cpp => module-services/service-cellular/requests/CallWaitingRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/CallWaitingRequest.hpp"
M module-services/service-cellular/requests/ClipRequest.cpp => module-services/service-cellular/requests/ClipRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/ClipRequest.hpp"
M module-services/service-cellular/requests/ClirRequest.cpp => module-services/service-cellular/requests/ClirRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/ClirRequest.hpp"
M module-services/service-cellular/requests/ColpRequest.cpp => module-services/service-cellular/requests/ColpRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/ColpRequest.hpp"
M module-services/service-cellular/requests/ImeiRequest.cpp => module-services/service-cellular/requests/ImeiRequest.cpp +1 -0
@@ 6,6 6,7 @@
#include <at/Result.hpp>
#include <at/Commands.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/ImeiRequest.hpp"
M module-services/service-cellular/requests/PasswordRegistrationRequest.cpp => module-services/service-cellular/requests/PasswordRegistrationRequest.cpp +1 -0
@@ 5,6 5,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/PasswordRegistrationRequest.hpp"
#include "service-cellular/requests/CallBarringRequest.hpp" // for barringServiceToFacility map
M module-services/service-cellular/requests/PinChangeRequest.cpp => module-services/service-cellular/requests/PinChangeRequest.cpp +2 -0
@@ 5,8 5,10 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/PinChangeRequest.hpp"
+#include <at/ATFactory.hpp>
namespace
{
M module-services/service-cellular/requests/Request.cpp => module-services/service-cellular/requests/Request.cpp +1 -0
@@ 6,6 6,7 @@
#include <at/Result.hpp>
#include <at/Commands.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/Request.hpp"
M module-services/service-cellular/requests/SupplementaryServicesRequest.cpp => module-services/service-cellular/requests/SupplementaryServicesRequest.cpp +1 -0
@@ 6,6 6,7 @@
#include <at/Commands.hpp>
#include <Utils.hpp>
+#include <at/ATFactory.hpp>
#include "service-cellular/requests/SupplementaryServicesRequest.hpp"
#include "service-cellular/requests/CallForwardingRequest.hpp"
M module-services/service-cellular/requests/UssdRequest.cpp => module-services/service-cellular/requests/UssdRequest.cpp +1 -0
@@ 9,6 9,7 @@
#include <at/Commands.hpp>
#include "service-cellular/requests/UssdRequest.hpp"
+#include <at/ATFactory.hpp>
namespace cellular
{
M module-services/service-cellular/service-cellular/requests/RejectRequest.hpp => module-services/service-cellular/service-cellular/requests/RejectRequest.hpp +1 -0
@@ 4,6 4,7 @@
#pragma once
#include <at/Result.hpp>
+#include <at/Cmd.hpp>
#include "service-cellular/RequestHandler.hpp"
#include "service-cellular/requests/Request.hpp"
M module-services/service-cellular/service-cellular/requests/Request.hpp => module-services/service-cellular/service-cellular/requests/Request.hpp +1 -0
@@ 6,6 6,7 @@
#include <at/Result.hpp>
#include <at/Commands.hpp>
#include "service-cellular/RequestHandler.hpp"
+#include <at/Cmd.hpp>
namespace cellular
{
M module-utils/Utils.hpp => module-utils/Utils.hpp +0 -1
@@ 4,7 4,6 @@
#pragma once
#include "i18n/i18n.hpp"
#include <algorithm> // std::find_if_not
-#include <log/log.hpp>
#include <sstream>
#include <iomanip>
#include <cmath>