Commit Graph

661 Commits (mbed-os-5.13)

Author SHA1 Message Date
Reda Maher d81b1cfa97 Cellular: Support Riot Micro cellular device 2019-08-23 11:58:21 +01:00
Ari Parkkila d160098651 Cellular: Add DNS servers from PDP contexts to nsapi_dns 2019-08-12 08:44:06 +01:00
int_szyk ef369dd926 Newline at the end of files 2019-08-12 08:32:07 +01:00
int_szyk 6d38596a27 Updated testcases 2019-08-12 08:32:06 +01:00
Ari Parkkila a1ffecca00 Cellular: Fix statemachine stop 2019-08-12 08:32:05 +01:00
Ari Parkkila e80e0cfc68 Cellular: Fix BG96 power up 2019-08-12 08:32:05 +01:00
Ari Parkkila 23986f1eb6 Cellular: Fix to delete context just once 2019-07-26 10:18:24 +01:00
Antti Kauppila 85470e759b Doubled ATHandler's BUFF_SIZE 2019-07-11 11:40:54 +01:00
Sebastian Stockhammer 5f0b6dac3d Fix astyle 2019-07-11 11:40:54 +01:00
Sebastian Stockhammer b0997ad7a9 Allow IPV4V6 stack type 2019-07-11 11:40:54 +01:00
Sebastian Stockhammer 55243ae027 Require exact context type match 2019-07-11 11:40:54 +01:00
mudassar-ublox 0e6e1a6309 cellular socket flags updated 2019-07-11 11:40:54 +01:00
Laurent Meunier f1601b0ad7 Check Properties have been set 2019-07-11 11:40:53 +01:00
Martin Kojtal 74d2b8e5b9 cellular: fix file permission 2019-07-11 11:40:53 +01:00
Mirela Chirica 227013f7cc Cellular: Added handling for BG96 network PDP context deactivation 2019-07-11 11:40:53 +01:00
Kimmo Vaisanen 8a86811f1a 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-07-11 11:40:53 +01:00
Teppo Järvelin 050af7c49c Cellular: fix athandler to use correct timeout in case of multiple urc's
Start time was not updated when multiple urc's were found and so timeout
was set to zero. Now that start time is updated, timeout is correct.
2019-07-11 11:40:53 +01:00
mudassar-ublox 6acf1d70cc Style issue fixed 2019-07-11 11:40:53 +01:00
mudassar-ublox 1e29490dba socket close callback 2019-07-11 11:40:52 +01:00
Chris Trowbridge 2679f2b6fc Moved DEFAULT_DELAY_BETWEEN_AT_COMMANDS constant to cpp file 2019-07-11 11:40:52 +01:00
Chris Trowbridge 8329fc1d52 Remove unnecessary init AT commands 2019-07-11 11:40:52 +01:00
Chris Trowbridge a214a3cb59 Modify ME910 driver to follow power on/off best practices and add custom get_context() function 2019-07-11 11:40:52 +01:00
Chris Trowbridge cbea74820e Add default soft/hard power on/off sequences for ME910 2019-07-11 11:40:52 +01:00
Chris Trowbridge 761ab4dd75 Remove ME910 trace group #define 2019-07-11 11:40:52 +01:00
Chris Trowbridge 19997f6013 Remove ME910 flow control debug message 2019-07-11 11:40:52 +01:00
Chris Trowbridge 1b28301f11 Remove unnecessary #includes 2019-07-11 11:40:52 +01:00
Chris Trowbridge 808d0c3a8e Remove default power on/off functions 2019-07-11 11:40:52 +01:00
Chris Trowbridge 179a4163d7 Add Telit ME910 driver 2019-07-11 11:40:52 +01:00
Ari Parkkila c3119da987 Cellular: Fix socket connect on UBLOX_AT driver 2019-07-11 11:39:48 +01:00
Ari Parkkila 390d7cc9f3 Cellular: Add BG96 power control 2019-07-11 11:39:48 +01:00
Pekka Pesu 97e9aed430 add BG96 povermanagemet 2019-07-11 11:39:48 +01:00
Pekka Pesu aff9b52a22 BG96 power handling added 2019-07-11 11:39:48 +01:00
Teppo Järvelin c87a7798a9 Cellular: AT_CellularContext disconnect in non-blocking mode
Disconnect was supporting only blocking mode.
2019-07-11 11:39:48 +01:00
Mirela Chirica 1533d2466b Cellular: Remove IPV6 and IPV4V6 as supported properties for BG96
IPV6 and IPV6V4 support is also network dependent not only modem.

Having these properties enabled for a modem requires a fallback
mechanism during PDP context activation. This mechanism is missing
at the moment and that can result in imposibility to establish
succesfull connection when network only supports IPV4 contexts.
2019-06-24 15:15:19 +01:00
Mirela Chirica bfbf3a728b Cellular: Fix requested socket id in socket_connect routines of BG96 and M26 2019-06-24 15:15:19 +01:00
Mirela Chirica 04d8c704ef Cellular: Added IPV6 and IPV4V6 as supported properties for BG96 2019-06-24 15:15:19 +01:00
Martin Kojtal 9cc1caa031
Merge pull request #10596 from kjbracey-arm/sem_acquire
Introduce Semaphore::acquire methods
2019-05-29 06:22:30 +01:00
Kevin Bracey 2fbbd9d2ca Introduce Semaphore::acquire methods
Deprecate wait() in favour of acquire(), try_acquire(),
try_acquire_for() and try_acquire_until().

Brings Semaphore more into line with CMSIS-RTOS 2 (which uses "acquire"),
itself (as it has "release"), and other classes having "try", "try for"
and "try until".

Also steps away from vague "wait" term - the primary operation here is
to acquire the semaphore, and this will of course sleep.
2019-05-28 17:02:06 +03:00
Martin Kojtal a434583b6e
Merge pull request #10442 from trowbridgec/patch-1
Cellular: Make AT_CellularContext::get_context() virtual
2019-05-24 12:38:35 +01:00
Martin Kojtal 4567626ade
Merge pull request #10636 from u-blox/activation_status
+UPSND sent to poll activation status
2019-05-23 21:39:48 +01:00
Martin Kojtal 51b835b03b
Merge pull request #10473 from DanielDmlee/BG96_IPV6_only
Add exception case for IPV6 only mode of BG96.
2019-05-23 15:29:34 +01:00
Bilal Qamar 255e2e5623 Correction in AT Command 2019-05-23 16:15:10 +05:00
Bilal Qamar 4a37b13bd0 Coding style corrected 2019-05-23 14:26:38 +05:00
Hasnain Virk 9e72fa29e6 Updating Ublox to accomodate socket id assignment
Changes to accomodate socket id assigment upon actual creation of the
socket at the modem.
2019-05-22 23:44:09 -07:00
Hasnain Virk 2e53a71d45 Updating M26 to accomodate socket id assignment
This modem is a special case. It uses a given socket ID value rather
than providing one. A naive solution here would be to directly map the
index of a CellularSocket object in the CellularSocket container. But
considering the case where there are multiple sockets being opened (some
sockets being already created at the modem and some yet not created), direct mapping
to indices will not work. As it can happen that the CellularSocket
object is allocated but the socket id is not assigned yet as it is not
actually created on the modem.

In such a case, we check the container and assign the socket id from the
pool if an empty slot was found.
2019-05-22 23:44:09 -07:00
Hasnain Virk 3fffa3bd57 Updating BG95 to accomodate socket id assignment
Changes to accomodate socket id assignment upon actual creation of the
socket at the modem.
2019-05-22 23:44:09 -07:00
Hasnain Virk 0308cb826a Updating Gemalto Cinterion to accomodate socked id assignment
Changes introduced to accomodate the socket id assignment upon actual
creation of the socket at the modem.
2019-05-22 23:44:09 -07:00
Hasnain Virk 04242c7fa4 Updating BG96 to accomodate socket id assignment
Socket ids will be assigned in the create_socket_impl(...) method. This
is the point where an actual socket creation at the modem takes place.
2019-05-22 23:44:08 -07:00
Hasnain Virk bded22ee98 Prevent assigning socket id until opened at modem
Local modem ip stacks vary in their implementations and the way of
working. Some of the modems may not open a socket until an IP context is
assigned. That's why we came up with a container that stores addresses of
any CellularSocket instances created on-demand by the application. When
the application requests opening a socket we store allocate and store the
premitive in the container however actual socket creation at the modem
may happen at a later stage, e.g., a call to send_to() may result in
actual opening of a socket.

That's why we must not assign socket ids in the CellularSocket object
during construction. It must happen when actual socket is opened and is
alive.

Another implication of the previous model is that we may have multiple
sockets created in our container but the actual socket ids are not
assigned yet, so we cannot directly map the socket id to the container
indices which has been happening previously.

To solve this issue we have promoted the AT_CellularStac::find_socket_index(...) method
to be a protected method rather than being private so that the children
can use the method to determine if the given index in the container
corrsponds to the assigned socket id or not.

We have given up on the socket->created flag and the whole decision
making to actually open a socket on the modem happens on the basis of a
valid socket being assigned or not.
2019-05-22 23:43:41 -07:00
Bilal Qamar fb51501234 Timer stopped after exiting while loop 2019-05-23 11:09:43 +05:00