diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/mts/MTS_IO_CB610LRadio.h | 48 | ||||
-rw-r--r-- | include/mts/MTS_IO_CE910Radio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_CellularRadio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_CellularRadioFactory.h | 1 | ||||
-rw-r--r-- | include/mts/MTS_IO_DE910Radio.h | 4 | ||||
-rw-r--r-- | include/mts/MTS_IO_EG25Radio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_EG95Radio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_GE910Radio.h | 3 | ||||
-rw-r--r-- | include/mts/MTS_IO_HE910Radio.h | 4 | ||||
-rw-r--r-- | include/mts/MTS_IO_LE866Radio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_LE910Radio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_ME910Radio.h | 2 | ||||
-rw-r--r-- | include/mts/MTS_IO_SequansRadio.h | 83 |
13 files changed, 153 insertions, 4 deletions
diff --git a/include/mts/MTS_IO_CB610LRadio.h b/include/mts/MTS_IO_CB610LRadio.h new file mode 100644 index 0000000..b802a2b --- /dev/null +++ b/include/mts/MTS_IO_CB610LRadio.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2023 by Multi-Tech Systems + * + * This file is part of libmts-io. + * + * libmts-io is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * libmts-io is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libmts-io. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef MTS_IO_CB610LRADIO_H_ +#define MTS_IO_CB610LRADIO_H_ + +#include <mts/MTS_IO_SequansRadio.h> + +namespace MTS { + namespace IO { + + class CB610LRadio : public SequansRadio { + + public: + static const std::string MODEL_NAME; + + CB610LRadio(const std::string& sPort); + virtual ~CB610LRadio(); + + CODE setCellularMode(CELLULAR_MODES networks) override; + CODE getSupportedCellularModes(CELLULAR_MODES &networks) override; + + protected: + + private: + + }; + } +} + +#endif /* MTS_IO_CB610LRADIO_H_ */
\ No newline at end of file diff --git a/include/mts/MTS_IO_CE910Radio.h b/include/mts/MTS_IO_CE910Radio.h index 58642cb..8d3b912 100644 --- a/include/mts/MTS_IO_CE910Radio.h +++ b/include/mts/MTS_IO_CE910Radio.h @@ -43,6 +43,8 @@ namespace MTS { virtual ~CE910Radio(){}; CODE setRxDiversity(const Json::Value& jArgs); + virtual const std::vector<std::string> getRegistrationCommands() override; + protected: private: diff --git a/include/mts/MTS_IO_CellularRadio.h b/include/mts/MTS_IO_CellularRadio.h index e985c21..68c1394 100644 --- a/include/mts/MTS_IO_CellularRadio.h +++ b/include/mts/MTS_IO_CellularRadio.h @@ -262,7 +262,7 @@ namespace MTS { virtual std::string queryCGREGstring(); virtual void setCGREG(std::string value); - const std::vector<std::string> getRegistrationCommands(); + virtual const std::vector<std::string> getRegistrationCommands() = 0; REGISTRATION parseRegResponse(std::string sResult); CODE getRegistration(REGISTRATION& eRegistration, const std::string& sType); diff --git a/include/mts/MTS_IO_CellularRadioFactory.h b/include/mts/MTS_IO_CellularRadioFactory.h index 13f3993..127be65 100644 --- a/include/mts/MTS_IO_CellularRadioFactory.h +++ b/include/mts/MTS_IO_CellularRadioFactory.h @@ -56,6 +56,7 @@ namespace MTS { ICellularRadio* createLE866A1JS(const std::string& sPort = ICellularRadio::DEFAULT_RADIO_PORT) const; ICellularRadio* createEG95Radio(const std::string& sPort = ICellularRadio::DEFAULT_RADIO_PORT) const; ICellularRadio* createEG25Radio(const std::string& sPort = ICellularRadio::DEFAULT_RADIO_PORT) const; + ICellularRadio* createCB610LRadio(const std::string& sPort = ICellularRadio::DEFAULT_RADIO_PORT) const; protected: typedef MTS::IO::ICellularRadio* (CellularRadioFactory::*CREATEFUNCPTR)(const std::string& sPort) const; diff --git a/include/mts/MTS_IO_DE910Radio.h b/include/mts/MTS_IO_DE910Radio.h index 9f9b9ae..67964fc 100644 --- a/include/mts/MTS_IO_DE910Radio.h +++ b/include/mts/MTS_IO_DE910Radio.h @@ -41,7 +41,9 @@ namespace MTS { DE910Radio(const std::string& sPort); virtual ~DE910Radio(){}; - CODE setRxDiversity(const Json::Value& jArgs); + CODE setRxDiversity(const Json::Value& jArgs); + + const std::vector<std::string> getRegistrationCommands() override; protected: diff --git a/include/mts/MTS_IO_EG25Radio.h b/include/mts/MTS_IO_EG25Radio.h index e05fa7d..326b192 100644 --- a/include/mts/MTS_IO_EG25Radio.h +++ b/include/mts/MTS_IO_EG25Radio.h @@ -35,6 +35,8 @@ namespace MTS { EG25Radio(const std::string& sPort); virtual ~EG25Radio(); + const std::vector<std::string> getRegistrationCommands() override; + protected: private: diff --git a/include/mts/MTS_IO_EG95Radio.h b/include/mts/MTS_IO_EG95Radio.h index 6fb47c8..a238e94 100644 --- a/include/mts/MTS_IO_EG95Radio.h +++ b/include/mts/MTS_IO_EG95Radio.h @@ -35,6 +35,8 @@ namespace MTS { EG95Radio(const std::string& sPort); virtual ~EG95Radio(); + const std::vector<std::string> getRegistrationCommands() override; + protected: private: diff --git a/include/mts/MTS_IO_GE910Radio.h b/include/mts/MTS_IO_GE910Radio.h index 4904ea7..499933c 100644 --- a/include/mts/MTS_IO_GE910Radio.h +++ b/include/mts/MTS_IO_GE910Radio.h @@ -41,7 +41,8 @@ namespace MTS { GE910Radio(const std::string& sPort); virtual ~GE910Radio(){}; - CODE setRxDiversity(const Json::Value& jArgs); + CODE setRxDiversity(const Json::Value& jArgs); + const std::vector<std::string> getRegistrationCommands() override; protected: diff --git a/include/mts/MTS_IO_HE910Radio.h b/include/mts/MTS_IO_HE910Radio.h index c8700da..54ad5a3 100644 --- a/include/mts/MTS_IO_HE910Radio.h +++ b/include/mts/MTS_IO_HE910Radio.h @@ -39,10 +39,12 @@ namespace MTS { public: virtual ~HE910Radio(){}; - CODE setRxDiversity(const Json::Value& jArgs); + CODE setRxDiversity(const Json::Value& jArgs); + const std::vector<std::string> getRegistrationCommands() override; protected: HE910Radio(const std::string& sHE910Model, const std::string& sPort); + private: }; diff --git a/include/mts/MTS_IO_LE866Radio.h b/include/mts/MTS_IO_LE866Radio.h index 2775e4d..a127f63 100644 --- a/include/mts/MTS_IO_LE866Radio.h +++ b/include/mts/MTS_IO_LE866Radio.h @@ -48,6 +48,8 @@ namespace MTS { LE866Radio(const std::string& sLE866Model, const std::string& sPort); virtual ~LE866Radio(){}; + const std::vector<std::string> getRegistrationCommands() override; + protected: private: diff --git a/include/mts/MTS_IO_LE910Radio.h b/include/mts/MTS_IO_LE910Radio.h index 6700ee3..e509c95 100644 --- a/include/mts/MTS_IO_LE910Radio.h +++ b/include/mts/MTS_IO_LE910Radio.h @@ -48,6 +48,8 @@ namespace MTS { CODE setUeModeOfOperation(ICellularRadio::UE_MODES_OF_OPERATION mode) override; CODE getUeModeOfOperation(ICellularRadio::UE_MODES_OF_OPERATION& mode) override; + const std::vector<std::string> getRegistrationCommands() override; + protected: const std::vector<std::string>& getDiagCommands(bool bIsSimReady = true) override; diff --git a/include/mts/MTS_IO_ME910Radio.h b/include/mts/MTS_IO_ME910Radio.h index 93af86f..7c34009 100644 --- a/include/mts/MTS_IO_ME910Radio.h +++ b/include/mts/MTS_IO_ME910Radio.h @@ -36,6 +36,8 @@ namespace MTS { virtual CODE setRxDiversity(const Json::Value& jArgs); + const std::vector<std::string> getRegistrationCommands() override; + protected: private: diff --git a/include/mts/MTS_IO_SequansRadio.h b/include/mts/MTS_IO_SequansRadio.h new file mode 100644 index 0000000..11f2c91 --- /dev/null +++ b/include/mts/MTS_IO_SequansRadio.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2023 by Multi-Tech Systems + * + * This file is part of libmts-io. + * + * libmts-io is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * libmts-io is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with libmts-io. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef MTS_IO_SEQUANSRADIO +#define MTS_IO_SEQUANSRADIO + +#include <mts/MTS_IO_CellularRadio.h> + +namespace MTS { + namespace IO { + + class SequansRadio : public CellularRadio { + + public: + bool resetRadio(uint32_t iTimeoutMillis = 5000) override; + + CODE getVendorFirmware(std::string& sVendorFirmware) override; + CODE getModel(std::string& sModel) override; + CODE getIccid(std::string& sIccid) override; + CODE getService(std::string& sService) override; + CODE getNetwork(std::string& sNetwork) override; + CODE getNetworkStatus(Json::Value& jData) override; + + CODE convertSignalStrengthTodBm(const int32_t& iRssi, int32_t& iDBm) override; + CODE convertdBmToSignalStrength(const int32_t& dBm, int32_t& iRssi) override; + + CODE setMdn(const Json::Value& jArgs) override; + + CODE setUeModeOfOperation(ICellularRadio::UE_MODES_OF_OPERATION mode) override; + CODE getUeModeOfOperation(ICellularRadio::UE_MODES_OF_OPERATION& mode) override; + + CODE setRxDiversity(const Json::Value& jArgs) override; + + const std::vector<std::string> getRegistrationCommands() override; + + protected: + SequansRadio(const std::string& sName, const std::string& sRadioPort); + + CODE getIsSimInserted(bool& bData) override; + CODE getSimLockAttempts(int& iAttemptsPin, int& iAttemptsPuk) override; + + const std::vector<std::string>& getDiagCommands(bool bIsSimReady = true) override; + + private: + /* + * @brief getSimLockAttemptsByType - get the number of remaining attempts to + * enter the specified SIM password type + * + * @param sType - SIM password type, "SIM PIN", "SIM PUK", "SIM PIN2" or "SIM PUK2". + * @param iAttempts - the number of remaining attempts for this password type. + * @return CODE::SUCCESS when fetched successfully, + * CODE::NOT_APPLICABLE when the modem doesn't support this feature, + * CODE::NO_RESPONSE when the modem doesn't respond, + * CODE::ERROR when the radio returns "ERROR" (SIM card removed, etc), + * CODE::FAILURE otherwise (modem is inaccessible, etc). + */ + CODE getSimLockAttemptsByType(const std::string& sType, int& iAttempts); + CODE getNetworkStatusSQN(Json::Value& jData, Json::Value& jDebug); + CODE getNetworkStatusSignal(Json::Value& jData, Json::Value& jDebug); + CODE getNetworkStatusTxPower(Json::Value& jData, Json::Value& jDebug); + + }; + } +} + +#endif /* MTS_IO_SEQUANSRADIO */ |