Commit Graph

119 Commits (tools-release-6.1.0)

Author SHA1 Message Date
Kevin Bracey 355b45ade1 Cellular: Convert to Chrono
Note that documentation for random_max_start_delay config setting has
been changed to indicate that the setting is in seconds, and always has
been. No functional change.
2020-05-11 14:18:04 +03:00
Martin Kojtal b622a25688
Merge pull request #12810 from MarceloSalazar/platform_cleanup
Remove unsupported targets

Note, commit 21e364e is just a styling fix, no target removal.
2020-04-22 10:58:50 +02:00
MarceloSalazar 4b1ad8ad4c Remove MTB_STM_L475 target 2020-04-20 16:55:33 +01:00
Kimmo Vaisanen fe98dbef94 Cellular: Fix BG96 offloaded DNS query for new API
Fixed following issues in BG96 offloaded DNS:
- Fixed mbed-os 6 API change for asynchronous DNS callback. Return value is no longer
  an error value but in success case the amount of DNS records
- Asynchronous request returns request ID instead of NSAPI_ERROR_OK. BG96 supports only
  one asynchronouse DNS query at the time, so ID 1 is used.
- BG96 does not support multi-ip DNS responses, so disabled multi-ip tests
2020-04-20 12:35:09 +03:00
Kimmo Vaisanen 51175eed1f Cellular: Add offload TLSSocket implementation inside feature flag
Reduce binary size (~500 bytes with GCC_ARM and developer profile) when offloaded TLSSocket is not in use.
2020-03-17 08:42:59 +02:00
Martin Kojtal d7f3341974
Merge pull request #12339 from jeromecoutant/PR_MODEMVERSION
Cellular : add modem version in mbed trace
2020-02-13 13:04:30 +00:00
jeromecoutant 5f1ea7d57b Cellular : add modem version in mbed trace 2020-02-06 14:40:23 +01: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
Anna Bridge 80fe861f1d
Merge pull request #12035 from kjbracey-arm/callback_prep
Preparation for Callback changes
2020-01-21 11:50:43 +00:00
Martin Kojtal ecf4d62dc5
Merge pull request #12265 from AriParkkila/cell-fea-refactor
Refactor unnecessary functions from cellular driver
2020-01-17 13:57:06 +00:00
Ari Parkkila f9eef97ead Cellular Refactor get_send_delay() into CellularProperty 2020-01-17 00:28:41 -08:00
Hugues Kamba 9e11e5b43d Cellular: Replace UARTSerial references with BufferedSerial
`BufferedSerial` is `UARTSerial` renamed to convey the original purpose
of the class. It is the recommended buffered I/O serial class.
2020-01-16 16:22:07 +00:00
Ari Parkkila ceea992b40 Cellular: Refactor is_protocol_supported() into CellularProperty 2020-01-15 23:04:00 -08:00
Ari Parkkila e2cb18061e Cellular: Refactor get_max_socket_count() into CellularProperty 2020-01-15 23:04:00 -08:00
Antti Kauppila eb78ba6624 Fixed PDP type handling 2020-01-10 13:48:25 +02:00
Antti Kauppila 2fb167be26 Fixed IOTCELL-2384
Earlier we called AT+QICSGP only if the username and password was set.
It seems that we must call it also to set up APN while in AT mode.
This commit fixes the issue + updated IPv4/v6 handling to be correct in the same call
2020-01-09 17:19:24 +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 7899fead59 Cellular: Refactor CellularBase from AT_ControlPlane_netif 2020-01-07 04:03:33 -08:00
Ari Parkkila feee2a234e Cellular: Fix Non-IP of Quectel/BG96 modem driver
Add missing license headers.
Remove semaphores to allow async operation.
Change hex format to allow binary payload.
Limit payload size to 100 bytes.
Fix missing plus char at +QCFGEXT.
2020-01-06 22:33:49 -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
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
Adrien CABARBAYE 877523dab4
Update QUECTEL_BG96_CellularStack.cpp
Similar issue for a different target
`./mbed-os/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularStack.cpp", line 431: Error:  #20: identifier "sprintf" is undefined`
> armcc -c --gnu -Ospace --split_sections --apcs=interwork --brief_diagnostics --restrict --multibyte_chars -O3 -DMBED_TRAP_ERRORS_ENABLED=1 --cpu=Cortex-M4.fp.sp --md --no_depend_system_headers --c99 -D__ASSERT_MSG --cpp11 --no_rtti --no_vla -DMBED_ROM_START=0x0 -DMBED_ROM_SIZE=0x80000 -DMBED_RAM_START=0x20000000 -DMBED_RAM_SIZE=0x10000 -DTARGET_SOFTDEVICE_NONE -DTARGET_NORDIC -DCMSIS_VECTAB_VIRTUAL_HEADER_FILE="cmsis_nvic.h" -DTARGET_NRF52 -DCMSIS_VECTAB_VIRTUAL -DTARGET_MCU_NRF52832 -DDEVICE_SPI_ASYNCH=1 -DMBED_TICKLESS -DDEVICE_SLEEP=1 -DFEATURE_BLE=1 -DNRF52_PAN_12 -D__CMSIS_RTOS -DTARGET_SDK_15_0 -DNRF52_PAN_64 -DDEVICE_SPI=1 -DDEVICE_I2C=1 -DNRF52_PAN_15 -DDEVICE_SERIAL=1 -DTARGET_LIKE_MBED -DDEVICE_PORTOUT=1 -DDEVICE_SERIAL_ASYNCH=1 -DTARGET_M4 -DNRF52_PAN_31 -D__FPU_PRESENT=1 -D__CORTEX_M4 -DTARGET_RTOS_M4_M7 -DDEVICE_PORTIN=1 -DTARGET_CORDIO_LL -DTARGET_NRF5x -DCONFIG_GPIO_AS_PINRESET -DDEVICE_SERIAL_FC=1 -DDEVICE_USTICKER=1 -DTARGET_RELEASE -D__MBED__=1 -DTARGET_CORDIO -DMBED_MPU_CUSTOM -DNRF52_PAN_54 -DSWI_DISABLE0 -DDEVICE_INTERRUPTIN=1 -DNRF52_PAN_63 -DNRF52_PAN_51 -DDEVICE_ANALOGIN=1 -DCOMPONENT_PSA_SRV_EMUL=1 -DTARGET_NORDIC_CORDIO -DNRF52_PAN_62 -DNRF52_PAN_55 -DTARGET_CORTEX -DNRF52_PAN_53 -DDEVICE_PWMOUT=1 -DDEVICE_PORTINOUT=1 -DTOOLCHAIN_ARMC5 -DTARGET_CORTEX_M -DDEVICE_ITM=1 -DMBED_BUILD_TIMESTAMP=1574735595.5081437 -DNRF52_PAN_20 -DDEVICE_I2C_ASYNCH=1 -DDEVICE_LPTICKER=1 -DNRF52_PAN_30 -DTARGET_LIKE_CORTEX_M4 -DTARGET_NAME=MTB_UBLOX_NINA_B1 -DCOMPONENT_NSPE=1 -DDEVICE_TRNG=1 -DNRF52_PAN_58 -DTOOLCHAIN_ARM -DARM_MATH_CM4 -D__MBED_CMSIS_RTOS_CM -DNRF52 -DBOARD_PCA10040 -DDEVICE_FLASH=1 -DCOMPONENT_PSA_SRV_IMPL=1 -DTARGET_MTB_UBLOX_NINA_B1 -DDEVICE_SYSTICK_CLK_OFF_DURING_SLEEP=1 -DTARGET_NRF52832 -DTOOLCHAIN_ARM_STD -DNRF52_PAN_36 --preinclude=./BUILD/MTB_UBLOX_NINA_B1/ARMC5/mbed_config.h --via ./BUILD/MTB_UBLOX_NINA_B1/ARMC5/.includes_3003a516b3c5c98831c114756251051b.txt --depend BUILD/MTB_UBLOX_NINA_B1/ARMC5/mbed-os/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularStack.d -o BUILD/MTB_UBLOX_NINA_B1/ARMC5/mbed-os/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularStack.o ./mbed-os/features/cellular/framework/targets/QUECTEL/BG96/QUECTEL_BG96_CellularStack.cpp
2019-11-26 15:27:15 +00:00
Ari Parkkila 2301af398e Cellular: Enable ePCO IE for BG96 driver
As per 3GPP TS 24.301:

If the UE supports NB-S1 mode, Non-IP PDN type, or N1 mode,
then the UE shall support the extended protocol configuration options IE.
...
If the UE supports the extended protocol configuration options IE,
then the UE shall set the ePCO bit to extended protocol configuration options supported
in the UE network capability IE of the ATTACH REQUEST message.
2019-11-19 21:59:19 -08:00
Kimmo Vaisanen b319be14e8 Offloaded TLSSocket for BG96
Some external modems have an internal TLSSocket implementation which can be used
instead of mbedtls based TLSSocket. Using offloaded TLSSocket can result in
significantly reduced ROM usage.

Offloaded TLSSocket can be enabled by enabling "nsapi.offload-tlssocket" and the used
network stack (e.g. cellular modem's CellularStack class) must support the setsockopt's
defined in nsapi_types.h.

Compared to original mbedtls based TLSSocket, offloaded TLSSocket brings in one significant
API limitation. Offloaded TLSSocket requires setting of certificates and keys after open()
and before connect() calls, where mbedtls based TLSSocket allows setting these before open()
call.
2019-09-25 09:25:33 +03:00
Kimmo Vaisanen 1768b653ec Cellular: Handle SEND FAIL and ERROR response
QISEND command can respond either SEND OK, SEND FAIL or ERROR.
If response is not SEND OK, sent bytes should not be checked but
error should be reported.
2019-09-20 10:06:32 +03:00
Ari Parkkila 823993e7b1 Cellular: Add flow control (IFC) in BG96 AT driver 2019-09-16 03:16:36 -07:00
Martin Kojtal 66c39e0bca
Merge pull request #11424 from mirelachirica/stack_type_ip_versions
Stack type ip versions
2019-09-13 11:46:06 +02:00
Mirela Chirica 78f4e8b12f Cellular: Enable IPv6 stack property for BG96 2019-09-12 12:56:29 +03:00
Mirela Chirica b44ba531a1 Cellular: Check IP version of send to address 2019-09-12 12:56:28 +03: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
Martin Kojtal 567479792c
Merge pull request #11392 from hugueskamba/hk-remove-minor-warnings
Remove minor build warnings
2019-09-05 09:59:39 +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
Martin Kojtal 39733cbc0b
Merge pull request #11306 from AnttiKauppila/ATHandler_improvements
At handler improvements
2019-09-02 12:08:44 +02:00
Antti Kauppila d08d55da88 New ATHandler functions taken into use
New ATHandler functions taken into use for rest of the targets (BG96 was updated initially) to reduce code size. This means basically that new functions using variadic list approach are taken into use and with those one can usually write AT commands in single line instead of multiple lines.
Only internal changes and API's are not modified.
2019-08-27 09:15:51 +03:00
Martin Kojtal 88dcf27e02
Merge pull request #11246 from AriParkkila/cell-bg96-ipv6
Cellular: Fix BG96 AT driver for IPv6
2019-08-22 11:08:23 +02:00
Ari Parkkila 110fb7d524 Cellular: Fix BG96 AT driver for IPv6 2019-08-21 02:46:33 -07:00
Mirela Chirica 75c823c1a3 Cellular: Fixed improper AT handler setup through virtual calls in constructor
Added AT handler setup method to be used for initialisation routines
that are virtual and therefore cannot be called from constructor.
2019-08-16 10:57:37 +03:00
Ari Parkkila 71c7ed2fb4 Cellular: Add BG96 AT driver with DNS support 2019-07-31 00:19:05 -07:00
Ari Parkkila 7a5e4ca5da Cellular: Fix BG96 power up 2019-07-18 23:13:36 -07:00
Martin Kojtal c9bdcd6b16 cellular: fix file permission 2019-06-24 22:23:10 +01:00
Martin Kojtal 979f26f74d
Merge pull request #10875 from mirelachirica/revert_ipv6_bg96
Cellular: Remove IPV6 and IPV4V6 as supported properties for BG96
2019-06-24 14:55:50 +01:00
Martin Kojtal 13081a21ab
Merge pull request #10808 from mirelachirica/bg96_pdpdeact
Cellular: Added handling for BG96 network PDP context deactivation
2019-06-24 11:23:40 +01:00
Mirela Chirica ce6415bfce 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-20 14:48:07 +03:00
Anna Bridge 6000724de6
Merge pull request #10703 from AnttiKauppila/optimisation
Cellular: Removed boilerplate code
2019-06-19 12:06:10 +01:00
Anna Bridge 3e6f5eba6c
Merge pull request #10764 from mirelachirica/bg96_sockid_fix_ipv6_support
BG96 ipv6 support and socket id fix for BG96 and M26
2019-06-12 17:04:46 +01:00
Mirela Chirica 0339ffd1b9 Cellular: Added handling for BG96 network PDP context deactivation 2019-06-11 16:05:27 +03:00
Martin Kojtal 9a3c175e96
Merge pull request #10588 from AriParkkila/cell-bg96-power
Cell bg96 power
2019-06-03 08:38:58 +01:00
Mirela Chirica b57d978bbd Cellular: Added IPV6 and IPV4V6 as supported properties for BG96 2019-05-30 14:07:33 +03:00
Mirela Chirica ff2061aba4 Cellular: Fix requested socket id in socket_connect routines of BG96 and M26 2019-05-30 14:07:33 +03:00