Commit Graph

52 Commits (dc1198b5c882410ea8a6b76c3b5a03dfe99eb958)

Author SHA1 Message Date
Teppo Järvelin fe5f97895b Cellular: Fix deleting of state machine to correct class 2019-04-08 12:50:29 +03:00
Teppo Järvelin c6e5595cec Cellular: retry logic for CellularContext connect
State machine has retry logic until device is attached to network.
After this CellularContext does the context activation e.g. connect.
There was no retry logic for context activation. Added logic to
CellularContext level so it's available for at and (upcoming)ril layers.
2019-03-29 14:12:23 -05:00
Teppo Järvelin b0ee22c96b Cellular: CellularContext must provide access to CellularDevice
When using NetworkInterface::get_default_instance() application gets handle
to CellularInterface which is actually CellularContext derived from CellularInterface.
Application needs also handle to CellularDevice to open other interfaces.
2019-03-26 07:29:11 +02:00
Martin Kojtal c6d3d8326e
Merge pull request #10005 from TeemuKultala/cellular_remove_device
cellular: remove last CELLULAR_DEVICE references
2019-03-20 13:18:23 +01:00
Martin Kojtal 6b84b14ab6
Merge pull request #10081 from jarvte/move_call_CGEREP
Cellular: call AT+CGEREP after sim is ready
2019-03-18 11:26:41 +01:00
Teemu Kultala 614b014d05 cellular: remove last CELLULAR_DEVICE references 2019-03-18 10:07:30 +02:00
Martin Kojtal 4cf22b39d6
Merge pull request #10029 from AriParkkila/cellular-device_serial
Cellular: Remove compile dependency of UARTSerial
2019-03-18 08:12:27 +01:00
Teppo Järvelin dba3d42362 Cellular: call AT+CGEREP after sim is ready
Current implementation did call AT+CGEREP before sim was ready
and it was failing in most modems.
2019-03-18 08:10:09 +02:00
Cruz Monrreal dbb33ef423
Merge pull request #9801 from vmedcy/fix-eventqueue-h
Correctly include EventQueue.h
2019-03-16 22:52:40 -05:00
Ari Parkkila 903a6f2e7e Cellular: Remove compile dependency of UARTSerial 2019-03-12 23:57:43 -07:00
Teppo Järvelin a830dbf47d Cellular: removed manual registering state.
Simplified state machine by removing manual registering state.
This was done as some modems did not have all the needed at commands
for checking the registered network. Some modem run out of memory as when
checking correct network there might be so many networks available.
Manual registration still works but it does not do any checks to which network
it's registered. Moved manual registering at command earlier in state machine so it forces
registering to a correct network. Internal refactor/fix, does not affect applications.
2019-03-05 13:17:25 +02:00
Teppo Järvelin ec73c8a9c7 Cellular: fix connect-disconnect sequence called many times
Fix syncing back to at mode after ppp disconnect.
Fix AT_CellularContext flags and states to allow new connect after disconnect.
Fix that state machine is not reseted in disconnect is it's running (might be
running because of another context or new connect already started).
2019-03-01 14:47:41 +02:00
Volodymyr Medvid b0a33273ff Correctly include EventQueue.h
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h

By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:

mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared

Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Martin Kojtal 5ada4bf9af
Merge pull request #9746 from blind-owl/retire_cellularbase_class
Cellular: retire CellularBase class
2019-02-20 15:30:43 +01:00
Jari Poyhonen 90c9a85397 Cellular: retire CellularBase class
It was decided to retire CellularBase class which served as a pure
virtual interface class from which Cellular network stack
implementations would get inherited. However, the current view is that
we may be the only user of it so we could retire CellularBase.
2019-02-18 11:50:43 +02:00
Ari Parkkila cdc28b5baf Cellular: Fix CellularDevice mutex unlock 2019-02-17 23:53:53 -08:00
Teppo Järvelin e4018bd9bb Cellular: fix onboard modems powering failure
Don't call soft power on if device was already powered.
Some modems need to wait before sending anything to modem after soft powering.
2019-02-14 12:39:37 +02:00
Ari Parkkila 95839662c6 Cellular: Fix cellular specific Greentea tests 2019-01-24 23:34:44 -08:00
Ari Parkkila c4de2f2f0e Cellular: Power API updated to match onboard_modem_api 2019-01-22 02:24:45 -08:00
Ari Parkkila 75caa75a96 Cellular: Add get_target_default_instance in CellularDevice 2019-01-22 02:24:45 -08:00
Ari Parkkila 59972b6659 Cellular: Remove netsocket/generic_modem_driver 2019-01-22 02:24:45 -08:00
Ari Parkkila 139d506a24 Cellular: Move power on/off to device and remove CellularPower 2019-01-22 02:24:45 -08:00
Mirela Chirica 55b54f7c97 Cellular: Added API for setting default parameters to a network interface 2019-01-22 02:24:45 -08:00
Mirela Chirica ba3727b4e8 Cellular: Unit tests for Non-IP socket 2019-01-22 02:24:45 -08:00
Teppo Järvelin 84e5013a2d Cellular: added setting of data carrier support for UART. 2019-01-22 02:23:04 -08:00
Teppo Järvelin 725e14d15f Cellular: Add State machine unit tests. 2019-01-22 02:23:04 -08:00
Teppo Järvelin 97709f52ec Cellular: fix possible crash in state machine
_sim_pin was changed to pointer from array and length was checked with
strlen. If _sim_pin was null it caused crash. Fix by checking _sim_pin against NULL.
Power class could have been called without checking if power is NULL. Fix by checking
that power class is not null.
Fix state machine to return correct states when queried.
2019-01-22 02:23:04 -08:00
Ari Parkkila c7486b2a0d Cellular: Added shutdown() 2019-01-22 02:23:04 -08:00
Ari Parkkila 0813b969f7 Cellular: Unify set_at_mode and init_module into init() 2019-01-22 02:23:03 -08:00
Ari Parkkila 2dde5a4376 Cellular: Move ready_cb from power to device 2019-01-22 02:23:03 -08:00
Ari Parkkila e49f90fb0b Cellular: Move device_ready from power to device 2019-01-22 02:23:03 -08:00
Teppo Järvelin 22d9105318 Removed CellularSIM interface.
Moved methods to classes CellularDevice and CellularInformation.
SIM interface was removed to simplify cellular usage and
methods better suite new classes.
Updated greentea and unit tests.
2019-01-22 02:23:03 -08:00
Ari Parkkila 235c2bc00d Cellular: Removed get_extended_signal_quality and changed get_signal_quality 2019-01-22 02:23:03 -08:00
Teppo Järvelin 08bd651ae4 Cellular: Fixed CellularStateMachine to stop on all target states. 2019-01-22 02:23:03 -08:00
Teppo Järvelin 6bc7ec0073 Cellular: fix state machine to check network attach
Added check to state machine that if modem is attached to a network
it is considered to be registered to a network and state machine
can continue to next states. This fixed issues seen in IoT network
that network does not allow registering if already attached.
2018-12-19 13:36:39 +02:00
Cruz Monrreal fce4dc6dc3
Merge pull request #8852 from jarvte/cellular_doxygen_update
Cellular: update doxygen and add attach CellularDevice.
2018-12-07 11:23:22 -06:00
Teppo Järvelin 76672db5cc Cellular: add Callback functionality to CellularDevice. 2018-11-27 08:05:41 +02:00
Teppo Järvelin f31db91cfb Cellular: astyle fixes for CellularStateMachine.cpp. 2018-11-26 09:37:00 +02:00
Teppo Järvelin 9a9a209eff Cellular: added radio access technology as configurable in cellular mbed_lib.json. 2018-11-26 09:37:00 +02:00
Martin Kojtal 61c7947b47 Merge branch 'cell-trace' of https://github.com/AriParkkila/mbed-os into dev_rollup 2018-11-23 18:37:40 +00:00
Ari Parkkila 9bdeb68e74 Cellular: Updated debug prints, and network registration return value
Updated cellular debug trace prints:
 - Removed unnecessary prints.
 - Tracing more in DEBUG level.
 - Read/write bytes not printed on big packets.
 - Signal quality (RSSI) traced to log network problems.
 - Dismissed AT data is traced.
 - Modem type and firmware version are traced.

Network registration returns NotRegistered instead of StatusNotAvailable,
because that's not in 3GPP TS 27.007.
2018-11-19 02:55:43 -08:00
Teppo Järvelin e5c3024849 Cellular: adding unit tests for new class CellularContext and changed classes. 2018-11-16 13:14:38 +02:00
Teppo Järvelin 88213d3e03 Cellular: astyle fixes after introducing CellularContext class and major refactor. 2018-11-13 18:50:35 +02:00
Teppo Järvelin 14f3740c13 Cellular: fixed cellular greentea tests after major refactoring. 2018-11-13 18:33:55 +02:00
Teppo Järvelin 3f6e088782 Cellular: Fixed backward compatibility with OnBoardCellularInterface and set default values in NetworkInterfaceDefaults.cpp. 2018-11-11 14:13:05 +02:00
Teppo Järvelin 1a047efade Cellular: review fixes, added missing fixes from master. 2018-11-11 14:13:05 +02:00
Teppo Järvelin 9fb83024ea Changed CellularContext to inherit from CellularBase instead of NetworkInterface. \n Changed Device constructor to take Filehandle instead of eventqueue. 2018-11-11 14:13:05 +02:00
Teppo Järvelin d1ff9ed68d Cellular: added to reset state machine is we get disconnected so application can try again. 2018-11-11 14:13:05 +02:00
Teppo Järvelin ad2abbe887 Cellular: major refactoring while introducing new CellularContext class. 2018-11-11 14:12:49 +02:00
Teppo Järvelin 8880538eba Cellular: Introduced new state machine to replace old CellularConnectionFSM
CellularDevice class own new state machine. Now we don't have to expose state machine
which may change and so we don't have to make API changes if that happens.
EasyCellularConnection uses now CellularDevice instead of old state machine.
2018-11-11 14:11:21 +02:00