summaryrefslogtreecommitdiff
path: root/src/MTS_IO_QuectelRadio.cpp
AgeCommit message (Collapse)AuthorFiles
2020-07-13MTX-3404 Code ReviewAndrii Pientsov1
2020-07-10Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Small fixes and improvements. 1. Fixed casing for the "FUMO Error: timeout, radio is not responding" message. All error messages passed to the status callback shall start with "FUMO Error:" 2. Removed extra carriage return for the "abortFileUpload" command. Passing "+++\r" instead of the "+++" to the radio works for Quectel but cause issues for Telit. At the same time Quectel specificly requires to "Do not input any character within 1s after “+++” has been inputted." in their FILE manual. Possibly, "any character" includes carriage return. 3. Fixed a typo: "lenght" -> "length"
2020-07-06Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Fixed message format for FUMO Done and FUMO Error messages. The original code with "FUMO done" ("done" lowercase) and "FUMO error" ("error" lowercase) was copied from the ME910C1-WW implementation. At the same time other places of the code use Title Case for "Done", "Error" and "Info" messages. This commit fixes the last bunch of messages in the QuectelRadio Delta FWU implementation to use Title Case. This simplifies handling in various scripts and other components.
2020-07-06Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Fixed format of FILE upload log messages.
2020-07-03Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Implemented firmware version check detection.
2020-07-03Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Cleanup for the printouts and status messages.
2020-07-03Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Simplified usage of step callbacks in the QuectelRadio class. Refactored existing function to use a wrapper and preven repetitive checks.
2020-07-03Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Started code cleanup before finishing the procedure. Renamed functions related to the delta radio firmware upgrade to follow established patterns: - uploadDeltaFirmwareFile -> fumoLocalInject - applyDeltaFirmwareFile -> fumoLocalApply - removeDeltaFirmwareFile -> fumoLocalCleanup - new function: updateFumoLocal - encapsulates all the magic for radios that may not support separate stages for the delta upload and delta apply
2020-07-03WIP: Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Initial implementation of the "Apply delta firmware" step. Requires cleanup.
2020-06-30Merge remote-tracking branch 'origin/master' into sk/quectel-delta-fwuSerhii Kostiuk1
2020-06-30Merge remote-tracking branch 'origin/master' into sk/quectel-delta-fwuSerhii Kostiuk1
2020-06-25[MTX-3489] mPower Oct20: Porting "LNA7 Intermediate Release" changesSerhii Kostiuk1
Merged all the changes from the intermediate release to master.
2020-06-05[GP-651] LNA7: Allow to start the OMA DM procedure when it is requiredSerhii Kostiuk1
Fixed totally invalid string formatting for the stepCb argument. The previous implementation caused Json::Value to select the following constructor: ```Value(const char* begin, const char* end); ///< Copy all, incl zeroes.``` Which, of course, resulted in OOM violations. Oops.
2020-06-05[GP-651] LNA7: Allow to start the OMA DM procedure when it is requiredSerhii Kostiuk1
Fixes after a code review: - increased timeout from 60 to 160 seconds for "Abnormal" cases; - added hanlding for the "DME Abnormal" URC; - added "kill OMA DM" logic for the timeout case.
2020-06-03[GP-651] LNA7: Allow to start the OMA DM procedure when it is requiredSerhii Kostiuk1
Fixed AT+QODM parameters. AT+QODM parameters are case-sensitive.
2020-06-02[GP-651] LNA7: Allow to start the OMA DM procedure when it is requiredSerhii Kostiuk1
This commits adds support for the Quectel-specific OMA DM commands. This allows to trigger OMA DM procedure om Verizon to fetch the corrent APN values and other settings from the network. Expected radio output on success: ``` +QODM: "DME",0,DM Start +QODM: "DME",0,DM End ``` Other +QODM URC codes are also possible according to information from Quectel forum: https://forums.quectel.com/t/what-is-the-meaning-of-qodm-fumo-report-failed/2444/5. But only "DM Start" and "DM End" responses are expected, supported and treated as correct in the libmts-io.
2020-05-30Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Initial implementation of the delta firmware image upload for Quectel radios.
2020-05-30Quectel Delta Radio Firmware Upgrade support - libmts-io implementationSerhii Kostiuk1
Declared base interface and added started implementation for the QuectelRadio class. Implemented file listing (file status check) and file removal logic.
2020-05-29mPower Oct20: L4G1 libmts-io supportmykola.salomatin1
2019-07-31Removed obsolete methods get/set radio modeMaksym Telychko1
Use get/setCellularMode instead Revert of commits: 4ef332ec707946a3cf2a55473d05dfc9af3d4b11 [MTS-MTQ] network radio mode switch: refactoring method name 143feb6a4587817d28c77e4df3a1b594b855f5e5 [MTS-MTQ] RAT mode switch: implementation for telit and quectel
2019-07-29MTX-2891 mpower 2-3-4g switch refactoring: method namesMaksym Telychko1
2019-07-26MTX-2891 mpower 2-3-4g switch: build and treat warnings as errorsMaksym Telychko1
2019-07-25MTX-2891 mpower: 2-3-4g switch implementation for TelitMaksym Telychko1
2019-07-18[MTR-MTQ] Namespace-related usage improvementsSerhii Kostiuk1
Restored full qualification of the ICellularRadio::CODE object type for all files that used full qualification before (effectively, for all source files and only one header file). This commit partially reverses 53efcef2e2f521135b323e194c45f1d9fa7b5d5d.
2019-07-18[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Refactored the CellularRadio class to include base stub implementation for the "CellularRadio::getCarrierFromFirmware" and "CellularRadio::getHardwareVersionFromFirmware" methods. From now assuming that those two possibilities are not supported by the modem until otherwise specified (i.e. until the method implementation was overridden in derived class). This change was implemented after a code review.
2019-07-18[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Now using "<rat>" field instead on number of fields returned in "AT+QENG" result for the QuectelRadio::getNetworkStatus implementation. This change was implemented after a code review.
2019-07-15[MTS-MTQ] SIM status and PIN unlock proceduresSerhii Kostiuk1
Increased timeout for the AT+QPINC="SC" command up to 2 seconds as the modem fails to respond in the current 500ms time limit while executing several successive commands.
2019-07-15[MTX-2886] MTR_MTQ - radio-cmd shows invalid message on valid SIM PINSerhii Kostiuk1
Fixed the timeouts for several AT commands, including SIM-related commands
2019-06-26[MTS-MTQ] network radio mode switch: refactoring method nameMaksym Telychko1
2019-06-26[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
A small fix for the QuectelRadio::getNetwork - removed extra `"` character when only short / long operator name is returned by +COPS?
2019-06-24Merge branch 'mtr-mtq-sim-status' into quectel-radioSerhii Kostiuk1
2019-06-22[MTS-MTQ] SIM status and PIN unlock proceduresSerhii Kostiuk1
Added Quectel-specific implementation of the CellularRadio::getIsSimInserted and CellularRadio::getSimLockAttempts utility methods
2019-06-21[MTS-MTQ] RAT mode switch: implementation for telit and quectelMaksym Telychko1
RAT - Radio Access Technology
2019-06-14[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Fixed a tiny difference between RSSI placement in TelitRadio and QuectelRadio implementation
2019-06-13[MTS-MTQ] refactoring: using full qualified names for consts [2]Serhii Kostiuk1
Made the same changes for QuectelRadio as for the whole project
2019-06-12[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Fixed parsing of RSSI dBm in QuectelRadio::getNetworkStatus for GSM mode. As stated in the datasheet[1], we should substract "111" from the value in <rxlev> field in order to get a proper value in dBm. The thing is that the values returned by a real device are already out of the "0-63" range stated in a datasheet. And looks like those values are already in a dBm scale. [2] This commit removes additional substraction and saves the value of <rxlev> field directly without any modifications. Sources: - [1] QuectelEC2x26EG9x26EM05QuecCellATCommandsManualV10.929966385.pdf, page 9, <rxlev> field description. - [2] +QENG: "servingcell","NOCONN","GSM",REDACTED,REDACTED,REFACTED,REDACTED,8,522,0,-66,255,255,0,41,41,1,-,-,-,-,-,-,-,-,-,""
2019-06-12[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Changed implementation of the QuectelRadio::getService - Replaced sscanf with functions from MTS::Text - Emulated the behaviour of TelitRadio::getService - return FAILURE when <Act> is not available The TelitRadio::getService returns FAILURE when device stays without a SIM card (probably, until it will be registered to the network)
2019-06-12[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Fixes and improvements - Corrected the format of getNetwork output - Fixed pasrsing for the trailing values in QuectelRadio::getNetworkStatus (removed extra characters) - Removed empty "debug" field from QuectelRadio::getNetworkStatus output in GSM mode - Corrected parsing in the QuectelRadio::getServiceDomain - Corrected parsing in the QuectelRadio::getService - Corrected target fields for Service Domain value in QuectelRadio::getNetworkStatus
2019-06-12[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Corrected the check for QENG="servingcell" prefix
2019-06-11[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Modified QuectelRadio::getNetworkStatus to populate Quectel-specific debug information. Added as a separate commit for simple reverts
2019-06-11[MTS-MTQ] QuectelRadio implementationSerhii Kostiuk1
Added the full implementation of QuectelRadio class. Ported the changes from a local branch to the new libmts-io architecture.
2019-06-06[MTS-MTQ] refactoring: added quectel empty classes, CellularRadio moved to ↵Maksym Telychko1
TelitRadio