Commit Graph

90 Commits (de7768ce2925a8b94e23d51a2b6a00ca603d92d4)

Author SHA1 Message Date
Kimmo Vaisanen 0d525fff29 Cellular: Remove deprecated CellularDevice::stop()
CellularDevice::shutdown() should be used instead.
2020-01-14 10:47:05 +02:00
Martin Kojtal 1fb9dd7ddd
Merge pull request #12122 from AnttiKauppila/visibility_fixes
ATHandler refactoring
2020-01-09 12:05:08 +01:00
Kimmo Vaisanen 0d7cc428b1 Cellular: Move string_to_pdp_type method to CellularContext
string_to_pdp_type is only used in CellularContext classes and by having
the conversion method in CellularContext it can be used to check also
the non-standard Non-IP PDP type string.
2020-01-08 12:15:51 +02:00
Antti Kauppila 5553d0acd3 ATHandler class refactor
Refactored ATHandler class to have clear private and public elements
Also removed virtuality from ATHandler
Unittests updated to reflect changes
2020-01-07 17:15:27 +02:00
Antti Kauppila 36ca4d6516 ATHandler relocated
ATHandler is part of our API so header file was moved under API folder and .cpp file was moved under device/ folder
ATHandler is used in both AT and PPP mode so it has been in slightly wrong place at the beginning.
2020-01-07 17:15:27 +02:00
Martin Kojtal 3e790cc9ab
Merge pull request #12065 from AriParkkila/cell-fea-nidd
Non-IP socket implementation for NIDD over CP
2020-01-07 15:55:15 +01: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
Kimmo Vaisanen 6c647104c7 Cellular: Move cellular event queue thread ownership to CellularDevice
Earlier CellularDevice has owned event queue used by cellular (state machine and ATHandler for example),
but the thread used to dispatch the queue has been owned by state machine.

This commit moves the event queue thread to CellularDevice so now the ownership of cellular event queue
is in one place.
2020-01-07 08:28:30 +02:00
Kimmo Vaisanen f7cc3db70b Cellular: Refactor cellular variable visibilities
- Earlier some variables were public even though used only internally
- Also refactored variables to the end of class definitions
- Removed duplicate _property_array from CellularDevice
- Changed _impl methods as protected
2019-12-30 10:00:24 +02: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
Martin Kojtal ffdd54315f
Merge pull request #11941 from michalpasztamobica/remove_internal_string_apis
Remove string-based API usage within mbed-os
2019-11-28 14:26:03 +01:00
Michal Paszta ea04c4f85e Remove internal usage of deprecated APIs in IPCore
Updated:
* netsocket classes,
* unittests, stubs and mocks,
* greentea tests
2019-11-27 20:02:20 +02:00
Martin Kojtal 58d6f5f39f
Merge pull request #11873 from AnttiKauppila/disable_sms
Make SMS configurable in Cellular stack
2019-11-27 09:03:55 +01:00
Antti Kauppila 353782bf63 Disable SMS by default from Cellular stack
Put SMS behind configuration flag to save some memory (4,5kB) for Cellular users not needing SMS features.
UBlox N2XX target is also updated
2019-11-25 11:38:06 +02:00
Ari Parkkila 90d7748514 Cellular: Fix PPP to wait until connected event from (LWIP) PPP 2019-11-21 23:14:18 -08:00
Kimmo Vaisanen deadcee06c Cellular: Fix queue scheduling for bare metal
For non-rtos build (bare metal) cellular event queue is now scheduled by shared event queue.
2019-11-13 14:51:14 +02:00
Antti Kauppila 0b8cd38dcd Baremetal profile fixes 2019-11-01 15:12:19 +02:00
Ari Parkkila 73145fd551 Cellular: Fix CellularStateMachine to not loop on power state 2019-10-03 01:12:14 -07:00
Syed Fahimuddin Alavi 828fffbc4e Bux fix: Context can be cleared using CGDCONT after sim ready state 2019-09-19 13:01:45 +05: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
Martin Kojtal 978296a26d
Merge pull request #11372 from AriParkkila/bg96-pwr
Cellular: Fix BG96 power on and connect
2019-09-05 13:10:26 +02:00
Ari Parkkila cb20277701 Cellular: Fix BG96 power on and connect 2019-09-04 03:24:11 -07:00
Hugues Kamba e65a0c0a99 Remove minor build warnings 2019-09-02 15:04:58 +01:00
Teppo Järvelin 6a17d74b55 Cellular: notify global up after we have IP address
CellularContext now tries to get an IP address after connect and before
sending NSAPI_STATUS_GLOBAL_UP. Even if we don't the IP address from
the modem we will send NSAPI_STATUS_GLOBAL_UP and return success.
Modem has an ip address but for some reason some modems don't
give it to us.
2019-08-14 12:54:13 +03:00
Ari Parkkila ed3562e764 Cellular: Fix shutdown to stop statemachine 2019-08-02 02:26:12 -07:00
Ari Parkkila 742bfd3709 Cellular: Fix statemachine stop 2019-07-26 00:34:45 -07:00
Anna Bridge 15b5b5da23
Merge pull request #10694 from jarvte/set_authentication_type
Cellular: add method to set authentication type to CellularContext
2019-06-21 12:19:04 +01:00
Kimmo Vaisanen b26314a799 Cellular: Fix PLMN debug trace for IAR
IAR does not allow printing from null pointer as parameter for %s. PLMN string
can be null depending on user configuration.
2019-06-13 15:35:37 +03:00
Teppo Järvelin 8922eeb014 Cellular: add method to set authentication type to CellularContext
Authentication type must be able to set. It was hard coded to CHAP.
Added unit tests for CellularContext to be able to add test for new function.
2019-05-29 09:46:15 +03:00
Anna Bridge 25019df05e
Merge pull request #10554 from jarvte/remove_compile_warnings
Cellular: fixed compile warnings from cellular
2019-05-17 13:07:51 +01:00
Martin Kojtal 26aa16ff39
Merge pull request #10557 from jarvte/fix_cellularcontext_init
Cellular: Initialize CellularContext member variables in correct class
2019-05-15 08:48:54 +01:00
Teppo Järvelin d56c8cafa8 Cellular: fixed compile warnings from cellular 2019-05-14 08:48:29 +03:00
Teppo Järvelin e4ee870b2e Cellular: Initialize CellularContext member variables in correct class
CellularContext member variables were initialized in inheriting class.
Now in base class where they should be initialized so that every inheriting
class don't have to init them.
2019-05-10 11:43:48 +03:00
Ari Parkkila 830b4234e9 Cellular: Fix setting of statemachine timeout 2019-05-09 04:42:30 -07: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
Ari Parkkila e0f8b2116a Cellular: Fix CellularStateMachine timeout configurations 2019-04-09 22:02:38 -07:00
Teppo Järvelin 8234f00506 Cellular: fix state machine to compile after master rebase
Fix automatic rebase error with cellulardevice.cpp
2019-04-09 14:00:59 +03:00
Teppo Järvelin 2470a3611c Cellular: new state machine state and better info from stm
Added new state (signal quality) and more information about progress
so application/driver can build recovery logic.
2019-04-09 13:44:45 +03:00
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