Commit Graph

117 Commits (b3e8e8ad8aa6e09663f904577d4f037f61e4502f)

Author SHA1 Message Date
Martin Kojtal b3e8e8ad8a
Merge pull request #13013 from AriParkkila/cell-creg
Cellular: Fix packet data registration after CREG
2020-06-04 15:22:57 +02:00
Ari Parkkila de765a41f0 Cellular: Fix packet data registration after CREG 2020-05-25 11:17:59 +03:00
Kimmo Vaisanen bd0f939277 Cellular: Remove support for multiple ATHandlers
Major changes:
- Dependency to FileHandle removed from base classes
- AT_CellularDevice owns the default FileHandle and shares it with AT -classes
- Hang-up -detection moved as CellularContext::configure_hup(). Cannot be configured via CellularDevice any more.

Result on NRF52840_DK + BG96:
GCC:
Total Static RAM memory (data + bss): 29360(+296) bytes
Total Flash memory (text + data): 130660(-832) bytes

ARM:
Total Static RAM memory (data + bss): 261554(+8) bytes
Total Flash memory (text + data): 127573(-1193) bytes

IAR:
Total Static RAM memory (data + bss): 25479(+296) bytes
Total Flash memory (text + data): 102418(-527) bytes

RAM increase is because now ATHandler is no longer created with new -operator but is now member of AT_CellularDevice,
so image tool is able to count it. Actually total RAM consumption has decreased due to removed variables.
2020-01-23 09:27:44 +02:00
Kevin Bracey d6a48b5124 Turn NULLs into nullptr
Avoids overload problems with Callback(nullptr) versus Callback(fnptr).
2020-01-09 14:52:54 +02:00
Ari Parkkila 913cbd96a6 Cellular: Change 3GPP TS 27.007 NIDD to async
Add a missing license header.
Remove semaphores and add +CRTDCP to support async operation.
Fix delete context and disconnect to execute just once.
Add support for NONIP PPD type.
Change CellularNetwork::clear() to virtual so it can be overridden.
2020-01-06 22:35:18 -08:00
Lin Gao c8524c25be add config option and property to choose automatic fallback for PLMN manual operator selection 2019-12-19 11:26:13 -06:00
Lin Gao a5a9683348 Change AT+COPS mode to manual first then fall back to auto to improve reliability. Fix a syntax error when RAT is set 2019-12-19 11:23:30 -06:00
Ari Parkkila 483c557f9b Cellular: Fix AT command for COPS manual network selection 2019-12-12 00:31:43 -08:00
Antti Kauppila e51230c5e4 Remove CellularBase and AT_CellularBase
Removed CellularBase and AT_CellularBase from cellular stack and updated both code and unittests accordingly.

Moved property handling into AT_CellularDevice
2019-12-09 15:25:22 +02:00
Ari Parkkila 94dcab9d69 Cellular: Add API to clear CellularDevice
A new API `CellularDevice::clear()` to clean-up the modem to a default initial state.
Function is virtual so it can be overridden. The default implementation clears all PDP contexts,
but the the first one if that has APN defined as `nsapi.default-cellular-apn`.

CellularStateMachine calls `clear()` to clean-up the modem on initial `connect()`,
if the flag `cellular.clear-on-connect: true` is defined.
2019-09-09 06:14:20 -07:00
Ari Parkkila cb20277701 Cellular: Fix BG96 power on and connect 2019-09-04 03:24:11 -07:00
jeromecoutant 758a4bb56a AT Cellular Network: mutex lock issue 2019-06-28 16:08:52 +02:00
Antti Kauppila 9d8969daa7 Small fixes and doxygen update 2019-06-04 10:41:16 +03:00
Antti Kauppila 77e8374058 Cellular: Removed boiler plate code 2019-05-29 16:17:08 +03:00
Teppo Järvelin 9d67a8b61c Cellular: send disconnect to correct ctx
Disconnect was sent to all CellularContext classes even it concerned
one specific context. Some disconnect events are still sent to all
context classes. These event are coming from network and ment for all
context classes or event did not specify cid.
2019-04-17 13:53:40 +03: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
Martin Kojtal 759627ff12 Merge branch 'plmn_stm_fix2' of https://github.com/jarvte/mbed-os into rollup 2019-03-15 08:45:14 +00:00
Martin Kojtal d5eb98e66a Merge branch 'cellular_BC95_leak_fix' of https://github.com/TeemuKultala/mbed-os into rollup 2019-03-14 11:37:10 +00:00
Martin Kojtal cf76b74aad
Merge pull request #9837 from jarvte/drop_bg96_cgact_support
Cellular: CGACT not supported in coming firmware in BG96
2019-03-14 09:16:39 +01:00
Teemu Kultala 71a1ed9c8e cellular: BC95 memory leak fix 2019-03-07 11:58:20 +02: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 0905f01438 Cellular: Removed API get_connection_status() from CellularNetwork
This was left accidentally after refactoring.
It wasn't giving correct states after refactoring.
CellularContext::get_connection_status should be used instead.
2019-03-01 14:51:05 +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
Teppo Järvelin 4077898de1 Cellular: fix issue where CGACT not supported in coming firmware in BG96. 2019-02-28 08:36:31 +02:00
Teppo Järvelin 0c9130efeb Cellular: change stack_type_supported to get_property
Change usage of AT_CellularContext::stack_type_supported to
AT_CellularBase::get_property. This way we can rid of
targets overriding stack_type_supported and delete
unnecessary classes and simplify new targets.
2019-01-22 02:23:04 -08:00
Teppo Järvelin 7c9f9d47ec Cellular: Remove target files inheriting from AT_CellularNetwork
After AT_CellularNetwork::has_registration was replaced with
CellularProperties and better
AT_CellularNetwork::set_access_technology_impl default
implementation we can delete most of the target specific classes
that inherit AT_CellularNetwork.
2019-01-22 02:23:04 -08:00
Teppo Järvelin 9a72c221d8 Cellular: Change AT_CellularNetwork to use CellularProperties.
This change enables removing function has_registration from
class AT_CellularNetwork and all targets inheriting
AT_CellularNetwork.
2019-01-22 02:23:04 -08:00
Ari Parkkila 19b24946df Cellular: AT remove_urc_handler changed to set_urc_handler(prefix, 0) 2019-01-22 02:23:03 -08:00
Ari Parkkila 36292a4f14 Cellular: Move eDRX setting from power to network 2019-01-22 02:23:03 -08:00
Teemu Kultala 22a536a78a cellular: eps ciot optimization network support check astyle fix 2019-01-22 02:23:03 -08:00
Teemu Kultala f94117559b cellular: eps ciot optimization network support check
-added an API for checking network eps ciot optimization support
-renamed the API for getting the UE parameters
-the API for setting the UE parameters includes now a callback, which
will be called once network support for eps ciot optimization is known
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
Teemu Kultala a1b1d7c4bd cellular: registration status change fix 2018-11-26 11:20:21 +02:00
Martin Kojtal 5ad7c3ee6e Merge branch 'gracefully_disconnect' of https://github.com/jarvte/mbed-os into dev_rollup 2018-11-24 21:15:38 +00:00
Teppo Järvelin a655a538b0 Cellular: more gracefully disconnect. 2018-11-19 16:02:30 +02: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 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
Mirela Chirica 273590f615 Cellular: Added ATHandler option to write parameters without delimiters 2018-10-29 13:33:09 +02:00
Mirela Chirica f016d1126f Cellular: AT handler to support only one callback per URC/prefix 2018-10-29 13:32:15 +02:00
Kimmo Vaisanen 963bf8146d Cellular: Refactor basic AT command stop and response reading into own method
This reduces ROM usage by few hundred bytes.
2018-10-22 09:44:12 +03:00
Cruz Monrreal a9f43239be
Merge pull request #8295 from AriParkkila/cell-cinterion
Cellular: Update Cinterion AT drivers
2018-10-15 10:10:23 -05:00
Mirela Chirica ffb9cdb4b3 Cellular: Registration parameters as struct 2018-10-09 10:49:47 +03:00
Ari Parkkila 3784dd066e Cellular: Fixed AT drivers for Gemalto/Cinterion cellular module to close internet service and profile. 2018-10-08 00:14:29 -07:00
Mirela Chirica 983425e4fc Cellular: Fix cellular network unit test 2018-09-24 15:15:18 +03:00
Ari Parkkila 13106fb774 Cellular: Disable AT+CGAUTH on HE910 and BC95 2018-09-17 03:28:18 -07:00
Ari Parkkila fb899d2cc1 Cellular: Fix APN authentication before context activation 2018-09-17 01:14:59 -07:00