Commit Graph

479 Commits (a2cde2e24e76e7a726dd500e6abfd207b7da1704)

Author SHA1 Message Date
Martin Kojtal e7b8ccf0ae
Merge pull request #10511 from AriParkkila/cell-statemachine-timeout
Cellular: Fix setting of statemachine timeout
2019-05-13 06:41:29 +01:00
Ari Parkkila 830b4234e9 Cellular: Fix setting of statemachine timeout 2019-05-09 04:42:30 -07:00
Martin Kojtal 13880dcd1b
Merge pull request #10465 from jarvte/fix_imsi_length
Cellular: fix calls to ATHandler::read_string(...) give correct size
2019-05-03 08:38:40 +01:00
Martin Kojtal 4da21c04fe
Merge pull request #10463 from mirelachirica/wise_1570_tcp_endpoint_close
Cellular:  Add WISE-1570 handling for socket closing URC
2019-05-03 08:35:45 +01:00
Martin Kojtal 094f648123
Merge pull request #10488 from kivaisan/add_cellularproperty_description
Cellular: Add description for CellularProperty
2019-04-30 09:40:08 +01:00
Martin Kojtal 1ce073a9c2
Merge pull request #10402 from jarvte/disconnect_per_context
Cellular: send disconnect to correct ctx
2019-04-29 13:17:59 +01:00
Kimmo Vaisanen 38aa56efa8 Cellular: Add description for CellularProperty 2019-04-26 12:37:52 +03:00
Mirela Chirica 948f8b52d0 Cellular: Added WISE-1570 handling for socket closing URC 2019-04-26 10:12:12 +03:00
Teppo Järvelin 1abf600d03 Cellular: fix calls to ATHandler::read_string(...) give correct size
ATHandler::read_string(...) buffer size param was changed a long time ago
to include also NULL. Some calls still gave wrong size after this change.
2019-04-25 11:20:05 +03:00
Hasnain Virk 4eaffb4b03 Minor doc update
Socket ID is usually spitted out by the modem, however there are cases
when the modem is actully taken in as an input argument, e.g., in the
case of QUECTEL M26 modem. This minor knit clarifies that the
CellularSocket::id can be an input argument.
2019-04-23 12:36:29 +03:00
Martin Kojtal 46603f831e
Merge pull request #10411 from mirelachirica/bg96_tcp_endpoint_close
Cellular: Added BG96 handling for socket closing URC
2019-04-18 18:00:30 +01: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
Mirela Chirica 88ea0db30d Cellular: Added BG96 handling for socket closing URC 2019-04-17 11:25:58 +03:00
Martin Kojtal b2b2fcea7b
Merge pull request #10375 from AriParkkila/cell-context-cleanup
Cellular: Fix to delete PDP context on disconnect
2019-04-17 09:23:52 +01:00
Martin Kojtal 4401d41428
Merge pull request #10053 from AriParkkila/cellular-state-timeout
Cellular: Make CellularStateMachine timeouts configurable
2019-04-15 08:53:11 +01:00
Ari Parkkila 79c54372f2 Cellular: Fix to delete PDP context on disconnect 2019-04-11 03:58:56 -07:00
Hasnain Virk 34fc828601 Flagging WEAK method implementation for default construction
CellularDevice::get_default_instance() is a weak method and is overriden
by either a default construction provided in the code or by application
at some stage. This method needs to be flagged otherwise using another
driver will be hindered by the default overriding of this driver.
2019-04-10 12:52:38 +03:00
Ari Parkkila e0f8b2116a Cellular: Fix CellularStateMachine timeout configurations 2019-04-09 22:02:38 -07:00
Cruz Monrreal 6dbc00dd8a
Merge pull request #10292 from hasnainvirk/ec2x_driver
Cellular: Basic driver for Quectel EC25/EC21
2019-04-09 11:06:51 -05:00
Cruz Monrreal cec5a85761
Merge pull request #10354 from hasnainvirk/compile_error_at_handler
Cellular: Using new rather than malloc in debug_print
2019-04-09 11:06:15 -05:00
Cruz Monrreal d1672d0200
Merge pull request #10341 from mirelachirica/check_urc_resp_stop_1
Cellular: Check for URC during AT response stop
2019-04-09 11:05:56 -05: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
Hasnain Virk 9229aba87d Using new rather than malloc in debug_print
Using malloc will require us to add stdlib.h somewhere in the path for
the application. Maybe the CI apps are adding stdlib.h and that's why
the code would have worked. In a custom app, it can happen that the
header is not included. Using new avoids the need to add stdlib.h
anywhere and it is more in line with C++.
2019-04-09 12:25:59 +03:00
Mirela Chirica f100cd59c8 Cellular: Check for URC during AT response stop 2019-04-09 11:15:28 +03:00
Hasnain Virk 69efed266d Marking TX and RX pins for UARTSerial as NC
For default construction of the driver, it would be necessary to define
the pins. However as we don't know the correct pins, until/unless user
sets them up for us. So it makes sense to mark the pins as NC. It would
be easier to debug if the pins are set to NC if user forgot to set them
up.
2019-04-09 10:20:38 +03:00
Hasnain Virk 7ebfa90753 Adding pin polarity and changing the constructor
To make this driver more useful, we needed to do some changes. The
wirings for the modem can differ on the board so we also need to be
flexible in our approach.
It is now mandatory to provide the power pin and pin polarity in the
constructor alongwith the file handle. Reset pin is optional.
2019-04-08 17:32:52 +03:00
Hasnain Virk 57d9e27532 Tidying up the boiler plate code
A little tidying up was needed as there was some boiler plate code that
could be shoved into a corner and reused.
2019-04-08 17:32:52 +03:00
Hasnain Virk 24178bc374 AT+CGSN with EC2X does not take parameter
Standard 3GPP TS27.007 states that the AT+CGSN command can optionally
have type parameter that determines the output. However Quiectel EC2X
series doesn't accept parameters. We need to reflect that in the
cellular properties setup.
2019-04-08 17:32:52 +03:00
Hasnain Virk df7f8cdfcf CREG can handle lac/ci/lat
AT+CREG command can also provide information regarding lac/ci/lat etc so
we should set the mode correctly in cellular properties structure.
2019-04-08 17:32:52 +03:00
Hasnain Virk ab978bde6c Removing left over tracing
A test trace was left lurking around. Removed in this commit.
2019-04-08 17:32:52 +03:00
Hasnain Virk 04299e45a3 Basic driver for Quectel EC25/EC21
Provides basic power up / power down sequences for Quectel EC2X series
modems. Can be used in PPP mode. For using the on-board IP stack, we
will need to add and implement classes that provide context.

Driver constructor takes power and reset control pins along with the
FileHandle. A default construction is provided which can be chosen by
the application in its mbed_app.json. Otherwise the user is free to
construct as per demand.
2019-04-08 17:32:52 +03:00
Teppo Järvelin fe5f97895b Cellular: Fix deleting of state machine to correct class 2019-04-08 12:50:29 +03:00
Martin Kojtal 8cbcc55f88
Merge pull request #10121 from kivaisan/improve_at_trace
Cellular: Improve ATHandler AT debug traces
2019-04-03 09:00:30 +02:00
Kimmo Vaisanen aff3815790 Cellular: Improve ATHandler AT traces
Original AT traces had several issue:
- Can be overwritten by other traces (printf/mbed-trace)
- No way to know which direction message was going (TX or RX)
- <cr> and <ln> characters were not visible in trace
etc.

This commit addresses those issues using mbed-trace and showing separately
each filehandle write and read.
2019-04-01 11:40:04 +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 1d8c3d4553
Merge pull request #10179 from u-blox/n2xx_provide_default
Cellular: C030_N2XX default interface
2019-03-22 06:33:24 +01:00
Martin Kojtal e7a4658256
Merge pull request #10180 from AriParkkila/fix-wise-1570
Fix SPIF speed for MTB_ADV_WISE_1570 and max packet size for BC95
2019-03-22 06:32:39 +01:00
Martin Kojtal 014a5ec487
Merge pull request #10172 from kivaisan/fix_plmn_iar_trace
Cellular: Fix plmn trace for IAR
2019-03-21 10:05:20 +01:00
Ari Parkkila bdd07b6a37 Cellular: Fix max packet size for BC95 driver 2019-03-21 01:11:28 -07:00
mudassar-ublox 2f37e371b4 C030_N2XX default interface 2019-03-21 11:57:32 +05:00
Martin Kojtal 839e977bee
Merge pull request #10138 from jarvte/athandler_filehandle_not_usable
Cellular: don't allow ATHandler read/write if filehandle not usable
2019-03-20 15:39:12 +01:00
Kimmo Vaisanen 06caa0ff14 Cellular: Fix plmn trace for IAR
IAR compiler does not seem to like printing null strings.
2019-03-20 14:39:07 +02:00
Martin Kojtal 23cd1aa083
Merge pull request #10140 from jarvte/astyle_fixes
Cellular: fix astyle for files that already in master
2019-03-20 13:24:23 +01: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
Teppo Järvelin de7520bd97 Cellular: fix astyle for files that already in master 2019-03-18 13:50:10 +02:00
Teppo Järvelin 174d95709c Cellular: don't allow ATHandler read/write if filehandle not usable
For example after going to ppp mode we must block at write and
read as filehandle is not usable.
2019-03-18 13:37:48 +02: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