summaryrefslogtreecommitdiff
path: root/include/mts
diff options
context:
space:
mode:
Diffstat (limited to 'include/mts')
-rw-r--r--include/mts/MTS_IO_CB610LRadio.h48
-rw-r--r--include/mts/MTS_IO_CE910Radio.h2
-rw-r--r--include/mts/MTS_IO_CellularRadio.h2
-rw-r--r--include/mts/MTS_IO_CellularRadioFactory.h1
-rw-r--r--include/mts/MTS_IO_DE910Radio.h4
-rw-r--r--include/mts/MTS_IO_EG25Radio.h2
-rw-r--r--include/mts/MTS_IO_EG95Radio.h2
-rw-r--r--include/mts/MTS_IO_GE910Radio.h3
-rw-r--r--include/mts/MTS_IO_HE910Radio.h4
-rw-r--r--include/mts/MTS_IO_LE866Radio.h2
-rw-r--r--include/mts/MTS_IO_LE910Radio.h2
-rw-r--r--include/mts/MTS_IO_ME910Radio.h2
-rw-r--r--include/mts/MTS_IO_SequansRadio.h83
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 */