Commit Graph

4486 Commits (091010e9a28f39f0fc2bc255ce16fe86979b871d)

Author SHA1 Message Date
Teppo Järvelin ed7606bf0c Cellular: fixed crash when closing CellularNetwork via CellularDevice. 2018-09-18 14:45:07 +03:00
Martin Kojtal 87daf8f8c3
Merge pull request #7969 from jarvte/cellu_multiple_context
Cellular: CellularDevice:get_default_instance() implemented
2018-09-17 14:52:10 +02:00
Martin Kojtal aca7740f00
Merge pull request #7982 from hasnainvirk/mem_overrun
LoRaWAN: Memory overrun correction
2018-09-17 14:43:13 +02:00
Martin Kojtal 10b5a3a9d8
Merge pull request #7960 from RonEld/set_NULL_as_platform_context
Change mbedtls_platform_context parameter to NULL
2018-09-17 14:30:03 +02:00
Jani Suonpera 4c94d78f1b Rename F207ZG bootloader binary
Typo fix and fix version hash.
2018-09-17 14:03:35 +03:00
Ari Parkkila 13106fb774 Cellular: Disable AT+CGAUTH on HE910 and BC95 2018-09-17 03:28:18 -07:00
Kimmo Vaisanen 1f1b5d3a5a Cellular: Quectel BC95 TCP socket support 2018-09-17 13:06:24 +03:00
Antti Kauppila a6b4938844 Small improvements for test cases 2018-09-17 12:07:43 +03:00
Antti Kauppila adc4ce4385 Old Cellular UNITTESTS removed 2018-09-17 12:07:43 +03:00
Ari Parkkila 4698cd268d Cellular: Implement APN authentication for BG96 2018-09-17 01:14:59 -07:00
Ari Parkkila fb899d2cc1 Cellular: Fix APN authentication before context activation 2018-09-17 01:14:59 -07:00
Jani Suonpera fc6ff090bd Add bootloader image for Nucleo F207ZG 2018-09-17 10:48:11 +03:00
Cruz Monrreal 8475477ca7
Merge pull request #7992 from SeppoTakalo/fix-tcpsocket-accept
Fix TCPSocket::accept()
2018-09-14 11:49:06 -05:00
deepikabhavnani 1cb87d3235 Added thread safety info to FatFs/LittleFs 2018-09-13 11:32:36 -05:00
Anna Bridge d6ccf46bbc
Merge pull request #8031 from juhaylinen/fix-tcpserver
Fix TCPServer::accept()
2018-09-13 13:09:55 +01:00
ccli8 d2c8be678f [M487] Add missing mbedtls_device.h for NUMAKER_IOT_M487 2018-09-11 18:25:14 +08:00
Hasnain Virk e110856941 LoRaWAN: Refactoring compliance test code
While performing compliance tests with an industry tester, we realized
that there was no need for any extra handling code for the compliance
tests. The tests would run fine, if we only have a handling application.
However, in normal operation we wouldn't like the network to send us any
traffic on compliance testing port. To mitigate that, on the reception
path we filter out any traffic on compliance testing port if compliance
testing is not underway. User should define LORAWAN_COMPLIANCE_TEST macro
in mbed_app.json to enable traffic on compliance test port.
2018-09-11 11:26:31 +03:00
Kimmo Vaisanen 782e470306 Lora: Fix ADRAckReq
This commit fixes two bugs related to ADRAckReq:
- adr_ack_counter must be incremented for all uplink messages (not just confirmed)
- When ADR_ACK_LIMIT + ADR_ACK_DELAY has been reached, stack decreased used
  datarate twice.
2018-09-10 13:39:47 +03:00
Teppo Järvelin 8f4acc14ca Cellular: CellularDevice:get_default_instance() implemented
Removed copy-paste code from targets by creating implementation methods to override.
2018-09-07 14:49:18 +03:00
Edd Inglis 4a07adbac5 Changed the reported SNR from unsigned to signed.
Internally and logically it is a signed value.
2018-09-07 10:19:01 +01:00
Martin Kojtal 8a43879ca9
Merge pull request #8022 from sbutcher-arm/update-mbedtls-2.13.1
Update Mbed TLS version to 2.13.1
2018-09-07 10:44:54 +02:00
Juha Ylinen 4ea49f5580 Fix TCPServer::accept()
Missing lock caused Mutex unlock failure
2018-09-07 10:46:25 +03:00
Simon Butcher 15785191e7 Update Mbed TLS version to 2.13.1 2018-09-06 19:32:03 +01:00
Antti Yli-Tokola 4249318546 Update mbed-coap to version 4.6.3
- Bug fix: Remove timed out blockwise message from resend queue. If blockwise message was timed out message was still kept in the resend queue which causes unnecessary reconnections on client side.
- Documentation: Document all the available macros.
2018-09-06 16:08:49 +03:00
Cruz Monrreal 6c30b2f48d
Merge pull request #7924 from kjbracey-arm/filebase_default
Add special handling for "/default" filesystem
2018-09-05 19:40:29 -05:00
paul-szczepanek-arm a2c9781682 fix whitelist generation (set correct address type) 2018-09-05 16:46:01 +01:00
Cruz Monrreal 06106297a4
Merge pull request #6293 from Taiki-San/patch-1
Reduce .text footprint of the network stack
2018-09-05 10:16:04 -05:00
Cruz Monrreal f940443ac7
Merge pull request #7824 from deepikabhavnani/lfs_crc
Use MbedCRC for LittleFS
2018-09-05 09:12:06 -05:00
Kevin Bracey c0dbc49aa0 Make "/default" an alias - add real names too
Make the built-in FileSystem::get_default_instance() implementation
instantiate storage as "flash" or "sd", with "default" as an alias.

This will aid interworking between simple and advanced filesystem code
on various platforms. The expectation is that the names "sd" or "flash"
will be always available if the device is available and configured,
regardless of what "default" represents.
2018-09-05 14:18:29 +03:00
Kevin Bracey fd4b3879be Change default filesystem name to /default
"/fs" is a tautology - not a good name for the default filing system, as
whereever we use it, we know we're specifying a filing system. Rename to
"/default".
2018-09-05 14:18:28 +03:00
Seppo Takalo 451852d19f Fix TCPSocket::accept()
This one was actually always return NULL, and unsted because we only
have tests with one device.

We will add the testcase for this soon
2018-09-05 12:00:59 +03:00
Martin Kojtal 3057c6c722
Merge pull request #7964 from paul-szczepanek-arm/master
NFC: fix reading from NFC EEPROM
2018-09-05 09:50:27 +02:00
Cruz Monrreal 6165386d34
Merge pull request #7893 from kivaisan/improve_callback_descriptions
Lora: Improve description of callback methods
2018-09-04 09:26:44 -05:00
paul-szczepanek-arm 44d3504dbb missing overload 2018-09-04 13:58:50 +01:00
paul-szczepanek-arm ec373c29a0 missing onDataSent calblack for cordio 2018-09-04 13:30:08 +01:00
Hasnain Virk 7b7d5ebc77 LoRaWAN: Memory overrun correction
A typo in LoRaPHYCN470 is causing memory overrun.
We were supposed to fill-in default channel mask and iterate over CN470_CHANNEL_MASK_SIZE times.
2018-09-04 15:21:40 +03:00
Teppo Järvelin 69bcbd84db Cellular: state machine and easycellular now return error fast if sim pin needed but not provided. 2018-09-04 13:13:35 +03:00
Martin Kojtal dd91b90149
Merge pull request #7974 from sbutcher-arm/update-mbedtls
Update Mbed TLS to version 2.13.0
2018-09-04 08:22:19 +02:00
Martin Kojtal b20fd506c1
Merge pull request #7910 from AriParkkila/cell-test-attach
Cellular: Fix Greentea test for network attach
2018-09-04 08:20:38 +02:00
Anna Bridge 4fb3aec84a
Merge pull request #7895 from kivaisan/remove_duplicate_linkcheckreq
Lora: Remove duplicate LinkCheckReq MAC command
2018-09-03 16:43:02 +01:00
Krzysztof Stachowiak 7d7b8d4a07 Disable the OFB cipher mode in Mbed TLS 2018-09-03 16:20:55 +01:00
Krzysztof Stachowiak f1d76691b6 Update to Mbed TLS 2.13.0 2018-09-03 16:20:46 +01:00
David Saada ff7858a306 Fix is_valid_erase function to use get_erase_size with address 2018-09-03 16:15:54 +03:00
Anna Bridge c2fdc0d972
Merge pull request #7423 from mprse/mutex_lock_assert
Fix issue #6872 - Mutex lock has possibility to fail at runtime (returning status flag)
2018-09-03 14:14:24 +01:00
pingdan32 459649fce0 fix total link count 2018-09-03 16:45:18 +08:00
paul-szczepanek-arm 2a14b29f66 fix reading from eeprom
added missing current op
2018-09-03 09:18:17 +01:00
Martin Kojtal 44925d8527
Merge pull request #7579 from u-blox/ublox_odin_driver_os_5_v3.0.0_rc1
Updated ODIN drivers to v3.0.0 RC1
2018-09-03 09:25:32 +02:00
Ron Eldor 5817d71ad8 Change mbedtls_platform_context parameter to NULL
Change the parameter being sent to `mbedtls_platform_setup()` and
`mbedtls_platfrm_teardown()` to NULL, as it is now being unused
in Mbed OS.
2018-09-03 08:38:57 +03:00
Cruz Monrreal 83e0e65a42
Merge pull request #7726 from SenRamakri/sen_BLE_ErrorUpdate
Update BLE error calls to use new error codes and mbed_error
2018-09-02 20:47:40 -05:00
Cruz Monrreal 3be076c196
Merge pull request #7099 from RonEld/platform_context_reference_count
Add reference counter for platform context
2018-09-02 20:47:19 -05:00
Deepika 683034db8a Use the same API name to add mbed CRC: lfs_crc 2018-09-02 15:25:41 -05:00
Deepika 4d7fdfc2a9 Use MbedCRC for LittleFS (0xEDB88320)
CRC used in LittleFS is Reversed ANSI, hence new polynomial added.
Reversed polynomials perform shift in reverse direction of standard
polynomial, and we do not have option to notify reverse shift to hardware.
Hence this option is available in software only.
2018-09-02 15:25:40 -05:00
Cruz Monrreal e7c166ebc2
Merge pull request #7907 from anttiylitokola/coap_to_4.6.2
Update mbed-coap to version 4.6.2
2018-09-02 15:14:04 -05:00
Cruz Monrreal 0edce1d3e6
Merge pull request #7683 from TomoYamanaka/Improve_LWIP
Renesas : Improve LWIP speed
2018-09-02 15:09:53 -05:00
Martin Kojtal e7b3c0d727
Merge pull request #7894 from jarvte/fix_cellular_unittests
Cellular: CellularDevice unittests fix initialization
2018-09-02 20:18:25 +02:00
Martin Kojtal c7d6560571
Merge pull request #7806 from hasnainvirk/fix_for_cn470
LoRaWAN: Fixing Hard fault in CN470 PHY layer
2018-09-02 15:56:33 +02:00
Ron Eldor a2531b5674 Fix build error on IAR
IAR fails to build when a variable is initialized with empty curly braces.
Added `{ { 0 } }` to fix that.
2018-09-02 10:48:31 +03:00
Martin Kojtal 1eab0723ba
Merge pull request #7745 from OPpuolitaival/icetea
Icetea support
2018-09-02 07:19:22 +02:00
Seppo Takalo 1ef04796ee On KW24D and NCS36510 default to smaller Nanostack configuration
These boards do not fit the full Nanostack, so we need to select
6LoWPAN-ND as a default.
2018-09-01 12:37:46 -05:00
Cruz Monrreal 993c897b55
Merge pull request #7774 from yossi2le/sd-spif-to-mbed-os
Add default block device support (SD, SPIF and FLASHIAP)
2018-09-01 11:15:13 -05:00
Cruz Monrreal f82feecc51
Merge pull request #7822 from donatieng/nfc-impl
Add initial NFC support to Mbed OS
2018-08-31 19:01:25 -05:00
Yossi Levy c1eb141def Changing general_filesystem test to be more efficient. now format is done once at the beginning and once at the end while every test clean its resource before the next test. Testing time on SD should be drop form 10 minutes plus to less than 1 minute 2018-08-31 18:33:08 +03:00
Ron Eldor c1b6fdc5af Rename parameter name
Rename `obsolete_ctx` to `unused_ctx` as it is simply unused.
2018-08-31 13:53:29 +03:00
Jarno Lamsa 664d98a2b8 Remove startuml doxygen-command 2018-08-31 11:52:30 +03:00
Jarno Lamsa e4e6ddc424 Fix doxygen from ns_cmdline.h 2018-08-31 11:52:30 +03:00
Olli-Pekka Puolitaival fbbbc0d77f Move mbed-client-cli in right place 2018-08-31 11:52:15 +03:00
Olli-Pekka Puolitaival e27a26eb9d Icetea support 2018-08-31 11:51:57 +03:00
Martin Kojtal 2e869df296
Merge pull request #7899 from pan-/bt-phy
Bluetooth 5 Phy support
2018-08-31 09:34:48 +02:00
Ammad Rehmat b934632653 Access Point API 2018-08-31 11:33:30 +05:00
TomoYamanaka 7c90a9e314 Improve the config adjustment script for ENTROPY_NV_SEED
Although "nv_seed" is one of "entropy", it doesn't included to the "!defined" lineup in the following config file.
Therefore, when MBEDTLS_ENTROPY_NV_SEED is defined, it is accidently invoked "mbedtls/config-no-entropy.h".
mbed-os\features\mbedtls\inc\mbedtls\config.h
I think that correct processing should go to line 47, not line 40.
2018-08-31 12:14:32 +09:00
Cruz Monrreal 06a98e7dcf
Merge pull request #7778 from SeppoTakalo/provide_default_mesh
Fix MeshInterface::get_default_instance()
2018-08-30 16:11:00 -05:00
Kimmo Vaisanen f24623af97 LoRa: Stop processing MAC commands if command id is unknown
The length of a MAC command is not explicitly given and must be
implicitly known by the MAC implementation. Therefore unknown MAC
commands cannot be skipped and the first unknown MAC command
terminates the processing of the MAC command sequence.

This commit fixes the bug where MAC command processing was not
terminated when unknown MAC command was received.
2018-08-30 15:43:54 +03:00
Wajahat Abbas acd6ff304a corrected a typo in AT_CellularPower::opt_power_save_mode 2018-08-30 16:47:09 +05:00
Ron Eldor 666ebe392a Change the terminate limit check
Check for counter to be `< 1` instead of `<= 0` before terminating.
2018-08-30 13:51:58 +03:00
Vincent Coubard 7a503ca1a2 BLE: Fix doxygen. 2018-08-30 09:25:50 +01:00
Ron Eldor 1f5cee967d Address concurrency and style issues
1. Use atomic operations to increase and decrease counter.
2. Style fixes.
Remove unused function declaration.
2018-08-30 11:18:23 +03:00
paul-szczepanek-arm f3c3abd24c removed unnecessary headers 2018-08-30 08:37:57 +01:00
paul-szczepanek-arm db3d124516 moved the utility function into the pal since it's only useful below pal 2018-08-29 20:25:56 +01:00
paul-szczepanek-arm 03f44e7a29 accidental spare const removed 2018-08-29 20:25:56 +01:00
paul-szczepanek-arm 8ac6e2c30d added doxygen to constructors and const to getters 2018-08-29 20:25:56 +01:00
paul-szczepanek-arm 76624ad6ec provide stubs for events
use gap.h typedef for Phy_t for consistency
2018-08-29 20:21:04 +01:00
paul-szczepanek-arm 5598958c6d formatting for docs 2018-08-29 20:21:04 +01:00
paul-szczepanek-arm baaebb47dc fix typo in preferred 2018-08-29 20:21:04 +01:00
paul-szczepanek-arm d64479a2ee docuemnted PHY api 2018-08-29 20:21:04 +01:00
paul-szczepanek-arm e0ca4a093f update cordio pal phy to new 5.0 stack 2018-08-29 20:21:04 +01:00
paul-szczepanek-arm 8090e7acd8 phy API implementation for cordio
phy set types added, nordic implementation updated
2018-08-29 20:21:04 +01:00
Paul Szczepanek d5c675e300 Merge pull request #6 from paul-szczepanek-arm/feature-support
support for controller features
2018-08-29 20:15:58 +01:00
Vincent Coubard 954f004d16 Nordic BLE: Implement PHY APIs for NRF52. 2018-08-29 20:15:58 +01:00
Vincent Coubard 47ea39982f Merge pull request #2 from pan-/PHY_API
Phy api
2018-08-29 20:15:58 +01:00
Vincent Coubard 4deb64aed1 Merge pull request #1 from pan-/PHY_API
Phy api
2018-08-29 20:15:58 +01:00
Donatien Garnier a239c5e98e Fix some remainings ARMCC warnings 2018-08-29 19:56:06 +01:00
Donatien Garnier 1252590a16 Address ARMCC warnings and make sure targets have SPI and InterruptIn in PN512SPITransportDriver 2018-08-29 19:46:25 +01:00
Donatien Garnier 3fa0c5e730 Fixed IAR warnings in NFC stack 2018-08-29 19:46:25 +01:00
Vincent Coubard 895ef34f99 NFC: Use string instead of cstring header. 2018-08-29 19:42:08 +01:00
Ron Eldor 479438953f Rename error codes
1. Rename error codes to fit Mbed TLS error code names.
2. Remove the Invalid input error code, as it's not used anymore.
2018-08-29 19:02:57 +03:00
Donatien Garnier bfd433984f Re-run astyle 2018-08-29 16:59:45 +01:00
Cruz Monrreal e649beac5e
Merge pull request #7788 from AriParkkila/cell-copn
Cellular: Fixed AT+COPN
2018-08-29 09:38:13 -05:00
Cruz Monrreal 7b29f7d2e8
Merge pull request #7795 from mirelachirica/issue_7470_access_to_power
Cellular: Add getters for device and serial to EasyCellularConnection
2018-08-29 09:37:38 -05:00
paul-szczepanek-arm 64d65fdf56 interface methods made public 2018-08-29 14:36:33 +01:00
Martin Kojtal 70439dd131
Merge pull request #7677 from AriParkkila/cell-gemalto
Cellular: Gemalto Cinterion support for ELS61 and BGS2
2018-08-29 13:05:44 +02:00
Martin Kojtal bd3be2b588
Merge pull request #7868 from andresag01/disable-mbedtls-have-date-time
Disable MBEDTLS_HAVE_DATE_TIME as ARMCC does not support gmtime
2018-08-29 11:56:52 +02:00
paul-szczepanek-arm e75ca75e17 EEPROM driver signature fixed 2018-08-29 10:45:22 +01:00
Yossi Levy ed8e170d15 Moving SD, SPIF and FLASHIAP into mbedos and refactoring features storage directory structure. 2018-08-29 12:01:11 +03:00
Cruz Monrreal 4089d4e7f0
Merge pull request #7869 from paul-szczepanek-arm/cordio-sources
BLE: Cordio going open source
2018-08-28 13:18:24 -05:00
Vincent Coubard 97a4e02c3b NFC: Fix missing doc in ndef::MessageBuilder 2018-08-28 18:51:39 +01:00
Ron Eldor 127b68fbbc Make the platform context a global variable
Make the platform context a global variable,
adding the refernce counter to it.
2018-08-28 20:29:26 +03:00
Vincent Coubard ab810b219e NFC: Fix astyle nonsense. 2018-08-28 17:47:10 +01:00
Vincent Coubard 0fa481ace6 NFC: Fix invalid access to an empty text record. 2018-08-28 17:47:10 +01:00
Vincent Coubard 9a3b64bd55 NFC: Add const qualifier to append_as_record function of ndef common types. 2018-08-28 17:47:09 +01:00
Vincent Coubard cffc0221cc NFC: Add get_record_size in common types. 2018-08-28 17:47:09 +01:00
Vincent Coubard b6e604338e NFC: Add payload builder into ndef::MessageBuilder 2018-08-28 17:47:09 +01:00
Donatien Garnier b5bfcc3fcb Address @paul-szczepanek-arm's comments 2018-08-28 17:32:39 +01:00
Donatien Garnier bfe4c748ce Address @ithinuel's comments 2018-08-28 17:00:35 +01:00
Donatien Garnier 681811e403 NFCController::Delegate's destructor does not need to be virtual 2018-08-28 16:55:09 +01:00
Donatien Garnier 66850be6e5 Fix NFCEEPROM erasing flow 2018-08-28 16:53:06 +01:00
Seppo Takalo 488632bc79 Fix LoWPANInterface to provide ::get_target_default()
LoWPANInterface should provide target default, instead of default.
2018-08-28 18:50:59 +03:00
Donatien Garnier 9e0c08bbdc Do not allocate initiator if not required in NFCController::polling_callback 2018-08-28 15:15:31 +01:00
Ari Parkkila ce84209507 Cellular: Fix Greentea test for network attach 2018-08-28 06:20:50 -07:00
Taiki 758f6d2e83 Switch the IPv4 parser to the one recently introduced in libservice. Return a bool value on wether parsing of the IPv4 address string was successful 2018-08-28 14:00:54 +02:00
Martin Kojtal b2a05511d0
Merge pull request #7818 from kjbracey-arm/eui64_get_early
Allow ThreadInterface::device_eui64_get() before connect()
2018-08-28 12:11:47 +02:00
Martin Kojtal 665f10e1be
Merge pull request #7878 from mikaleppanen/mesh_conn_corr
Corrected mbed-mesh-api thread/6lowpan tasklets interface disconnect/connect
2018-08-28 11:55:30 +02:00
Ari Parkkila 90fe9de8ed Cellular: Fixed network registration on Gemalto AT drivers 2018-08-28 02:14:28 -07:00
Ari Parkkila 9d0e3d8797 Cellular: Added support for the Gemalto/EMS31 cellular module 2018-08-28 02:14:28 -07:00
Ari Parkkila a14ac31f68 Cellular: Added support for the Gemalto/BGS2 cellular module 2018-08-28 02:14:28 -07:00
Ari Parkkila 761e01f55c Cellular: Gemalto Cinterion support for ELS61 2018-08-28 02:14:28 -07:00
Vincent Coubard d144d8bc78 NFC: Fix doxygen documentation. 2018-08-28 10:03:44 +01:00
Donatien Garnier 8e8ce973c6 Run astyle 2018-08-28 10:03:44 +01:00
Vincent Coubard 6c4fe20f09 NFC - NDEF: Improve header inclusion 2018-08-28 10:03:44 +01:00
Vincent Coubard 684b3cad08 NDEF: Move common types into the namespace ndef::common 2018-08-28 10:03:43 +01:00
Vincent Coubard 3770cfb963 NDEF types: mention the function span_from_cstr in functions accepting strings. 2018-08-28 10:03:43 +01:00
Vincent Coubard 3dda860fd4 Ndef types: Add functions that convert a C-string into a span consumable by the API. 2018-08-28 10:03:42 +01:00
Vincent Coubard b985b2c00b NFC: Integrate nfc targets with Span
The goal is to play nicely with the NDEF message framework.
2018-08-28 10:03:42 +01:00
Vincent Coubard dcf38eec50 NFC: Add NDEF message framework. 2018-08-28 10:03:41 +01:00
Donatien Garnier 79170d3de5 Use nfc_tech_iso7816_app_t directly to handle ISO7816 applications 2018-08-28 09:59:18 +01:00
Donatien Garnier fb5a0a3791 NFC: Fix more IAR compilation issues 2018-08-28 09:59:18 +01:00
Donatien Garnier 9cf8eedb63 NFC: Fix IAR compilation issues 2018-08-28 09:59:17 +01:00
Donatien Garnier 5c24c4dd82 NFC: Fix doxygen issues 2018-08-28 09:59:17 +01:00
Donatien Garnier 7a473ed9cf Fix doxygen issues in acore 2018-08-28 09:59:16 +01:00
Donatien Garnier 83057378f0 Fixes in NFC framework 2018-08-28 09:59:16 +01:00
Donatien Garnier 1f1f5f183f NFC Stack: ISO7816 now uses the 'repolling' mechanism of ISODEP module to avoid re-running a full polling loop 2018-08-28 09:59:16 +01:00
Donatien Garnier e7b2ec347f Enable NFC debug 2018-08-28 09:59:15 +01:00
Donatien Garnier 6eb99d65b4 NFC: Add a few missing method implementations and run astyle 2018-08-28 09:59:12 +01:00
Donatien Garnier 3f31a95a76 Fix compilation issues in NFC framework 2018-08-28 09:59:12 +01:00
Donatien Garnier 2568725d47 Fix compilation issues in NFC stack 2018-08-28 09:59:11 +01:00
Donatien Garnier f0b0762ca9 Prefix acore lib files with ac_ to avoid include clashes 2018-08-28 09:59:11 +01:00
Donatien Garnier 483fcdfc83 Fix a bunch of compilation issues, thanks @pan- 2018-08-28 09:59:10 +01:00
Donatien Garnier 3970f5f77a Expose Event Queue to NFCEEPROMDriver 2018-08-28 09:59:10 +01:00
Donatien Garnier 0e2484f7f3 Astyle formatting 2018-08-28 09:59:09 +01:00
Donatien Garnier ce39e77f3d Missing change in NFCRemoteInitiator 2018-08-28 09:59:09 +01:00
Donatien Garnier d63a36c586 Some missing virtual qualifiers 2018-08-28 09:59:09 +01:00
Donatien Garnier 1dfeafd11a Missing =0 in NFCEEPROMDriver 2018-08-28 09:59:08 +01:00
Donatien Garnier 928115b106 Missing inheritance in NFCController 2018-08-28 09:59:08 +01:00
Donatien Garnier 3b8413a3d8 Fix virtualness of NFCControllerDriver::Delegate method 2018-08-28 09:59:07 +01:00
Donatien Garnier 6a0cbffaf6 Fix API signatures 2018-08-28 09:59:07 +01:00
Donatien Garnier 9fcca783b9 Erase & Read implementations in NFCEEPROM 2018-08-28 09:59:06 +01:00
Donatien Garnier 5a9cab2408 Writing implementation in NFC EEPROM 2018-08-28 09:59:06 +01:00
Donatien Garnier 28fad6b320 Update NFC EEPROM Driver + Delegate API names 2018-08-28 09:59:05 +01:00
Donatien Garnier a4a8ee1b49 Update NFC EEPROM Driver and add implementation 2018-08-28 09:59:05 +01:00
Donatien Garnier 8c4e4d855c Add scheduler implementation to NFC Controller class 2018-08-28 09:59:05 +01:00
Donatien Garnier 9056f29025 Add PN512 Driver implementation 2018-08-28 09:59:04 +01:00
Donatien Garnier 5fa27744b0 Implement PN512 SPI transport driver 2018-08-28 09:59:04 +01:00
Donatien Garnier d4c29207cc Type 4 Target and dependencies implementation 2018-08-28 09:59:03 +01:00
Donatien Garnier fdd8d0b9b6 Implement NFCNDEFCapable 2018-08-28 09:59:03 +01:00
Donatien Garnier db2cdf0b02 Use SharedPtr class for detected endpoints 2018-08-28 09:59:02 +01:00
Donatien Garnier d5201f00e4 Add basis for NFC Controller implementation 2018-08-28 09:59:02 +01:00
Donatien Garnier cd7f518596 Add NFC Stack 2018-08-28 09:59:02 +01:00
Donatien Garnier 5691a663b4 Update doc/API for Type4RemoteInitiator 2018-08-28 09:59:01 +01:00
Donatien Garnier b2cbdb5aa1 Add doc/update API for NFCTarget 2018-08-28 09:59:01 +01:00
Donatien Garnier 2246535a9f Update API/doc for NFCNDEFCapable 2018-08-28 09:59:00 +01:00
Donatien Garnier 3cd3efe9d8 Fix NFCEEPROM's destructor 2018-08-28 09:59:00 +01:00
Donatien Garnier 2db8f8607d Add doc for NFCRemoteInitiator 2018-08-28 09:58:59 +01:00
Donatien Garnier b14e18d170 Add documemtation for ISO7816App 2018-08-28 09:58:59 +01:00
Donatien Garnier f6a0cb3ae2 Add doc and amend API of NFCNDEFCapable 2018-08-28 09:58:58 +01:00
Donatien Garnier 97f72cae2f Add doc for NFCRemoteEndpoint 2018-08-28 09:58:58 +01:00
Donatien Garnier 717b2f599f Add doc for NFCEEPROMDriver and amend API slightly 2018-08-28 09:58:57 +01:00
Donatien Garnier b0f1f4304c Add doc for NFCTarget 2018-08-28 09:58:57 +01:00
Donatien Garnier 39879b7d9d Amend NFCControllerDriver API and add documentation 2018-08-28 09:58:56 +01:00
Donatien Garnier 37263c359a Add doc to NFCController 2018-08-28 09:58:56 +01:00
Donatien Garnier 2fb635a28d Add get_supported_rf_protocols() method to driver 2018-08-28 09:58:55 +01:00
Donatien Garnier 2ff14df60b Finish renaming NFCRemoteEndpoint.h 2018-08-28 09:58:55 +01:00
Donatien Garnier 5ae65aaf35 Simplify NFCNDEFCapable.h 2018-08-28 09:58:54 +01:00
Donatien Garnier 0e9e2fdbed Add has_started_session() in NFC EEPROM driver delegate 2018-08-28 09:58:54 +01:00
Donatien Garnier 1d61ab686e Missing end of comment 2018-08-28 09:58:54 +01:00
Donatien Garnier 3321a5998d NFCTarget should not inherit from NFCEndpoint 2018-08-28 09:58:53 +01:00
Donatien Garnier da4842de45 Remove redundant boolean parameters in NDEF Capable 2018-08-28 09:58:53 +01:00
Donatien Garnier 18b2bb37ce Move nfc_tag_type_t to NFCDefinitions.h 2018-08-28 09:58:52 +01:00
Donatien Garnier 04304e0ec0 Added nfc_tag_type() and fixed some const qualifiers 2018-08-28 09:58:52 +01:00
Donatien Garnier 8d03c557e2 Adding initial API 2018-08-28 09:58:51 +01:00
Martin Kojtal 9e012c3de6
Merge pull request #7860 from AriParkkila/cell-reg-mode
Cellular: Allow cellular modules to override network registration mode
2018-08-28 10:42:48 +02:00
Antti Yli-Tokola 7ae00ee24a Update mbed-coap to version 4.6.2
Do not clear block2 in subsequent block request.

When sending a request with block2 option, eg. indicating need
for response to be blockwised, copy the block2 option from the
sent_blockwise list item so that the block2 option will be added
to all requests. This fixes an issue where previously the block2
was only sent for the first blockwise request and not for the
subsequent ones, including the last request. This made the response
not follow the request block2 option.
2018-08-28 11:09:45 +03:00
Seppo Takalo 9836b9bd6a Provide default mesh driver on NCS36510 2018-08-28 11:02:58 +03:00
Seppo Takalo c5064a8e33 Fix *MeshInterface::get_default_instance()
This was returning object, instead of pointer.
Also it was trying to call lowpan(reference), instad of lowpan(ptr).
2018-08-28 11:02:58 +03:00
Teppo Järvelin 5e6988899c Cellular: review fix removed magic numbers from unit tests. 2018-08-28 07:36:49 +03:00
Cruz Monrreal 7ac4bf4a4e
Merge pull request #7870 from AriParkkila/cell-cgdata
Cellular: Support for GPRS dial-up
2018-08-27 10:29:44 -05:00
Cruz Monrreal 686b77949f
Merge pull request #7857 from AriParkkila/cell-stack-mt
Cellular: Make AT_CellularStack socket array multi-thread safe
2018-08-27 10:29:29 -05:00
Cruz Monrreal bf2da4859c
Merge pull request #7761 from aashishc1988/master
ifndef some macros to allow overriding during compilation
2018-08-27 10:27:49 -05:00
Amanda Butler a779e6f3c2
Copy edit FSB_Usage.txt
Copy edit for active voice, consistent tense and precise language.
2018-08-27 10:06:21 -05:00
Amanda Butler e4c4e7cc8d
Copy edit lorawan_types.h
Copy edit for minor grammar nits and consistent tense across docs.
2018-08-27 09:51:27 -05:00
Mika Leppänen 1250ceb82c Corrected thread tasklet during interface disconnect/connect
Added check for valid interface ID to network scan timer start so that it
is not triggered after disconnect. Added variable for mac api so that it
is not tried to set again after re-connecting.
2018-08-27 15:08:48 +03:00
Mika Leppänen 68f5739e09 Corrected 6lowpan tasklet during interface disconnect/connect
Removed main tasklet ID and used instead tasklet id. Added check
for valid interface ID to network scan timer start so that it
is not triggered after disconnect. Added small delay to re-connect
so that stack has time to send its status events to application
after disconnect.
2018-08-27 15:08:48 +03:00
Kimmo Vaisanen 6dc83dd737 Lora: Remove duplicate LinkCheckReq MAC command
When application requests link check request with add_link_check_request()
it was added to MAC command buffer. Again when actual TX was started,
stack cherry-picked the request into MAC buffer again resulting in a duplicate
entry in the buffer.

Functionality is changed now so that add_link_check_request() does not add
the request into MAC command buffer but it is cherry-picked into the buffer when
TX is issued.
2018-08-27 13:45:21 +03:00
Teppo Järvelin ccb75d2771 Cellular: fixed CellularDevice unittests by doing proper initializations between tests. 2018-08-27 13:00:20 +03:00
Hasnain Virk 5cca2f2e76 Adding override for TX ch. selection in CN470 PHY
set_next_channel() is the base function provided by LoRaPHY class and should be overridden
by the PHYs who behave differently as compared to EU868 like PHY layers.
CN470 PHY had been missing such an override.
In addition to that we have provided a parameter "fsb-mask-china" that can be used to
enforce a custom frequency sub-band of operation as most of the base stations in the market
may not support all 96 channels. Such a strategy will help in rapid network acquisition.
2018-08-27 12:50:09 +03:00
Kimmo Vaisanen fdff9f0f5d Lora: Improve description of callback methods
Users often use "show declaration" (or similar) in their IDE to see descriptions of callback
methods so the function descriptions should be placed close to function declaration itself.
2018-08-27 12:37:29 +03:00
Martin Kojtal 928f90a7d5
Merge pull request #7773 from davidsaada/david_fix_init_ref_count
Add some logic related to initialization to various block devices
2018-08-27 10:38:15 +02:00
Martin Kojtal b4d5e24ca2
Merge pull request #7802 from hasnainvirk/pipeline_br
LoRaWAN: Custom FSB selection in US and Australian regions
2018-08-27 10:27:02 +02:00
Przemyslaw Stekiel e7b8e303ef Fix usage of `Mutex::unlock()` function - ignore returned value. 2018-08-27 08:50:00 +02:00
Przemyslaw Stekiel 8482cdc70f Fix usage of `Mutex::lock()` function - ignore returned value. 2018-08-27 08:48:58 +02:00
Cruz Monrreal 2f8e679183
Merge pull request #7592 from orenc17/remove_uvisor
Remove uVisor from mbed-os
2018-08-25 19:52:24 -05:00
Cruz Monrreal 02c03204a6
Merge pull request #7714 from brianesquilona/feature_bootloader
Add BOOTLOADER feature
2018-08-24 19:30:21 -05:00
Martin Kojtal 3065e2fce1
Merge pull request #7854 from deepakvenugopal/master
Nanostack patch release for Mbed OS 5.10
2018-08-24 14:46:42 +02:00
Hasnain Virk 9b2507d71a Adding helpers for Channel mask manipulation
A few protected member functions are introduced in LoRaPHY class
that help manipulate channel masks in various ways.
2018-08-24 15:32:13 +03:00
Hasnain Virk 8f0bb07390 Removing US915Hybrid PHY
This phy implementation was just to support a single sub-band in US region.
As we have decided to make FSBs configurable, we do not need this class anymore.
2018-08-24 15:32:12 +03:00
Hasnain Virk dc56a06646 Enabling FSB support in AU915 PHY
Just like US915 PHY, user can define a custom FSB mask for AU915 PHY.
This helps deployments where base stations do not portray full feature
channel sets and choose to stick with sub-bands.
2018-08-24 15:31:53 +03:00
Hasnain Virk 207ae2dedf Adding FSB selection feature for US915 PHY
User can now define a custom frequency sub-band for the US915 PHY.
FSB_Usage.txt defines how this parameter will be configured.
2018-08-24 15:31:53 +03:00
Ari Parkkila 1eb1fabad0 Cellular: Allow cellular modules to override network registration mode 2018-08-24 04:27:49 -07:00
Martin Kojtal 781573a0b2
Merge pull request #7839 from kivaisan/change_loramac_internal_methods_as_private
Lora: Change visibility of LoRaMac internal methods as private
2018-08-24 13:04:56 +02:00
paul-szczepanek-arm 657fc45a3c updated porting guide 2018-08-24 11:30:04 +01:00
Juha Ylinen b8b39ac3ab netsocket: Fix compiler warning
[Warning] InternetSocket.h@237,10: 'InternetSocket::_factory_allocated' will be initialized after [-Wreorder]
[Warning] InternetSocket.h@236,23:   'volatile unsigned int InternetSocket::_pending' [-Wreorder]
[Warning] InternetSocket.cpp@22,1:   when initialized here [-Wreorder]
2018-08-24 13:26:53 +03:00
paul-szczepanek-arm f36e58b039 update readme 2018-08-24 11:14:03 +01:00
paul-szczepanek-arm 1d2ab42d27 replace libraries with sources 2018-08-24 11:14:03 +01:00
Martin Kojtal 582b414ea2
Merge pull request #7840 from mirelachirica/wise_1570_greentea_tests
WISE_1570 greentea tests
2018-08-24 11:31:44 +02:00
Martin Kojtal 871d7e7361
Merge pull request #7730 from davidsaada/david_stack_stats_fail_fix
When stack stats enabled, prevent exceptions if memory allocations fail
2018-08-24 11:31:24 +02:00
Martin Kojtal 70814d6185
Merge pull request #7417 from pan-/improve-cordio-hci-doc
Cordio Documentation: Explain how to tests and what tools are available.
2018-08-24 09:52:21 +02:00
Ari Parkkila 4b223b6ff2 Cellular: Make AT_CellularStack socket array multi-thread safe 2018-08-24 00:21:26 -07:00
Brian Esquilona 7f7290e711 Update: 1. moved the binaries to specific target folders 2. Changed the license to PBL 2018-08-23 17:20:08 -05:00
Cruz Monrreal f7a731544c
Merge pull request #7816 from kivaisan/option_to_disabled_join_duty_cycle
Lora: Refactor duty-cycle configuration and introduce config for JOIN request
2018-08-23 10:05:44 -05:00
Ari Parkkila d208706fd6 Cellular: Support for GPRS dial-up 2018-08-23 02:37:47 -07:00
Martin Kojtal 603c4f930e
Merge pull request #7851 from geky/fix-littlefs-mount-cleanup
littlefs: Fixed issue with cleanup in mount function on error
2018-08-23 11:00:06 +02:00
Andres Amaya Garcia d7519565d2 Disable MBEDTLS_HAVE_DATE_TIME as ARMCC does not support gmtime 2018-08-22 22:54:43 +01:00
Oren Cohen 787317b7eb Remove uVisor from mbed-os 2018-08-22 16:36:59 +03:00
Martin Kojtal f5fb3c1911
Merge pull request #7739 from anttiylitokola/master
Update mbed-coap to version 4.6.1
2018-08-22 14:06:39 +02:00
Martin Kojtal 81f5decf8f
Merge pull request #7785 from kivaisan/fix_join_accept_failure_handling
Lora: Fix join-response failure handling
2018-08-22 14:05:24 +02:00
Mirela Chirica 9ef2d0d5ca Cellular: Fix information greentea tests for BC95 modem 2018-08-22 14:41:31 +03:00
Mirela Chirica 8db370c642 Cellular: Fix sim greentea tests for BC95 modem 2018-08-22 14:41:30 +03:00
Mirela Chirica c0b8a113b1 Cellular: Fix network greentea tests for BC95 modem 2018-08-22 14:40:22 +03:00
Mirela Chirica b5d68b546a Cellular: In LTE mode last PDP context cannot be deactivated 2018-08-22 14:38:18 +03:00
Deepak Venugopal 8c94411882 Merge commit '94f82102284f73721f685ec9ae535aef815e0d69'
* commit '94f82102284f73721f685ec9ae535aef815e0d69':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from 7963594..2535a6c
2018-08-22 10:52:10 +03:00
Christopher Haster 475cc6bcba littlefs: Added test for several mounting conditions 2018-08-21 17:59:52 -05:00
Christopher Haster cc1bad90a7 littlefs: Fixed issue with cleanup in mount function on error
As a part of the v1.6 update, littlefs added proper handling for
cleaning up memory in the case of an error during mount. This took care
of a memory leak users were seeing. Ironically, it turns out the implementation
and user patterns in mbed-os was _relying_ on this memory leak to avoid a
double free in the same case of an error during mount.

The issue was that a failed mount would leave the LittleFileSystem class in a
state where it thought it was mounted, and later it would attempt to
unmount the filesystem. With the previous memory leak this would be
"ok", and the leaked memory would be freed. But with the fix in v1.6,
no memory is leaked, and the incorrect free triggers a hard fault.

Fixed to clean up state properly on failed mounts.
2018-08-21 17:23:32 -05:00
Cruz Monrreal b53a9ea4c0
Merge pull request #7780 from artokin/nsrc510_p1
Rename nanostack configuration (.cfg) files
2018-08-21 10:21:15 -05:00
Cruz Monrreal 36ee9b98d6
Merge pull request #7767 from kivaisan/fix_tx_error_if_corrupter_msg_received
Lora: Fix TX_ERROR event if corrupted msg is received for CONFIRMED request
2018-08-21 10:20:23 -05:00
Cruz Monrreal 17a525c487
Merge pull request #7619 from u-blox/cellular_ublox_udp_tcp_imp
UBLOX cellular api's for UDP and TCP
2018-08-21 10:12:47 -05:00
Brian Esquilona 4db8a106bf Added BOOTLOADER feature, copy bootloader binaries and LICENSE into mbed OS repository for supported targets 2018-08-21 10:09:28 -05:00
Cruz Monrreal 7c22dca302
Merge pull request #7831 from hasnainvirk/rx2_dr_default
LoRaWAN: Restoring default RX2 data rate
2018-08-21 09:59:21 -05:00
Cruz Monrreal d9367f88f8
Merge pull request #7832 from juhaylinen/fix-nanostack-setsockoptions
Nanostack: Fix return code for unsupported socket options
2018-08-21 09:58:59 -05:00
Cruz Monrreal 5c50eadc1b
Merge pull request #7826 from SiliconLabs/fix-lwip-gg11
Fix stack size for LwIP on EFM32GG11
2018-08-21 09:55:48 -05:00
Cruz Monrreal bf26cbf330
Merge pull request #7807 from hasnainvirk/warning_fix
Compiler warning: unused variable in LoRaMac.h
2018-08-21 09:53:26 -05:00
Cruz Monrreal cd0126ae29
Merge pull request #7768 from jarvte/document_all_cellular_errcodes
Cellular: Document all possible error codes for cellular API.
2018-08-21 09:42:55 -05:00
Cruz Monrreal 08afaf2f85
Merge pull request #7770 from kivaisan/fix_rejoin_with_parameters
LoRa: Fix MAC initialization for connection with parameters
2018-08-21 09:42:16 -05:00
Cruz Monrreal c10ad7f544
Merge pull request #7212 from davidsaada/david_flashiap_test_small_flash
FlashIAP & NVStore tests: Skip test if overwriting code in flash
2018-08-21 09:41:51 -05:00
David Saada 6f6ea14720 Add some logic related to initialization to various block devices
- Add an initialization flag on which BD actions depend (fail if uninitialized).
- Fix behavior of init reference count if first initialization fails
2018-08-21 16:52:32 +03:00
Kimmo Vaisanen 223e6a27d8 Lora: Change visibility of LoRaMac internal methods as private
Some LoRaMac methods were defined as public even though there were used only
internally.

Also removed definition of some methods which were not even implemented nor used.
2018-08-21 12:08:12 +03:00
Amanda Butler 9f5a71a7bb
Copy edit CellularSMS.h
Copy edit file for parallelism, consistent capitalization and minor grammar nits.
2018-08-20 15:41:25 -05:00
Amanda Butler 23da904f8e
Copy edit CellularSIM.h
Copy edit for parallelism, and fix typo and capitalization from before these changes.
2018-08-20 15:36:37 -05:00
Amanda Butler 14e1745ec6
Copy edit CellularPower.h
Copy edit file for parallelism, and fix typo
2018-08-20 15:32:40 -05:00
Amanda Butler 9d4bb83cc6
Copy edit CellularNetwork.h
Copy edit file for parallelism and active voice.
2018-08-20 15:22:15 -05:00
Amanda Butler 7181afcf69
Copy edit CellularInformation.h
Copy edit file for parallelism and active voice.
2018-08-20 15:11:53 -05:00
Martin Kojtal e43f0201a7
Merge pull request #7681 from paul-szczepanek-arm/sc-ltk
BLE: store secure connections ltk in both local and peer entry
2018-08-20 18:01:31 +02:00
Juha Ylinen b8a7e25e84 Nanostack: Fix return code for unsupported socket options 2018-08-20 16:30:19 +03:00
Kimmo Vaisanen 2f15dae400 Lora: Refactor duty-cycle configuration and introduce config for JOIN request
- Duty cycle can be now only disabled with duty-cycle-on flag if region supports duty-cycle.
  If region does not support duty-cycle, this flag has no effect and duty cycle is always
  disabled.

- Also introduced a new flag (duty-cycle-on-join) to disable duty cycle for JOIN requests.
  This flag can be used for testing only and is used to speed up JOIN request testing as
  backoff times for JOIN request are really long (easily several minutes per attempt).
  This flag works in conjunction with main duty cycle setting. Disabling duty-cycle-on-join
  works only if duty-cycle-on is disabled (or region settings have duty cycle disabled).
2018-08-20 15:30:15 +03:00
Hasnain Virk 928c68cd7f Restoring default RX2 data rate
In #b0b0261 we changed the RX2 data rate to start from the highest data rate
available for the PHY rather than standard defined DR.
This introduced a regression, i.e., even when somebody changed the default RX2 data
rate to something usable for their environment, it didn't take any effect. As in
reset_mac_params() we override the data rate with max value possible for that PHY.
This commit restores the original behaviour and we always use standard defined
values.
2018-08-20 14:35:40 +03:00
Steven 1cfddb73b7 Fix stack size for LwIP on EFM32GG11
Typo in the config file made the LwIP stack way too small on EFM32GG11 STK3701 target. Additionally, the EMAC thread stack was slightly too small when debug printing is on.
2018-08-19 14:39:58 +02:00
Senthil Ramakrishnan 529af2b0f4 Changes to error code names 2018-08-17 23:13:59 -05:00
Senthil Ramakrishnan 7803a40fbd Update BLE error calls to use new error codes and mbed_error 2018-08-17 22:52:50 -05:00
Cruz Monrreal 871ee09c7a
Merge pull request #7667 from AriParkkila/cellular-detect
Cellular: Add CellularDevice::init_module API to be called at startup
2018-08-17 11:09:11 -05:00
Kevin Bracey e014104258 Allow ThreadInterface::device_eui64_get() before connect()
Perform necessary driver initialisation so that we can read
the EUI-64 before connecting.

Fixes #7391.
2018-08-17 16:41:23 +03:00
Kevin Bracey 3a238bd7bd Streamline Nanostack interface initialisation
Can unify quite a log of the setup here, and that would be useful to
allow initialisation other than in "connect".
2018-08-17 16:41:23 +03:00
Hasnain Virk a7cb32f83f unused variable warning in LoRaMac.h for release build
In release builds where MBED_ASSERT macro is syphoned off, we were hitting
an unused variable warning. To mitigate that we could direct the variable
used in MBED_ASSERT to void.
2018-08-17 11:19:34 +03:00
David Saada 876b5f755b FlashIAP & NVStore tests: Skip test if overwriting code in flash. 2018-08-16 21:59:45 +03:00
Cruz Monrreal 467265847a
Merge pull request #7670 from davidsaada/david_fix_nvstore_test_max_possible_keys
Check max possible keys in NVStore tests
2018-08-16 13:38:43 -05:00
Cruz Monrreal 7b8a13791b
Merge pull request #7740 from mirelachirica/missing_resp_stop
Cellular: Handle AT response stop in case IP address is missing from …
2018-08-16 09:06:05 -05:00
Cruz Monrreal 4ce0d9066e
Merge pull request #7719 from kivaisan/document_lorawan_return_values
Lora: Document all possible error codes for LoRaWANBase methods
2018-08-16 09:04:39 -05:00
Melinda Weed 4a9570b252 function signature line 2018-08-16 14:46:07 +03:00
Cruz Monrreal 6bb2f500cd
Merge pull request #7713 from geky/littlefs-v1.6
LittleFS: Update to version 1.6
2018-08-15 15:54:05 -05:00
mudassar-ublox f512668230 Replaced rx_avail with pending_bytes 2018-08-15 16:54:40 +05:00
Antti Yli-Tokola f78f5601e5 Update mbed-coap to version 4.6.1
Fixes error: IOTCLT-2900 - Blockwise handling leaking memory in some error cases
* Fix memory leak when clearing blockwise payload list
* Token was not freed from the list when closing down the library

Fix unused parameter - warning when blockwise is not used
2018-08-15 14:07:38 +03:00
mudassar-ublox f9aaee55dd Support added for async sockets 2018-08-15 14:52:57 +05:00
Antti Yli-Tokola 590dfeb1f9 Update mbed-coap to version 4.6.0
* Added new API which clears one item from the resend queue by token
2018-08-15 11:16:42 +03:00
Mirela Chirica 2c29852dba Cellular: Added getters for device and serial to EasyCellularConnection 2018-08-15 09:34:59 +03:00
Nir Sonnenschein 1d9c66af82
Merge pull request #7771 from KariHaapalehto/while1
Update mesh_system_heap_error_handler to use new error handler
2018-08-14 19:43:15 +03:00
Melinda Weed c1e154b1cc
removing \ 2018-08-14 16:26:30 +03:00
Ari Parkkila 5f8f47590f Cellular: Fixed AT+COPN 2018-08-14 04:47:58 -07:00
Melinda Weed 3b95202154 Final review and grammatical changes 2018-08-14 10:55:39 +03:00
Kimmo Vaisanen aa0c61b2b2 Lora: send and receive methods return LORAWAN_STATUS_NOT_INITIALIZED if not initialized
In order have a consistent return value for all methods in case of system is uninitialized
now also send and receive methods can return LORAWAN_STATUS_NOT_INITIALIZED.
2018-08-14 10:03:11 +03:00
Cruz Monrreal 7bdfc07954
Merge pull request #7750 from jarvte/fix_smsgreentea_tests
Cellular: Fixed sms greentea tests init
2018-08-13 20:01:36 -05:00
Cruz Monrreal 63e4ea7982
Merge pull request #7757 from ARMmbed/revert-7663-namespace_bd_update
Revert "Move BlockDevice classes inside mbed namespace"
2018-08-13 16:43:23 -05:00
Arto Kinnunen 0ee40296f0 Merge commit 'f292d7ad9ab5da89381d7f54de88b46df573c79d'
* commit 'f292d7ad9ab5da89381d7f54de88b46df573c79d':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from 4a188ea..7963594
2018-08-13 18:44:28 +03:00
Cruz Monrreal 70c3bdfffd
Merge pull request #7737 from deepakvenugopal/master
Nanostack release for Mbed OS 5.10
2018-08-13 09:13:58 -05:00
Kimmo Vaisanen efeeb095c5 Lora: Fix join-response failure handling
Thix commit fixes a bug where stack was resending join-accept already
after RX1 if received join-response was invalid.

Stack should wait for RX2 before resending the join-accept.
2018-08-13 16:11:33 +03:00
Teppo Järvelin 907fede1d7 Cellular: review fixes for doxygen changes of return values. 2018-08-13 15:09:14 +03:00
Kari Haapalehto de1d9c45b6 Update mesh_system_heap_error_handler to use new error codes and mbed_error call 2018-08-13 14:39:49 +03:00
Kimmo Vaisanen 76d01f5c71 LoRa: Fix MAC initialization for connection with parameters
LoRaMAC was not initialized properly if application called
connect(const lorawan_connect_t &connect);

This causes problems for example in case where application
first disconnects and then reconnects as counter values are not
initialized.
2018-08-13 12:41:01 +03:00
Teppo Järvelin 66fcbb9291 Cellular: Document all possible error codes for cellular API. 2018-08-13 09:45:25 +03:00
Martin Kojtal ff67a96e17
Revert "Move BlockDevice classes inside mbed namespace" 2018-08-10 14:49:51 +01:00
Teppo Järvelin a8faeac365 Cellular: Fixed sms greentea by removing uncommon character set setting 2018-08-10 14:00:42 +03:00
Teppo Järvelin 6a64ca9a69 Cellular: Fixed sms greentea tests init
Fixed sms greentea tests by making sure that device is ready to accept
AT commands before sending them.
2018-08-10 13:57:01 +03:00
Kimmo Vaisanen 07f4ca83f7 Lora: Fix TX_ERROR event if corrupted msg is received for CONFIRMED request
When node sends a CONFIRMED message and gateway sends ACK in RX1 window but the
message gets corrupted during the transmission (e.g. MIC fails), currently
our stack already checks for retransmission after RX1 and if retries attemps are
exhausted, TX_ERROR event is sent to application. This is wrong as MAC layer
will still attempt reception in RX2 window.

This commit fixes the behaviour so that TX_ERROR is not sent until RX2 window
has been closed.
2018-08-10 13:38:57 +03:00
Melinda Weed 1082724ac3 formatting changes 2018-08-10 12:53:28 +03:00
Melinda Weed db8f36945b Fixing colons and formatting 2018-08-10 11:17:32 +03:00
Melinda Weed 739bd6605d grammatical and stylistic fixes, more passive -> active 2018-08-10 11:01:38 +03:00
Melinda Weed f2c6d59c23 Further stylistic changes. Passive -> active 2018-08-10 09:56:42 +03:00
Amanda Butler 9e74fa5072
Copy edit LoRaWANBase.h
Copy edit file for minor grammar nits.
2018-08-09 15:51:11 -05:00
Cruz Monrreal 1a5b3e015e
Merge pull request #7725 from SenRamakri/sen_LwipMbedErrorUpdate
Update Lwip error calls to use new error codes and mbed_error call
2018-08-09 10:17:51 -05:00
Cruz Monrreal 2b92b260d0
Merge pull request #7688 from paul-szczepanek-arm/nrf-ltk-fix
BLE: call secure connections versions of ltk functions
2018-08-09 10:15:58 -05:00
Kimmo Vaisanen 57f89a2576 Lora: Reformate LoRaWANBase documentation
- Modified "user" to "you"
- Modified line length to ~100 characters.
2018-08-09 14:38:07 +03:00
Mirela Chirica c217a521f4 Cellular: Handle AT response stop in case IP address is missing from CGPADDR response 2018-08-09 11:41:19 +03:00
Amanda Butler 71341ec44e
Copy edit LoraWANBase.h
Copy edit file, mostly for consistent U.S. spelling and precise language.
2018-08-08 15:30:18 -05:00
Aashish chaddha 1cdef09698 ifndef some macros to allow overriding during compilation or be able to get some warnings during redefinition 2018-08-08 15:23:19 -05:00
paul-szczepanek-arm 6c9bd163b1 factored out whole ediv rand check 2018-08-08 17:02:43 +01:00
Senthil Ramakrishnan 01c46f086e Update Lwip error calls to use new error codes and mbed_error call 2018-08-08 10:16:13 -05:00
Deepak Venugopal b82566eeaa Merge commit 'bee5d601f841949ed8d2e6eecef648d09a3d1984'
* commit 'bee5d601f841949ed8d2e6eecef648d09a3d1984':
  Squashed 'features/nanostack/coap-service/' changes from 1cb994e..cbe656a
2018-08-08 16:56:19 +03:00
Deepak Venugopal edfeecdab8 Merge commit '7e1fb3c8420b4d7e43c740c3e779751c9eedb4fb'
* commit '7e1fb3c8420b4d7e43c740c3e779751c9eedb4fb':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from 82bbdcc..4a188ea
2018-08-08 16:51:52 +03:00
paul-szczepanek-arm cbf1776f14 MACRO the size of rand 2018-08-08 14:26:31 +01:00
paul-szczepanek-arm c1ce511dff factor out invalid rand function 2018-08-08 14:19:06 +01:00
David Saada cfe7df28c9 When stack stats enabled, prevent exceptions if memory allocations fail 2018-08-08 16:18:29 +03:00
Cruz Monrreal 1ab05c28f6
Merge pull request #7721 from orenc17/nvstore_owner_bug
Fix owner restoration and discard across nvstore init
2018-08-08 07:46:32 -05:00
Cruz Monrreal 509869dc81
Merge pull request #7663 from deepikabhavnani/namespace_bd_update
Move BlockDevice classes inside mbed namespace
2018-08-08 07:37:10 -05:00
Cruz Monrreal 4e0112c1b6
Merge pull request #7531 from TeemuKultala/sms_tests
Cellular: sms greentea tests
2018-08-08 07:36:36 -05:00
Oren Cohen b9fb265690 Fix owner restoration and discard across nvstore init 2018-08-07 17:56:22 +03:00
Cruz Monrreal 616e14a041
Merge pull request #7678 from juhaylinen/fix-nanostack-return-code
Nanostack: fix error code
2018-08-07 09:40:43 -05:00
deepikabhavnani 8f2f6f43c9 Add header file string.h required for memcpy/memset 2018-08-07 09:15:44 -05:00
Cruz Monrreal d84bf7fc43
Merge pull request #7692 from 0xc0170/fix_netsocket_style
netsocket: astyle fix
2018-08-07 09:15:19 -05:00
Cruz Monrreal 40ff622711
Merge pull request #7601 from hasnainvirk/abp_auto_fix
LoRaWAN: Reduced priority for automatic uplinks & higher data rate usage for connection establishment
2018-08-07 09:13:45 -05:00
Teemu Kultala df8252539b sms gt tests: rebase and astyle fix 2018-08-07 16:34:46 +03:00
Kimmo Vaisanen 17d02d949f Lora: Document all possible error codes for LoRaWANBase methods
Also duplicate documentation is removed from LoRaWANInterface which
inherits LoRaWANBase class.
2018-08-07 15:25:44 +03:00
Teemu Kultala 2b82746ae2 sms gt tests: changes after review 2018-08-07 14:10:57 +03:00
Teemu Kultala f9a90d82b0 sms gt tests 2018-08-07 14:10:57 +03:00
Christopher Haster 51123b218d Took advantage of include gaurds in littlefs 2018-08-06 14:13:51 -05:00
Christopher Haster ee83046a8e Removed redundant license in C++ littlefs directory
By default, all mbed-os software is under Apache 2.0 license. This is
the license followed by the littlefs C++ wrapper. Note this is not true
for the C implementation.
2018-08-06 14:12:22 -05:00
Christopher Haster 1505aea923 Merge commit 'fd729208' into HEAD 2018-08-06 13:57:46 -05:00
paul-szczepanek-arm 021c452823 replaced lesc field usage with ediv&rand check 2018-08-06 10:34:42 +01:00
TomoYamanaka e080561c9e Change override value of "tcp-mss" to max 1440 byte for IPV6 header size. 2018-08-06 18:12:37 +09:00
Martin Kojtal 88a7416941 nsapi: astyle block fix 2018-08-06 09:59:08 +01:00
deepikabhavnani e36cd00e93 Move BlockDevice classes inside mbed namespace. 2018-08-03 10:22:51 -05:00
Cruz Monrreal 546dafbadc
Merge pull request #7687 from paul-szczepanek-arm/fix-default-privacy
BLE: set correct default privacy configuration for centrals
2018-08-03 10:09:35 -05:00
paul-szczepanek-arm fbb926d77e call the correct ltk function when SC is used 2018-08-03 15:28:41 +01:00
Martin Kojtal b46aa6108d netsocket: astyle fix 2018-08-03 13:34:33 +01:00
Juha Ylinen 942b77255b Nanostack: fix error code
Return NSAPI_ERROR_NO_MEMORY if socket->open() fails
2018-08-03 12:13:21 +03:00
paul-szczepanek-arm 34d985a4ac set correct default privacy configuration for centrals 2018-08-03 09:54:46 +01:00
TomoYamanaka 1334448c16 Improve LWIP for Renesas
For speeding up of LWIP in RZ/A1, I added four new config processes in mbed_lib.json and lwipopts.h, overriden those values.
Since RZ/A1 incorporates a large memory, can actualize speeding up by running with the override value.
Also those new config processes will be helpful for more customize.
2018-08-03 15:04:43 +09:00
Cruz Monrreal 88316e87e7
Merge pull request #7660 from deepikabhavnani/namespace_fs_update
Remove inclusion of mbed.h and mbed namespace from filesystem code
2018-08-02 23:04:45 -05:00
Cruz Monrreal 4000e009c1
Merge pull request #7564 from wajahat-ublox/ublox_idle_mode
Cellular: Make ATHandler::cmd_start() virtual
2018-08-02 10:11:55 -05:00
Cruz Monrreal 952930c23f
Merge pull request #7495 from hasnainvirk/scheduling_failure_report
LoRaWAN: Reporting scheduling failures
2018-08-02 10:10:47 -05:00
paul-szczepanek-arm e92863a7be store secure connections ltk in both local and peer entry 2018-08-02 15:33:47 +01:00
Teppo Järvelin b761e7b5a3 Cellular: fixed greentea tests C027 and BG96. 2018-08-02 08:10:32 +03:00
Cruz Monrreal 35fb35a3b2
Merge pull request #7661 from EnsilicaEdd/fix_lorawan_incomplete_connect
Clear CONN_IN_PROGRESS flag after incomplete connect()
2018-08-01 21:36:59 -05:00
Cruz Monrreal 94d1b98d95
Merge pull request #7621 from 0xc0170/fix_cellular_style
cellular: astyle fix
2018-08-01 08:57:07 -05:00
Hasnain Virk b07c3e791f Reporting scheduling failures
It is quite possible that the user request for scheduling an uplink is deferred because of backoff or if it was a CONFIRMED message, a retry may take place on a different datarate and different channel.
We didn't have a hook for such deferred scheduling, telling the user whether the async rescheduling worked or not. This commit adds that capability and now we can tell the application if a scheduling failure took place after the original schedule request was accepted.
2018-08-01 16:28:00 +03:00
Martin Kojtal d65e614a14
Merge pull request #7648 from davidsaada/david_init_ref_count
Add init reference count to all block devices
2018-08-01 15:06:57 +02:00
Martin Kojtal d5f70f0d21
Merge pull request #7465 from davidsaada/david_tests_not_enough_memory
Skip a few tests if not enough memory can be allocated for them
2018-08-01 15:03:45 +02:00
Martin Kojtal 03ad9d63ec
Merge pull request #7620 from kivaisan/fix_cancel_sending
Lora: Fix cancel_sending
2018-08-01 15:00:04 +02:00
Wajahat Abbas dfc8ca91fa made destructor virtual as class has a virtual method now 2018-08-01 16:59:18 +05:00
Ari Parkkila c6ab45b6e1 Cellular: Added CellularDevice::init_module API to be called at startup 2018-08-01 04:52:10 -07:00
Ari Parkkila f059fb36bd Cellular: Updated coding guidelines 2018-08-01 04:50:14 -07:00
David Saada ec4e2ce09a Check max possible keys in NVStore tests. 2018-08-01 14:03:43 +03:00
Cruz Monrreal 63f62165d8
Merge pull request #7565 from OpenNuvoton/nuc472_emac_rst
Nuvoton: Fix NUC472 SD-Host HW IP reset definition
2018-07-31 11:44:01 -05:00
Cruz Monrreal f4a804fff1
Merge pull request #7653 from anttiylitokola/master
Update mbed-coap version to 4.5.1
2018-07-31 11:41:56 -05:00
David Saada 235f175cba Add init reference count to all block devices 2018-07-31 19:41:55 +03:00
Cruz Monrreal 4e0a076612
Merge pull request #7641 from hasnainvirk/abp_armc6_fix
LoRaWAN: Fixing incorrect NetID causing ABP Failures
2018-07-31 11:41:34 -05:00
deepikabhavnani 079b751df5 Remove inclusion of mbed.h and mbed namespace from filesystem code 2018-07-31 11:24:42 -05:00
Edd Inglis 88b2858af4 An incomplete connect (either abandoned with a disconnect() or just
failed of its own accord) would prevent futher connect()'s  due to the
CONN_IN_PROGRESS_FLAG remaining set.  This change clears that flag in
the two cases described.
2018-07-31 17:01:54 +01:00
Martin Kojtal 85ef7a008f cellular: fix tests that astyle breaks
Ignore TEST_GROUP by AStyle. As this uses macro, is not visible to formatter.
By default, it assumes it is a function and treats methods as blocks inside a
function (inlined {}). We ignore it.

We might just not format UNITTESTS in the future if we face similar issues
in the future.
2018-07-31 13:15:57 +01:00
mudassar-ublox 122e771063 socket_open function removed 2018-07-31 15:09:29 +05:00
Antti Yli-Tokola 20f647435a Update mbed-coap version to 4.5.1
Fixes error: IOTCLT-2883 - Blockwise observations not completing
2018-07-31 10:31:09 +03:00
cyliangtw 2fcbcf1789
Initialized return value of numaker_emac link-out 2018-07-31 12:01:43 +08:00
mudassar-ublox ffb4f926e9 Artistic style applied and updated power function 2018-07-30 19:41:02 +05:00
Hasnain Virk c7f3585e28 Clear distinction b/w class A & C data paths 2018-07-30 15:25:37 +03:00
Hasnain Virk d76f6c07e9 Making recv timing error and preamble length configurable
We had a bug especially in the reception path. Our recv window opening
delays were being calculated on the premise that the radio has to capture
5 preamble symbols out of 8 transmitted by the base station. However, in PHY
layer while setting radio rc settings, we were setting preamble length to be 8.
Preamble length register needs to be configured differently for Uplink and Downlink.
For uplink, we wish to transmit 8 preamble symbols whereas in the reception path we need
to receive 5 preamble symbols at least out of 8.
Alongwith that the maximum range of timing error may vary from platform to platform as it
is based upon the crystal in the chip. We have now made these parameters configurable and
have loaded them with the most optimal defaults.
2018-07-30 15:25:36 +03:00
Hasnain Virk 24c5c58d4f Mark an error in post processing if ack not recvd
If an ack is not received after maximum retries, we need to mark an error
which was missing from the post processing sequence.
2018-07-30 15:25:18 +03:00
Hasnain Virk 31aaea6749 [IOTCELL-1181] Fixing incorrect NetID causing ABP Failures
The issue rose up when using ARMC6. A test case didn't initialize NetID
parameter for ABP while using connect(params) API. NetID is the first 7 bits
of the Device Address. It makes sense to actually remove the net-id parameter
from ABP settings as the stack can deduce it from device address. However, the ABP
structure is exposed in public APIs, so we can't really do that at the moment.
Simpler fix is to move the mask that helps us to extract first 7 bits of the device address
is exposed in lorawan_types.h and the user can use it to deduce correct net-id.
2018-07-30 15:02:35 +03:00
deepikabhavnani feda35503b Remove debug print 2018-07-27 13:40:43 -05:00
Martin Kojtal cde18aa0bc cellular: astyle fix 2018-07-27 13:33:20 +01:00
Hasnain Virk 465fb447e5 AS923: Using LoRa modulation comatible DR as default
DR7 is used for FSK in AS932 region. As a default max DR, we should use a LoRa modulation
compatible data rate. Ofcourse if a device wishes to use FSK, it can set DR7 using set_data_rate() API
and turning off ADR, or an NS can configure a new channel for the device utilizing DR7.
2018-07-27 15:04:31 +03:00
Hasnain Virk b0b026126c [IOTCELL-1181] Using higher data rates to connect
The stack was trying to connect with default data rates which happened to be
the lowest data rates in a specific region. In the beginning device and NS do
not have agreed upon tx rx parameters and there can be synchronization issues.
When we use lower datarates, we may end up having a minute and a half long
transmissions that hnot only blocks the channel for a long time but also reduce
the chance of proper synch between device and NS. That's why we have decided to
begin with higher data rates and gradually decrease datarate if we do not hear
from the network server.
2018-07-27 15:04:31 +03:00
Hasnain Virk 36a4c557b7 [IOTCELL-1182] User TX priority over automatic uplinks
In the case when an automatic uplink was queued and the user do have something send,
we should give priority to user data instead od automatic uplink message.
2018-07-27 15:04:31 +03:00
Kimmo Vaisanen 668c6ab6fa Lora: Fix cancel_sending
This commit fixes some bugs from cancel_sending() method:
-  System crashed if method was called before initialization.
   Now LORAWAN_STATUS_NOT_INITIALIZED will be returned.
-  Method returned LORAWAN_STATUS_BUSY error when no send request was pending.
   LORAWAN_STATUS_OK should be returned in this case.
-  LORAWAN_STATUS_BUSY is now returned if backoff timer is just about to be
   dispatched (time_left returns 0).
2018-07-27 13:30:27 +03:00
mudassar-ublox a8abeccdac UBLOX cellular api's for UDP and TCP 2018-07-26 19:20:38 +05:00
Martin Kojtal b170e1c44d
Merge pull request #7587 from SeppoTakalo/fix-tpcserver-warning
Allow legacy TCPServer::accept() to override inherited Socket::accept()
2018-07-25 14:20:05 +02:00
Cruz Monrreal 0df9e15e4e
Merge pull request #7549 from TomoYamanaka/improve_ether
Revise heap and stack size for Ethernet of GR-PEACH
2018-07-24 11:47:45 -05:00
Seppo Takalo 96a90c2f2f Allow legacy TCPServer::accept() to override inherited Socket::accept() 2018-07-24 18:06:04 +03:00
cyliangtw 7ea02d95a3 Add error handling for getting null tx buffer 2018-07-20 18:23:54 +08:00
Wajahat Abbas fda096b4c4 Make ATHandler:cmd_start() virtual 2018-07-20 13:49:43 +05:00
Cruz Monrreal d91d3a6e4c
Merge pull request #7520 from hasnainvirk/cont_join_issue
LoRaWAN: Wrong return code for JoinRequest retry
2018-07-19 13:06:57 -05:00
TomoYamanaka f272472f2d Revise heap and stack size for Ethernet of GR-PEACH
I changed stack size because the deafult stack size may not be enough for
Ethernet of GR-PEACH(Cortex-A).
- Stack size is default size + 128 byte
In order to maximize the performance of Ethernet, I changed heap size to
below.
- Heap size is default size * 32 byte(send descriptor num is 16 and recv
descriptoer num is 16).
2018-07-19 16:12:32 +09:00
Cruz Monrreal e9e1ff997d
Merge pull request #7302 from OpenNuvoton/nuvoton_m2351_v1.1
Support Nuvoton's NUMAKER_PFM_M2351 target
2018-07-18 08:49:55 -05:00
Andres Amaya Garcia 5ced8e4fdf Integrate mbed OS RTC with mbed TLS
The integration is simply to define the macro MBEDTLS_HAVE_TIME_DATE
in the features/mbedtls/platform/inc/platform_mbed.h. The default
implementation of the mbedtls_time() function provided by mbed TLS is
sufficient to work with mbed OS because both use POSIX functions.
2018-07-16 20:39:43 +01:00
David Saada a224ca764a Skip a few tests if not enough memory can be allocated for them. 2018-07-16 17:21:21 +03:00
Cruz Monrreal be215a310d
Merge pull request #7448 from davidsaada/david_unity_test_skip
Unity: Add macros for test skipping.
2018-07-16 09:06:52 -05:00
Hasnain Virk 4a4f8de6f2 LoRaWAN: Wrong return code for JoinRequest retry
51f92b0efd introduced
handling for connection attempts while a connection was already underway or have been
completed. Unfortunately a similar check slipped through and the stack was not able to continue
sending join requests if an error happened.
2018-07-16 16:28:52 +03:00
Cruz Monrreal 602b0cea09
Merge pull request #7079 from SiliconLabs/feature/EFM32GG11-OS5.9
Add support for EFM32GG11
2018-07-13 17:33:34 -05:00
Cruz Monrreal c5ba97fbe0
Merge pull request #7445 from hasnainvirk/issue_7230
LoRaWAN: Remedy for issue #7230
2018-07-13 11:48:13 -05:00
Cruz Monrreal a4117f65e2
Merge pull request #7318 from AriParkkila/cellular-max-packet-size
Cellular: Remove max_packet_size
2018-07-13 11:39:35 -05:00
Cruz Monrreal 4c1a89c6a7
Merge pull request #7459 from hasnainvirk/issue_7232_7432
LoRaWAN: FRMPayload size validity
2018-07-13 11:03:10 -05:00
Cruz Monrreal 68002155d3
Merge pull request #7107 from kjbracey-arm/ns-global-events
Add option to make Nanostack use global event queue
2018-07-12 10:06:03 -05:00
Hasnain Virk ed9048f79c Correcting unit for timeout
timeout unit should be ms not micro second.
2018-07-12 13:28:21 +03:00
Hasnain Virk 9a77b5d05f FRMPayload size validity
It was pointed out in #7432 and #7232 that the stack was comparing frame payload size
with the allowed payload size in a wrong manner in shcedule_tx().
We must strip the overhead from the frame before comparison.

We did have a similar check in prepare_ongoing_tx() API which would correctly analyse
the situation but a check was needed in schedule_tx() as well. The reason is that the
schedule_tx() API can be called automatically by the stack if the user intiated requested
was not promptly entertained because of duty cycle restriction. Now, the datarate can change
here (for CONFIRMED messages if the ack was not received after retries max out). That's why
a test for validity was needed.

We now perform a comparison using _ongoing_tx_message structure which contains the actual
FRMPayload size.

For proprietary type of messages only MHDR and Port field is used so we shouldn't add MAC commands
and other overhead into them.

In order to have consistent frame overhead, we have opted to always include Port field in the
frame.
2018-07-12 13:28:15 +03:00
ccli8 43b98cf405 Fix Greentea test code with Cortex-M23/M33
Enlarge stack size of forked thread for Cortex-M23/M33 targets
2018-07-12 18:01:27 +08:00
Steven Cooreman da377c6ed3 Add EFM32GG11 Ethernet driver 2018-07-11 18:13:04 +02:00
Cruz Monrreal b290ff33f3
Merge pull request #7127 from davidsaada/david_nvstore_fix_test_alloc
NVStore tests: Tune memory consumption; stop threads greafully
2018-07-11 07:39:25 -05:00
David Saada 2b7d83652e Unity: Add macros for test skipping.
The TEST_SKIP and TEST_SKIP_UNLESS macros (w/ and w/o messages) allow the test
to skip the test case execution from the point the macro was called (without
failing the test).
2018-07-11 14:51:05 +03:00
Mirela Chirica ee41015304 Cellular: Fix socket_send unit test 2018-07-11 13:45:00 +03:00
Ari Parkkila 4d431cd1ae Cellular: Removed max_packet_size 2018-07-11 13:11:47 +03:00
Cruz Monrreal 3f742c9b73
Merge pull request #7430 from kivaisan/user_constructed_phy_v2
Lora: Add support for runtime PHY selection
2018-07-10 22:11:21 -05:00
Mirela Chirica 7de9770f0c Cellular: More unit tests for ATHandler's read routines 2018-07-10 15:09:09 +03:00
Mirela Chirica aff55462f5 Cellular: Fix for ATHandler's read string and hexstring NULL termination 2018-07-10 15:09:09 +03:00
Hasnain Virk f0844b4cfc Streamlining connect() API with posix like retcodes
For ABP: First call to connect() or connect(params) will return LORAWAN_STATUS_OK
         and a CONNECTED event will be sent. Any subsequent call will return
         LORAWAN_STATUS_ALREADY_CONNECTED (posix EISCONN) and no event is generated.

FOR OTAA: First call to connect() or connect(params) will return LORAWAN_STATUS_CONNECT_IN_PROGRESS
          and a CONNECTED event will be sent whenever the JoinAccept is received. If the application
          calls connect again before receiving the CONNECTED event, LORAWAN_STATUS_BUSY will be returned.
          After the CONNECTED event is dispatched, any subsequent call to connect() or connect(params) API
          will be returned with LORWAN_STATUS_ALREADY_CONNECTED.

No new parameters are accepted after the first call. The application must disconnect before making
a connect() call with new parameters.
2018-07-10 13:31:50 +03:00
Cruz Monrreal 8f43223646
Merge pull request #7412 from bmcdonnell-ionx/bugfix-fatfs-dir-list-when-full
apply FatFs 0.13b hotfix - fix readdir() never terminates when dir is full
2018-07-09 10:17:12 -05:00
Melinda Weed bae4c89d0f Remove shall, whole lotta other changes. Not done yet. 2018-07-09 15:06:11 +03:00
Hasnain Virk 24db1c81ec Updating docs
API documentation is updated to clear how the connection related return codes will
work from now on.
2018-07-09 13:00:01 +03:00
Hasnain Virk 51f92b0efd LoRaWAN: Handling re-joining when already Joined
This is a remedy for the issue #7230.
While the device is joining, LORAWAN_STATUS_CONNECT_IN_PROGRESS is returned.
However, if the device is already joined, we will return LORAWAN_STATUS_ALREADY_CONNECTED.
2018-07-09 12:59:54 +03:00
Kevin Bracey 229dfe5ce2 Add Apache licenses to ns_hal files 2018-07-09 12:58:39 +03:00
Kevin Bracey 8ad3e47a7e Add option to make Nanostack use global event queue 2018-07-09 12:58:38 +03:00
Kimmo Vaisanen 0397b0b292 Lora: Support user provided LoRaPHY object
To support custom PHY object, a new LoRaWANInterface constructor was
added.
2018-07-06 15:11:10 +03:00
Kimmo Vaisanen 50004ca89a Lora: Add initialize() method to set LoRaWANTimeHandler class for phy
Instead of giving LoRaWANTimeHandler object as parameter for constructor,
object is now given via own initialize() method.

This change is needed for future refactoring where application can give own
PHY object for LoRa stack.
2018-07-06 10:04:44 +03:00
Cruz Monrreal 93233c4f5d
Merge pull request #7364 from 0xc0170/fix_storage_rtos
Fix storage rtos types - remove including internal header file
2018-07-05 14:29:46 -05:00
Cruz Monrreal cec30ae4cb
Merge pull request #7414 from mikaleppanen/nano_heap_stats_conf
Added json options for nanostack heap statictics
2018-07-05 10:42:58 -05:00
Cruz Monrreal 87b3faeff0
Merge pull request #7399 from hasnainvirk/bug_fix_recv_window
Bug fix for receive windows
2018-07-05 10:40:51 -05:00
Vincent Coubard 7a8cc0243f Cordio Documentation: Explain how to tests and what tools are available. 2018-07-04 12:46:41 +01:00
Mika Leppänen 46bcbf2a28 Added json options for nanostack heap statictics
Added configuration options to mbed-mesh-api mbed_lib.json to enable
nanostack nsdynmemLIB heap statistics.
2018-07-04 10:35:35 +03:00
Brendan McDonnell efc03293dd FatFs 0.13b hotfix - fix readdir() never terminates when dir is full.
http://elm-chan.org/fsw/ff/patches.html
http://elm-chan.org/fsw/ff/ff13b_p1.diff
https://github.com/ARMmbed/mbed-os/issues/5780
2018-07-03 17:03:35 -04:00
Cruz Monrreal b50f09d57d
Merge pull request #7384 from OpenNuvoton/nuvoton_fix_mbr_memleak
Fix memory leakage with MBR on exiting error path
2018-07-03 07:37:43 -05:00
Hasnain Virk bf78e264c8 Bug fix for receive windows
In rx_config(params) API we shouldn't check for radio state as radio may never get
idle for a class C device. That check made sense only for class A. As the PHY layer
have no conecpt of receive windows which is a MAC layer construct, we should remove the
state check.
The API will be changed later to void rx_config(params).

In addition to that another bug is fixed in the open_rx2_windows() API. We should set the rx slot
first before instantiating a test based on its value.
2018-07-02 18:42:21 +03:00
Martin Kojtal 226e799d5b
Merge pull request #7389 from artokin/update_libservice
Update nsdynmemlib in frameworks/nanostack-libservice
2018-07-02 17:32:23 +02:00
Martin Kojtal 20adbf0c05
Merge pull request #7239 from TeroJaasko/let_config_remove_dns_cache_code
netsocket: dns: make dns-cache-size:0 remove whole DNS cache code
2018-07-02 17:26:46 +02:00
Martin Kojtal 3ee8f3214f
Merge pull request #7348 from hasnainvirk/doc_fix
LoRaWAN: Correcting doxygen
2018-07-02 17:24:52 +02:00
Arto Kinnunen 3d5010de12 Merge commit 'a184ff592b547f153aa14c99329f65fd18515b0d'
* commit 'a184ff592b547f153aa14c99329f65fd18515b0d':
  Squashed 'features/frameworks/nanostack-libservice/' changes from ddd45db..2705b9b
2018-07-02 13:15:58 +03:00
ccli8 7cc1245308 Fix memory leakage with MBR on exiting error path 2018-07-02 11:29:29 +08:00
Cruz Monrreal 58b725be85
Merge pull request #7359 from u-blox/sim_pin_init
Cellular: EasyCellularConnection::connect doesn't have any check that "CellularConnectionFSM" object is created or not
2018-06-29 20:08:16 -05:00
Cruz Monrreal f10bb88b97
Merge pull request #7294 from jeromecoutant/PR_GREENTEA_STAT
Add CPU stats for greentea tests
2018-06-29 19:57:42 -05:00
Amanda Butler aa53ee6204
Copy edit LoRaWANBase.h
Copy edit for precise language and comma use.
2018-06-29 14:28:44 -05:00
Amanda Butler 563d742872
Copy edit LoRaWANinterface.h
Copy edit for precise language and comma use.
2018-06-29 14:27:45 -05:00
Tero Jääskö 2e89fa22a5 netsocket: dns: make dns-cache-size:0 remove whole DNS cache code
Setting ""nsapi.dns-cache-size": 0" still left some of the DNS
caching code in. Add crude #if to remove all of it.
This allows one to save 429 bytes of flash and 48 bytes of RAM on
ARMC5 builds.
2018-06-29 18:17:19 +03:00
David Saada 1b5b8390ea NVStore tests: Tune memory consumption; stop threads greafully
- Tune thread stack size in nvstore test using heap stats
- Stop threads gracefully instead of killing them (in multi-thread test)
2018-06-29 14:35:34 +03:00
Martin Kojtal 4d8baa7451 emac targets: fix thread cb type 2018-06-29 08:35:20 +01:00
Cruz Monrreal d06826b2a4
Merge pull request #7335 from hasnainvirk/recieve_api_change
LoRaWAN: Refactoring LoRaRadio::receive(uint32_t) API
2018-06-28 19:41:39 -05:00
Cruz Monrreal 34fd640955
Merge pull request #7344 from hasnainvirk/tx_timeout_fix
LoRaWAN: Fixing transport of fatal TX timeout event
2018-06-28 10:08:26 -05:00
Cruz Monrreal cb000ceeab
Merge pull request #7336 from SeppoTakalo/fix_udp_filtering
Fix connected UDPSocket filtering
2018-06-28 10:06:52 -05:00
Cruz Monrreal bf21bac52d
Merge pull request #7351 from jeromecoutant/PR_ASTYLE
STM32 files with MBED astyle rules
2018-06-28 10:06:03 -05:00
Martin Kojtal 82b490b0cf kinetis: fix rtos storage type for thread 2018-06-28 15:11:00 +01:00
Martin Kojtal 1188f4a0b9 lwip: fix rtx storage types 2018-06-28 14:40:00 +01:00
Martin Kojtal f2cc21d038 device key: add memset include 2018-06-28 14:17:15 +01:00
jeromecoutant 35c9ddc356 Add CPU stats for greentea tests 2018-06-28 10:54:58 +02:00
mudassar-ublox 1e150c96b5 Cellular: Fixed set_sim_pin method calling 2018-06-28 11:49:20 +05:00
Cruz Monrreal 719d8e0ea5
Merge pull request #7341 from jarvte/packet_domain_urc_for_disconnect_callback
Cellular: improved observing of disconnect for callbacks.
2018-06-27 18:44:06 -05:00
Cruz Monrreal d3641fd4a0
Merge pull request #7320 from anttiylitokola/master
Update mbed-coap to version 4.5.0
2018-06-27 18:43:23 -05:00
jeromecoutant 408209989e TARGET_STM USB astyle 2018-06-27 15:01:23 +02:00
jeromecoutant 6391b7f2fa TARGET_STM_EMAC astyle 2018-06-27 15:00:51 +02:00
jeromecoutant 057142167b TARGET_STM mbedtls astyle 2018-06-27 15:00:04 +02:00
Hasnain Virk ce1e210e4a Correcting doxygen
Use of MSG_FLAGS was updated in previous PRs but the doc was not updated
accordingly.
2018-06-27 15:25:22 +03:00
Hasnain Virk 7ce434b274 LoRaWAN: Fixing transport of fatal TX timeout event
This commit fixes the issue reported in #7285.
If the radio is unable to transmit, its a fatal error and can happen
both while joining or sending a normal packet. In the case of such
a catastrophy we ought to tell the application that this happened.

A fix for the radio driver will also be patched.
2018-06-27 11:41:30 +03:00
Teppo Järvelin 5ccfd9f83c Cellular: improved observing of disconnect for callbacks. 2018-06-27 09:34:09 +03:00
Cruz Monrreal 0132e7c1a7
Merge pull request #7273 from jarvte/update_cellular_unit_tests
Cellular: added unit tests for new API functions (sim, power, base, device).
2018-06-26 20:41:52 -05:00
Seppo Takalo f2c0c4e248 Fix connected UDPSocket filtering
Was dropping all packets from connected peer
2018-06-26 17:01:19 +03:00
Hasnain Virk 10c3019e06 Refactoring LoRaRadio::receive(uint32_t) API
receive(uint32_t) API in the LoRaRadio class (base class for the radio drivers) should
not take any argument as we decided to take hardware timers for RX timeout interrupts
instead of software timers. It is being refactored to receive(void).
This is an API change, but as it is not an application interface, we will not put a
deprecation notice. Only user of this API is our stack (LoRaPHY layer) which has been updated
accordingly.
Actual driver comes out of the tree and a PR is open there to update the drivers:
https://github.com/ARMmbed/mbed-semtech-lora-rf-drivers/pull/22

In addition to this an internal API belonging to LoRaPHY class is refactored.
set_rx_window(parameters) is refactored to handle_receive(void) which is more consistent with
handle_send().
2018-06-26 15:47:51 +03:00
Teppo Järvelin 9f68977fee Cellular: Rebase and fix tests as they got broken in rebase. 2018-06-26 09:14:15 +03:00
Teppo Järvelin 4bd4042101 Cellular: updated unit tests. 2018-06-26 09:08:26 +03:00
Teppo Järvelin f64c84b1b7 Cellular: review fixes for cellularinformation tests. 2018-06-26 09:05:46 +03:00
Teppo Järvelin 8624765c06 Cellular: added greentea tests for CellularInformation. 2018-06-26 09:05:46 +03:00
Teppo Järvelin f84862191c Cellular: added more CellularInformation unit tests. 2018-06-26 09:05:46 +03:00
Cruz Monrreal f3424da060
Merge pull request #7287 from SeppoTakalo/remove_feature_lwip
Remove FEATURE_LWIP
2018-06-25 11:23:15 -05:00
Martin Kojtal 8756183478
Merge pull request #7299 from ARMmbed/g-fix-mbr-invalid
MBR: Fix issue with MBR init asserting on bad partition size
2018-06-25 17:45:12 +02:00
Cruz Monrreal 24efa4c06e
Merge pull request #7192 from SeppoTakalo/socket-refactor
Create abstract Socket interface
2018-06-25 10:18:51 -05:00
Cruz Monrreal dd7555e9ed
Merge pull request #7243 from k-stachowiak/disable-mbedtls-xts-default
Disable XTS cipher mode by default when importing Mbed TLS
2018-06-25 10:13:21 -05:00
Cruz Monrreal 2e233a96d3
Merge pull request #7210 from pan-/fix-nordic-security-cancellation
Fix nordic security cancellation
2018-06-25 10:12:23 -05:00
Cruz Monrreal 335fd58a7c
Merge pull request #7269 from jarvte/add_cellular_network_tests
Cellular: add cellular network tests
2018-06-25 10:05:20 -05:00
Antti Yli-Tokola c887248544 Update mbed-coap to version 4.5.0
Fix error:  IIOTCLT-2769 - mbed-coap: extra response received after registration

Added own flag to enable blockwise support, without setting default blockwise
payload size. This allows to receive blockwise messages while still sending
without blockwise.

Fix CoAP request blockwise response handling
When request is sent, response can have blockwise option set. All requests must
be stored to the linked list.
2018-06-25 17:08:52 +03:00
Cruz Monrreal d160cc6cd0
Merge pull request #7284 from KariHaapalehto/wise1530_usi22_support
Add binary drivers for MTB_USI_WM_BN_BM_22 and MTB_ADV_WISE_1530
2018-06-22 10:16:16 -05:00
Cruz Monrreal d18aa9072f
Merge pull request #7262 from paul-szczepanek-arm/gap-params
BLE: Add setScanParams overload to the Gap API
2018-06-22 10:15:14 -05:00
Vincent Coubard 4b8fb0be78 Nordic BLE: Fix return value verification 2018-06-22 09:36:06 +01:00
Vincent Coubard b68e18cdb4 Nordi BLE: Fix formatting 2018-06-22 09:35:34 +01:00
Cruz Monrreal 85f66ca96f
Merge pull request #7275 from jarvte/fix_sim_null_when_used
Cellular: fixed defect where SIM interface was closed too early
2018-06-21 23:33:03 -05:00
Cruz Monrreal 34513f2a92
Merge pull request #7221 from pan-/cordio-port-test
Cordio: Add tests that validates a cordio port.
2018-06-21 23:30:39 -05:00
Christopher Haster 28a78308af
Fixed issue with MBR init asserting on bad partition size 2018-06-21 17:09:23 -05:00
Amanda Butler da6f2d958b
Copy edit CellularConnectionFSM.h
Copy edit for consistent tense and comma usage.
2018-06-21 11:12:08 -05:00
Kari Haapalehto 699811be72 Add binary drivers for MTB_USI_WM_BN_BM_22 and MTB_ADV_WISE_1530 2018-06-21 12:15:53 +03:00
Seppo Takalo c544ce0a3b Add deprecation warning for those who enable LWIP or NANOSTACK
This is dropped by linker so does not cause any RAM/ROM cost.
2018-06-21 11:00:00 +03:00
Seppo Takalo e4d1a9a85a Remove FEATURE_LWIP. The LwIP stack is enabled on all builds now
Leave the FEATURE_LWIP enabled in build scripts so that it does
not break any builds.

Removed 'feature_add: ["LWIP"]' on all targets.
2018-06-21 11:00:00 +03:00
Seppo Takalo adce2d9172 Remove deprecatd LwIP eth drivers 2018-06-21 10:28:50 +03:00
Vincent Coubard d2ecdb8900 Cordio BLE: Rewrite reset test strategy
The existing test was expecting that the acknowledgement of the reset command would be the first and only event receive. This assumption is false.

As a consequence, the new code parse all incoming packets and raise a flag in the following circumstances:
* a reset packet has been successfully received.
* RX stream is not synchronized
* The status of the reset command is an error.

Another test has been added that send a serie of reset commands.
2018-06-20 15:24:37 +01:00
Teppo Järvelin 1a60422b74 Cellular: fixed defect where SIM interface was closed too early causing crash with certain configurations. 2018-06-20 14:15:22 +03:00
Vincent Coubard 4f8a006f3b Cordio BLE: Document in test what fields are expected to be set after init. 2018-06-20 12:01:28 +01:00
Vincent Coubard 5b7f7aa77b Cordio BLE: Fix test failure when controller initialization failed. 2018-06-20 12:00:52 +01:00
Seppo Takalo 1ca9ccda73 Filter incoming UDP packets based on connected peer address. 2018-06-20 12:38:07 +03:00
Seppo Takalo e7cb4752fa Fix small issues from the review 2018-06-20 12:38:07 +03:00
Seppo Takalo 2b60e42756 Close Doxygen group at the end of file 2018-06-20 12:38:07 +03:00
Seppo Takalo 96ef8e345d Move string allocation to a point where get_ip_address() is called
This saves RAM/stack on typical socket usage where human readable
format is not exchanged so often.
2018-06-20 12:38:07 +03:00
Seppo Takalo 407b2f275d Move accept() to abstract socket class and implement in TCPSocket
Deprecate TCPServer in favor of just TCPSocket::accept()
2018-06-20 12:38:07 +03:00
Seppo Takalo cdbe43c0d5 Refactor Sockets by moving functions up into common base.
* Move IP Socket stuff to InternetSocket class which is inherited by TCP/UDP
* Implement sendto() and recvfrom() on TCP socket
* Implement connect() call on UDP
* Implement send() and recv() calls on UDP socket
2018-06-20 12:38:06 +03:00
paul-szczepanek-arm 399191fc9c reuse existing call 2018-06-20 08:24:26 +01:00
Teppo Järvelin 1fb4d2dfc9 Cellular: fixed unit tests after rebasing with master. 2018-06-20 09:08:51 +03:00
Teppo Järvelin 861867e3cc Cellular: Added network unit tests. 2018-06-20 08:28:00 +03:00
Teppo Järvelin 7efa041fcb Cellular: added greentea tests for CellularNetwork. 2018-06-20 08:28:00 +03:00
Cruz Monrreal e8005f6d72
Merge pull request #7206 from mikaleppanen/k64f_async_powerup
K64f non-blocking powerup
2018-06-19 21:49:37 -05:00
Cruz Monrreal ba5b5a3870
Merge pull request #7191 from hasnainvirk/precise_timing
LoRaWAN: Fine tuning timing for delays and receive windows
2018-06-19 09:48:52 -05:00
paul-szczepanek-arm 4b1ce49ee1 use sets to apply limits 2018-06-19 15:18:11 +01:00
Cruz Monrreal fcfe6e1c43
Merge pull request #7217 from AriParkkila/cellular-info-sim
Cellular: Add AT+CCID and AT+CGSN
2018-06-19 08:54:49 -05:00
Cruz Monrreal d1dc1e849e
Merge pull request #7146 from jarvte/add_cellular_sim_and_power_tests
Cellular: Added power and sim greentea and unit tests.
2018-06-19 08:46:51 -05:00
Cruz Monrreal 2bb686ff1e
Merge pull request #7245 from SeppoTakalo/fix-default-interface
Fix default interface selection by using correct macro names.
2018-06-19 08:46:28 -05:00
paul-szczepanek-arm 588e68bccf add setScanParams overload 2018-06-19 14:36:18 +01:00
Martin Kojtal 0658544cb6
Merge pull request #7207 from mikaleppanen/dns_singletons
Change DNS global class definitions to singletons
2018-06-19 14:14:21 +02:00
Seppo Takalo 384fc7e778 Fix typo: WifiInterface -> WiFiInterface and add missing return.
Default WiFiInterface did not even build. And when it was fixed to build,
it was always returning NULL.
2018-06-19 10:47:12 +03:00
Cruz Monrreal 94a06cef66
Merge pull request #7229 from mikaleppanen/stm_chksum_disable
Disabled STM ethernet driver hardware checksum calculation
2018-06-18 17:23:28 -05:00
Seppo Takalo 412f654c8d Fix default interface selection by using correct macro names.
Code was written using MBED_CONF_DEFAULT_* but the mbed_lib.json file
that created these values is prefixed with "nsapi" and therefore
final macros are MBED_CONF_NSAPI_DEFAULT_*
2018-06-18 18:59:43 +03:00
Cruz Monrreal 701d49d8eb
Merge pull request #7211 from pan-/ble-workaround-connections-param-update-request
Nordic BLE: Accept connection parameter update
2018-06-18 10:09:22 -05:00
Krzysztof Stachowiak 7b22ede77a Disable XTS cipher mode by default when importing Mbed TLS 2018-06-18 16:48:33 +02:00
Cruz Monrreal 74a75d5bb0
Merge pull request #7058 from davidsaada/david_exhaustible_bd_fix
Fix two issues in ExhaustibleBlockDevice
2018-06-15 10:03:54 -05:00
Ari Parkkila 7d006f6f6a Cellular: Target support for AT+CCID and AT+CGSN 2018-06-15 14:28:48 +03:00
Mika Leppänen 9b0cbe064d Disabled STM ethernet driver hardware checksum calculation
No need for driver level hardware IPv4/TCP/UDP/ICMP checksum insertion
since LWIP and nanostack handles those already.

Related to issue: https://github.com/ARMmbed/mbed-os/issues/7227
2018-06-15 14:24:05 +03:00
Anna Bridge 3e2e6a714a
Merge pull request #7195 from jarvte/fixing_easycellular_release_version
Cellular: Semaphore wasn't released in easycellular release build.
2018-06-15 11:13:34 +01:00
Mika Leppänen b7627e823b K64F, K66F: Update the ENET PHY driver
PHY init and autonegotation is split into own functions.
2018-06-15 10:41:31 +03:00
Teppo Järvelin f821b02468 Cellular: fixed unit tests after rebase with latest changes. 2018-06-15 09:51:16 +03:00
Teppo Järvelin 7e1b0480b0 Cellular: Added power and sim greentea and unit tests. 2018-06-15 09:03:08 +03:00
Vincent Coubard 14e229e00a Cordio: Add tests that validates a cordio port.
The first test focuse on the transport by testing that the reset sequence is
correctly sent to the controller and properly received.

The second test validates that the reset sequence fullfill the right state
of the stack and ensure that bluetooth initialization succeed.
2018-06-14 18:24:23 +01:00
Cruz Monrreal a588d15ab4
Merge pull request #7194 from mikaleppanen/lwip_debug_stack
Increased LWIP main worker thread stack size for debug builds
2018-06-14 11:01:47 -05:00
Cruz Monrreal baf563709a
Merge pull request #7090 from jorisa/usbserial-write-nonblocking
Add non-blocking write function for USBCDC
2018-06-14 10:20:26 -05:00
Cruz Monrreal ac107e955f
Merge pull request #6962 from jarvte/release_resources_cellular_statemachine
Cellular: release resources in state machine.
2018-06-14 10:19:12 -05:00
Cruz Monrreal 276588f9fa
Merge pull request #7098 from SeeedJP/feature-cellular-mux
[Wio 3G] Adding platform
2018-06-14 10:17:19 -05:00
Cruz Monrreal c82af3dbe9
Merge pull request #7102 from jarvte/adding_cellular_tests
Adding cellular tests
2018-06-14 10:16:58 -05:00
Cruz Monrreal c3e639aad2
Merge pull request #7123 from paul-szczepanek-arm/fix-generate-whitelist
BLE: check flags to make sure the IRK has been stored before retrieving it
2018-06-14 10:15:15 -05:00
Hasnain Virk d335f82440 Remaining style fixes 2018-06-14 14:52:46 +03:00
Hasnain Virk 27290bb12f Adding valid frequency check for RXParamSetup cmd
We must check for a valid value of a frequency being sent
by the network server.
2018-06-14 14:52:46 +03:00
Hasnain Virk ffb0698ce7 Adding port in trace & streamlining continuous RX2 2018-06-14 14:52:45 +03:00
Hasnain Virk eab2bad593 Queuing the automatic uplink
If the automatic uplink is sent directly the call-stack becomes larger than 1K
which may cause serious problems in debug builds. Just to have a respite between
RX and TX we queue an event for the automatic uplink rather than directly undergoing
an automatic uplink.
2018-06-14 14:52:38 +03:00
Ari Parkkila 44365bccd0 Cellular: Added AT+CCID and AT+CGSN 2018-06-14 13:47:17 +03:00
Vincent Coubard 92fa40b1c7 Nordic BLE: Accept connection parameter update
A peer device that sends a connection parameter update may get block if it doesn't receive a response.

This patch accept the peer request unconditionnally. At some point this event will be managed by the application.
2018-06-13 15:54:51 +01:00
Vincent Coubard 5237c3ec40 Nordic BLE:
Cancel pairing if the device fail to allocate the resources necessary for the pairing operation.
2018-06-13 15:11:13 +01:00
Vincent Coubard f0c3f14887 Nordic BLE: Fix pairing cancellation.
Depending on the role and the current state of the local device; pairing cancelation should be made with a call to a specific function. Normally the Nordic stack would reject invalid calls if the device is not in the correct state; therefore it was assumed that it was possible to detect the state from sd errors. Unfortunatelly this is not true with the latest softdevices as some calls succeed even if the device is not in the right state.

To solve that issue cancelation looks at the current state of the device first to select the right function that will trigger the pairing cancellation.

Note: the call to sd_ble_gap_authenticate was missing in the previous algorithm
2018-06-13 15:10:10 +01:00
Vincent Coubard 301e527af7 Nordic BLE: Store locally role for a given connection. 2018-06-13 15:03:43 +01:00
Vincent Coubard 5c7b8c8ea4 Nordic BLE: Add default parameter to get the local instance of nrF5xn 2018-06-13 15:02:45 +01:00
Vincent Coubard 8e7936d327 Nordic BLE: Improve return of nRF5xn::getGap.
Return the derived type instead of the abstract one. This is legal as C++ supports covariant returns.
2018-06-13 15:02:07 +01:00
Cruz Monrreal fff3564012
Merge pull request #7166 from paul-szczepanek-arm/fix-cancel-pairing
BLE: fix pairing for misconfigured devices (deny pairing correctly)
2018-06-13 08:45:46 -05:00
Mika Leppänen 9457bd13b0 Changed DNS global class definitions to singletons
This saves memory on platforms without network interface.
2018-06-13 15:50:22 +03:00
Mika Leppänen 48825aa847 Increased LWIP main worker thread stack size for debug builds
LWIP stack is configured to be 1200 as default. Without debug enabled,
maximum stack size used for asynchronous DNS operations is 880 bytes. With
debug enabled maximum used stack size is 1248. Added configuration
to LWIP to increase stack size by 25 percent when debug is enabled on build.
2018-06-13 10:34:14 +03:00
Mika Leppänen 5e8ed3364a Added delay to K64F/K66F ethernet TX when all descriptors are in use
Currently, if all TX descriptors are in use and IP stack calls K64F/K66F
ethernet driver link out, link out drops the packet. Added 10ms delay
to link out to wait for a descriptor to become available before dropping
the packet.
2018-06-13 10:02:13 +03:00
Mika Leppänen db672b36c5 Non-blocking K64F/K66F ethernet power up
Changed K64F/K66F power up to return without waiting for link up i.e. for
the ethernet cable to be connected. This is needed for non-blocking use
of driver e.g. for using the driver from event queue.
2018-06-13 09:53:32 +03:00
Teppo Järvelin 7e34349628 Cellular: Semaphore wasn't released in easycellular release build. 2018-06-12 16:04:39 +03:00
Hasnain Virk 828815c7e3 Adding precise timing for receive delays
RX1 and 2 delays needed to be more precise and aggregate tx time was
drifiting because of timing difference between actual tx interrupt and
our processing of that interrupt ever so slightly.

We now take a timestamp of the tx interrupt and take a time diff while
instantiating delay timers. The timestamp is then used to update the aggregate
tx time.

Two new methods are introduced in the LoRaMac class which provide current
timing and current receive slot. These functions are used by LoRaWANStack
for its processing.
2018-06-12 12:32:13 +03:00
Teppo Järvelin d9a99b0a45 Cellular: release resources in state machine. Made sure that athandler does not try process urc's after switch to data mode. 2018-06-12 09:01:03 +03:00
Cruz Monrreal ed9a1f1327
Merge pull request #7161 from kjbracey-arm/ppp-gateway
Correct PPPCellularInterface::get_gateway()
2018-06-11 22:11:18 -05:00
Cruz Monrreal af55378c26
Merge pull request #7182 from AriParkkila/cellular-greentea-fix
Cellular: Disable Greentea tracing to consume less memory
2018-06-11 21:28:02 -05:00
Cruz Monrreal 0eac433a66
Merge pull request #7119 from kjbracey-arm/nsapi-ip6string
NSAPI: Use IPv6 conversion routines from frameworks
2018-06-11 21:27:21 -05:00
Cruz Monrreal 12211178c3
Merge pull request #7179 from c1728p9/fix_unsupported_k64f
Fix USB on Kinetis devices
2018-06-11 16:46:13 -05:00
David Saada 4af2c9d483 Support erasing of more than one erase unit in the exhaustible block device 2018-06-11 19:40:35 +03:00
Cruz Monrreal 093a6066c2
Merge pull request #7158 from kjbracey-arm/thread-eui64
Add API to read Thread EUI-64
2018-06-11 10:21:22 -05:00
Cruz Monrreal 1b14351e28
Merge pull request #7084 from AriParkkila/cellular-debug
Cellular: Enable AT debug also when mbed-trace is disabled
2018-06-11 09:06:53 -05:00
Cruz Monrreal 5e8a0a853a
Merge pull request #7097 from TeemuKultala/random_port
cellular: random socket port number
2018-06-11 08:57:47 -05:00
Cruz Monrreal de99c0f3a3
Merge pull request #7160 from jarvte/ppp_lwip_disconnect_hangs
Fixed ppp_lwip_disconnect hangs when connection failure.
2018-06-11 08:50:27 -05:00
Cruz Monrreal 02e90ef469
Merge pull request #7163 from pan-/cordio-driver-hook
Cordio driver hook
2018-06-11 08:49:49 -05:00
Cruz Monrreal a78208166c
Merge pull request #7164 from davidsaada/david_fix_nvstore_readme_apis
Fix NVStore README file (changed APIs)
2018-06-11 08:47:39 -05:00
Cruz Monrreal b00a91d15b
Merge pull request #6938 from hasnainvirk/style_and_bug_fixes
LoRaWAN: Style and bug fixes
2018-06-11 08:46:52 -05:00
Cruz Monrreal 3206b81437
Merge pull request #6978 from OpenNuvoton/nuvoton_m23_tz_module
Support default tz_module in event loop thread for M23/M33
2018-06-11 08:44:21 -05:00
Cruz Monrreal 8c6a664380
Merge pull request #7086 from mikaleppanen/nxp_lpc17xx_emac
NXP lpc17xx emac driver
2018-06-11 08:43:43 -05:00
Cruz Monrreal ef86bf97b8
Merge pull request #7121 from kjbracey-arm/ns-emac-hardfault
Nanostack EMAC - avoid initialisation race
2018-06-11 08:42:03 -05:00
Cruz Monrreal 2ac81de533
Merge pull request #7141 from kjbracey-arm/kinetis-mem-conf
Kinetis EMAC: Make number of buffers configurable
2018-06-11 08:41:14 -05:00
Cruz Monrreal ddf5a1d8b8
Merge pull request #7147 from mikisch81/uvisor-fix
Upgrade uvisor to v0.31.1
2018-06-11 08:39:47 -05:00
Cruz Monrreal 084e747160
Merge pull request #7173 from kjbracey-arm/ns-init
Make Nanostack C++ constructor initialise Nanostack
2018-06-11 08:31:02 -05:00
Ari Parkkila 150a204e2b Cellular: Disable Greentea tracing to consume less memory 2018-06-11 12:57:26 +03:00
Yoshihiro TSUBOI 0751dd7c95 [Wio 3G] Changed suggested things
Removed context check from do_user_authentication.
2018-06-11 15:20:15 +09:00
Amanda Butler b983ca98cb
Copy edit README.md
Tweak bullet's phrasing to clarify meaning
2018-06-08 11:05:49 -05:00
Russ Butler 96d3667f20 Fix USB on Kinetis devices
Set correct SYSMPU register for proper USB operation.  This bug was
introduced when the SYSMPU register names and defines were updated
in the commit:
"K64F: Updated the SYSMPU SDK driver"
93f8cfed05
2018-06-08 10:56:09 -05:00
Yoshihiro TSUBOI 16e706ecd4 [Wio 3G] Changed suggested points
Changed accessibility cellular features member functions, fixed minor target issues
2018-06-08 20:13:58 +09:00
Kevin Bracey e06923c64a Make Nanostack C++ constructor initialise Nanostack
Nanostack object constructor didn't actually initialise Nanostack.
Nanostack initialisation was deferred until an interface was actually
attached to the stack, which generally happened at first interface
connect.

Not normally a problem, unless you're trying to make direct Nanostack
setup calls prior to connect - some applications do this, and were
relying on ThreadInterface::initialise to do Nanostack
initialisation.

Unfortunately in 5.9 ThreadInterface::initialise no longer does
initialise Nanostack immediately, because the mesh interfaces were
aligned and integrated with the Ethernet interfaces, which did
initialisation on connect().

Make the Nanostack object constructor initialise Nanostack (as the LWIP
constructor does for lwIP), so calling Nanostack::get_instance() is the
5.9 API for Nanostack initialisation.

For future work, APIs like ns_file_system_set_root_path should be
exposed as methods of Nanostack, so everything happens with a single
Nanostack::get_instance().file_system_set_root_path().
2018-06-08 13:00:58 +03:00
Teppo Järvelin b35dc6a582 Review fix:
- set ppp_active false if close fails in ppp disconnect.
- unset sigio in ppp disconnect
- take ownership of filehandle in CellularNetwork::disconnect even in case of failure
2018-06-08 12:29:50 +03:00
Martin Kojtal 73cfc7baea
Merge pull request #7135 from k-stachowiak/update-mbedtls-2.10.0-rc1
Update Mbed TLS to version 2.10.0
2018-06-08 10:18:06 +02:00
Cruz Monrreal fd6f3cd4a4
Merge pull request #7144 from k-stachowiak/add-cmac-to-mbedtls
Add configuration options to enable CMAC in mbedtls by default
2018-06-07 14:44:22 -05:00
paul-szczepanek-arm bd8572e20f missing return
function would potentially send a reject and accept at the same time
2018-06-07 17:18:08 +01:00
Cruz Monrreal e10a3b306d
Merge pull request #7120 from mikaleppanen/dns_fail_corr
Fixed DNS resolution in case all sendto operations fail
2018-06-07 10:13:03 -05:00
Cruz Monrreal bacf6a9dec
Merge pull request #6860 from andrewleech/nordic_ble_config
Nordic BLE: Allow configuration of softdevice parameters
2018-06-07 10:10:23 -05:00
David Saada 099b924b13 Fix NVStore README file (changed APIs) 2018-06-07 15:34:52 +03:00
Vincent Coubard 06d9aac14c Cordio BLE: Allow replacement of hci RX handler. 2018-06-07 12:30:34 +01:00
Vincent Coubard 569fd9ed30 Cordio BLE: Add hook to HCI driver and transport.
A friend class living in the namespace ble::vendor::cordio and named CordioHCITransportDriver can be added in applications requiring access to internal data of the HCI driver and HCI transport driver.

This is meant to be internal and not easily exploitable by application code.
2018-06-07 12:29:57 +01:00
Kevin Bracey 45e24d4682 Correct PPPCellularInterface::get_gateway()
Two cascading copy-paste errors stopped this working:

  * PPPCellularInterface::get_gateway() called
    nsapi_ppp_get_ip_address();
  * nsapi_ppp_get_gateway() called the interface's get_netmask().

First bug has always been there - second one was introduced in 5.9.

AT_CellularNetwork currently lacks calls to get both netmask and gateway
- this patch would be needed for that when added.
2018-06-07 14:28:19 +03:00
Teppo Järvelin dab4215a9a Fixed ppp disconnect hangs when connection failure. 2018-06-07 12:47:01 +03:00
Kevin Bracey fc5c2fa84b Add API to read Thread EUI-64
Previously get_mac_address on a ThreadInterface returned the EUI-64
reported by the radio driver. This was required for commissioning, but
was inconsistent with other interfaces, and the API concept.

5.9.0 inadvertently changed this so that get_mac_address returned the
actual MAC address used by the radio, which is a hash result of the
EUI-64 for Thread.

The original "return the EUI-64" form was somewhat faulty, as
get_mac_address would not return the EUI-64 set by set_device_eui64() or
another mechanism before connect() was called.

Rather than revert to old behaviour, add a new API to get the device
EUI-64 to ThreadInterface, alongside the existing set API.
2018-06-07 12:17:03 +03:00
Krzysztof Stachowiak 843b1a19e7 Update Mbed TLS after corrections for the import procedure 2018-06-07 10:25:21 +02:00
Krzysztof Stachowiak 7eeb694dd9 Update MbedTLS to 2.10.0 (from an RC) 2018-06-06 17:31:18 +02:00
Krzysztof Stachowiak 8c9a967ef2 Improve the documenting comment in a config adjustment script 2018-06-06 15:33:28 +02:00
Michael Schwarcz a5a1d1170e Upgrade uvisor to v0.31.1 2018-06-06 15:18:24 +03:00
Krzysztof Stachowiak 9c6a85a6e9 Add configuration options to enable CMAC in mbedtls by default 2018-06-06 13:36:28 +02:00
Mika Leppänen 97de145adf Added missing license to header of the file 2018-06-06 14:29:49 +03:00
Mika Leppänen 03541dfc2f Added UBLOX_C027/ARCH_PRO memory configurations 2018-06-06 14:29:49 +03:00
Mika Leppänen a8402256a3 Corrected TX buffer reclaim error
When all TX descriptors were reserved in a row so that TX buffer
reclaim interrupt did not happen during reservation sequence, after
the interrupt occurred, TX buffer reclaim did no longer free buffers.

This happened because when all descriptors were in use, last free
index pointed to consumed index.
2018-06-06 14:29:49 +03:00
Mika Leppänen a5a8b350ce Ported NXP LPCxx ethernet driver to unified EMAC 2018-06-06 14:29:49 +03:00
Kevin Bracey a8e8775aa9 Kinetis EMAC: Correct TX ring pointer array size
TX pointer array was using RX ring length in its declaration.
Wasted memory if RX ring > TX ring, as is the default, but would
be broken if RX ring < TX ring.
2018-06-06 13:30:01 +03:00
Kevin Bracey 30e68f3201 Kinetis EMAC: Make number of buffers configurable
16 RX buffers and 8 TX buffers is probably excessive. Nanostack
version of driver successfully used 4+4, and data pump should be
broadly equivalent.

This means that switching K64F devices from Nanostack to EMAC increases
base heap usage by 18K - observed in Nanostack border router builds.

Add a config option to make it possible to lower the number of buffers.
Defer consideration of lowering the default to later.
2018-06-06 13:30:01 +03:00
Krzysztof Stachowiak f85e3f6177 Update Mbed TLS do version 2.10.0-rc1 2018-06-06 09:13:06 +02:00
paul-szczepanek-arm 265132c5a8 check that flags have the IRK stored before retrieving it 2018-06-05 15:15:19 +01:00
Kevin Bracey 852445a364 Nanostack EMAC - avoid initialisation race
Hard fault was possible if packet reception occurred during
initialisation. Adjust start-up ordering and add NULL check to
avoid.
2018-06-05 17:02:34 +03:00
Kevin Bracey 6c6bcc3575 NSAPI: Use IPv6 conversion routines from frameworks
Share IPv6 conversion code with mbed_trace, Nanostack and
mbed client.

Output formatting is better, being conformant to RFC 5952.
2018-06-05 15:31:18 +03:00
Martin Kojtal ade3d0c77d
Merge pull request #7095 from yossi2le/device-key-fix-coverity-issues
Fixing some coverity issues.
2018-06-05 14:15:21 +02:00
Mika Leppänen 9ec1ec90d9 Fixed DNS resolution in case all sendto operations fail
DNS resolver now counts how many sendto operations are successful
during one DNS server attempt cycle (attempting to contact DNS
servers from 0 to last index, including stack specific ones). If all
socket sendto operations fail, DNS resolution is aborted.

If one or more are successful, DNS resolution is continued until
total network attempts count is reached or all sendto operations
fails during a cycle.
2018-06-05 14:29:48 +03:00
Teemu Kultala d3a46eb7cd more effective port randomisation 2018-06-05 13:25:59 +03:00
Cruz Monrreal 20a4412082
Merge pull request #7089 from paul-szczepanek-arm/fix-master
BLE fixes (SM whitelist creation, Nordic scatter file fix, missing TLS initialisation)
2018-06-04 10:44:54 -05:00
Cruz Monrreal d559ed6d0e
Merge pull request #7072 from kfnta/edit_uvisor_depr
Edit warning about FEATURE_UVISOR being deprecated
2018-06-04 10:41:29 -05:00
Cruz Monrreal 0ae41b1def
Merge pull request #7074 from RonEld/remove_redundant_libraries
Remove redundant Cryptocell libraries
2018-06-04 10:41:05 -05:00
Anna Bridge 2d0e5f04b1
Merge pull request #6022 from andrewleech/nrf_asserts_error
nrf5x: Enable asserts -> mbed_error
2018-06-04 12:24:58 +01:00
Ron Eldor c3b31bc500 Add Mbed TLS Platform module errors
1. Add error codes for platform setup \ teardown.
2. Reassign `reference_count` to 0 after terminating platform,
and remove condition for 0
2018-06-04 14:01:59 +03:00
Teppo Järvelin 9a3c3b531f Cellular: fixed unit tests to compile after rebasing to latest. 2018-06-04 13:27:50 +03:00
Ron Eldor ca94a49eff Add reference counter for platform context
1. Move the `mbedtls_platform_context` to be platform code, in `features/mbedtls/platfrom/`.
2. Add static refernce counter, to setup and teardown the platform code only once.
3. Adjust Cryptocell porting accordingly.
2018-06-04 10:38:49 +03:00
Teppo Järvelin 3311a6e456 Cellular: added more unit tests for CellularDevice. 2018-06-04 10:25:54 +03:00
Teppo Järvelin 2aa5c32aa4 Cellular: added greentea test for cellular device. 2018-06-04 10:25:54 +03:00
ytsuboi e5b8591818 [Wio 3G] Adding platform 2018-06-04 15:55:43 +09:00
Teemu Kultala b7bad77569 random socket port number 2018-06-04 09:53:34 +03:00
Cruz Monrreal 66e3409a37
Merge pull request #7082 from anttiylitokola/master
Update mbed-coap to version 4.4.4
2018-06-03 12:46:13 -05:00
Yossi Levy 607e2ec28f Fixing some coverity issues. 2018-06-03 17:34:52 +03:00
Cruz Monrreal 0aeb15037d
Merge pull request #7075 from donatieng/fix_cordio_h4_serial
BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver
2018-06-02 19:54:42 -05:00
Vincent Coubard 4d0126898c BLE Nordic: Initialize and teardown tls platform context 2018-06-01 17:12:49 +01:00
Joris Aerts 1fb57a3d38 Add non-blocking write function for USBCDC 2018-06-01 18:04:04 +02:00
paul-szczepanek-arm e534f3b997 fix erroneous assert 2018-06-01 15:57:51 +01:00
paul-szczepanek-arm ff7b13837f check for invalid param 2018-06-01 15:57:39 +01:00
paul-szczepanek-arm 3a2dc69f11 fix not updating size of array 2018-06-01 15:57:22 +01:00
Anna Bridge b5b306ed50
Merge pull request #7052 from mirelachirica/bc95_sock_id_fix
Cellular: BC95 socket creation to fail on missing socket id in the re…
2018-06-01 12:14:14 +01:00
Ari Parkkila 7482032989 Cellular: Enable AT debug also when mbed-trace is disabled 2018-06-01 14:07:27 +03:00
Kimmo Vaisanen 0f0b3be7e9 Lora: Check for valid ABP params
Check that ABP dev_addr and nwk_id is non-zero and keys are not null.
2018-06-01 12:41:16 +03:00
Hasnain Virk 493ae2bd91 dr_range bitfield should be unsigned integer
If the value is an integer, the 4th bit is used for sign, so you can store
values upto 7 only whereas the datarate values could go upto 15. That's why
we need to turn this to an unsigned integer so that the last bit can also be used.
2018-06-01 12:41:15 +03:00
Hasnain Virk 9ac7f21140 Style changes only
Travis astyle check pointed out some of the style mismatches in the code.
Not all of them are worth changing as they make the code unreadable and
some of them are semantically wrong.

So in this commit, we have attempted to pick the most important style
mismatches and rectify.
2018-06-01 12:41:09 +03:00
Hasnain Virk e438846c2d Moving missing public data structures
A few of the structures were missing from the storage space which is
visible topublic APIs. Suc structures are now being added.
2018-06-01 12:30:07 +03:00
Kimmo Vaisanen d3327c3f5a Lora: All API methods should check if stack has been initialized 2018-06-01 12:29:25 +03:00
Antti Yli-Tokola 7b1484fb11 Update mbed-coap to version 4.4.4
Fixes one error: IOTCLT-2638 Hardfault during reconnection retry with Thread
2018-06-01 10:04:10 +03:00
Andrew Leech bf313aa1db Move mbed_lib.json from targets folder to feature_ble folder
The functionality added all affects BLE features in use so this location is a better fit.
2018-06-01 13:37:16 +10:00
Andrew Leech ff5ca11253 Allow configuration (via defines) of some of the key settings for the NRF51 softdevice.
* CENTRAL_LINK_COUNT
* PERIPHERAL_LINK_COUNT
* gatts_enable_params.attr_tab_size
* gatts_enable_params.service_changed
* common_enable_params.vs_uuid_count

These settings control the range of functionality enabled in the softdevice as well as ram consumption.
In particular reducing these values is critical to enable usage of 16K nrf51 devices.
2018-06-01 13:23:01 +10:00
Donatien Garnier 5da5ef45c0 Cordio H4: Added some comments explaining the use of RawSerial as opposed to using Serial 2018-05-31 11:11:28 -05:00
Donatien Garnier 0cb86ded76 BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver 2018-05-31 10:28:45 -05:00
Ron Eldor 9049860b25 Remove redundant Cryptocell libraries
Remove additional redundant libraries, that were accidently added in merges
2018-05-31 18:15:25 +03:00
Oren Cohen a4f323c4a6
Update uvisor_deprecation.h 2018-05-31 16:56:44 +03:00
Oren Cohen 2cba4cc585 Edit warning about FEATURE_UVISOR being deprecated 2018-05-31 15:37:48 +03:00
Veijo Pesonen aafeef7401 gethostbyname won't accept empty name
Considers both versions - synchronous and asynchronous. Earlier the
underlying stack was trusted to do this check.
2018-05-30 12:07:07 +03:00
Cruz Monrreal 24cebbaec3
Merge pull request #7016 from mikaleppanen/async_dns_corr
Corrected asynchronous DNS functionality
2018-05-29 10:48:17 -05:00
Cruz Monrreal 0f41831afd
Merge pull request #7033 from AriParkkila/cellular-at-fix
Cellular: Fix AT URC handler not to dismiss incoming chars
2018-05-29 10:44:00 -05:00
Cruz Monrreal 7418260b78
Merge pull request #7014 from KariHaapalehto/interface_check
Add check for _interface
2018-05-29 10:42:19 -05:00
Cruz Monrreal 206cab97ac
Merge pull request #6965 from mirelachirica/fix_unittests
Cellular: Unit tests fixes
2018-05-29 10:37:35 -05:00
Cruz Monrreal 917fe08752
Merge pull request #6928 from jarvte/fix_cellular_connect_disconnect
Cellular: Fixed con-disc sequence can now be called multiple times.
2018-05-29 10:36:11 -05:00
Mirela Chirica 5c2262219d Cellular: BC95 socket creation to fail on missing socket id in the response 2018-05-29 17:05:16 +03:00
Martin Kojtal 5d8570be39
Merge pull request #7030 from kjbracey-arm/emac_ppp_fix
Fix lwIP PPP glue
2018-05-28 15:19:12 +02:00
Martin Kojtal 501a7b6949
Merge pull request #7009 from bulislaw/merge_feature_branches_for_5.9
Bring in improved HAL APIs to master
2018-05-28 12:31:14 +02:00
Ari Parkkila c8287e5470 Cellular: Fix AT URC handler not to dismiss incoming chars 2018-05-28 10:32:14 +03:00
Kevin Bracey cedbf72a3b Fix lwIP PPP glue
EMAC changes broke PPP glue - fix it up. In particular, PPP steals
the netif->state pointer, so we can't use it as a back pointer to
our LWIP::Interface.
2018-05-28 10:30:42 +03:00
Cruz Monrreal e3aa140aaa
Merge pull request #6981 from yogpan01/master
Remove ns_event_loop_thread_start() from NDInterface and ThreadInterface connect()
2018-05-25 16:51:04 -05:00
Cruz Monrreal 5709c04cae
Merge pull request #7019 from mikaleppanen/lwip_lpc_mem_conf
Made lwip memory configuration more specific for NXP targets
2018-05-25 12:47:29 -05:00
Bartek Szatkowski a92ff94904 Fix rebase error 2018-05-25 12:20:10 -05:00
Cruz Monrreal c0895cb832
Merge pull request #6910 from hasnainvirk/metadata
LoRaWAN: Adding acquisition of metadata, backoff and a cancel_send() API
2018-05-25 11:11:50 -05:00
Martin Kojtal 7031ab1c1f
Merge pull request #7015 from SeppoTakalo/fix_odin
Fix build for MBT_ODIN_W2 and MBED_CONNECT_ODIN when using WiFi
2018-05-25 16:29:54 +02:00
Cruz Monrreal 61eb0e170d
Merge pull request #7012 from ARMmbed/AnotherButler-patch-1
Enable DeviceKey class reference for Doxygen
2018-05-25 08:25:17 -05:00
Cruz Monrreal a348b4583d
Merge pull request #7000 from kfnta/uvisor_depr
Add warning about FEATURE_UVISOR being deprecated
2018-05-25 08:24:26 -05:00
Mika Leppänen 7a1703de23 Made lwip memory configuration more specific for NXP targets
There is a configuration problem with UBLOX_C027 cellular because of missing
LWIP memory configuration for the target.

Added configuration for LPC1768, LPC4088, LPC4088_DM targets and changed
NXP to more specific LPC546XX.
2018-05-25 12:48:35 +03:00
Kari Haapalehto 8540b1ea23 Add check for _interface 2018-05-25 12:16:00 +03:00
Mika Leppänen d648bf8477 Corrected asynchronous DNS functionality
- Set network stack to store event queue so that mbed::mbed_event_queue() call
  is not needed every time call_in() is called
- Added dns state variables and enum (states are: created, initiated and cancelled)
- Corrected DNS response handling so that if DNS server returns that host name is
  unknown the DNS query is not tried again
- Reorder mutexes in nsapi_dns_query_multiple_async()
- Created nsapi_dns_query_async_initiate_next() function to initiate the next
  DNS query from the queue after delete of previous query
- Added dsn_timer_running variable to supervise DNS timer start/stop
- Changed cancel function to only mark query as deleted and moved deletion
  to timer function. This allows to run socket close on DNS thread
- Added new nsapi error NSAPI_ERROR_TIMEOUT for DNS (and other) timeouts
2018-05-25 11:21:52 +03:00
Seppo Takalo f989f6838b Fix build for MBT_ODIN_W2 and MBED_CONNECT_ODIN when using WiFi
Odin WiFi driver was only supplied for EVK board.
These all are just the same module, so using the main target name
that all inherit.
2018-05-25 10:54:09 +03:00
Cruz Monrreal 25fb8e3cf0
Picking a deprecation warning and moving forward 2018-05-24 19:49:35 -05:00
Amanda Butler 44dc8624d5
Enable DeviceKey class reference for Doxygen
Add conditional, so Doxygen renders properly.
2018-05-24 18:59:12 -05:00
Cruz Monrreal 5ce26b1306
Merge pull request #6927 from AriParkkila/cellular-debug
Cellular: AT debugging improved
2018-05-24 12:35:06 -05:00
Cruz Monrreal 527f9a12fd
Merge pull request #6983 from SenRamakri/sen_ErrorHandling_Push2
Standardized Error Handling and Error Codes
2018-05-24 10:57:00 -05:00
Cruz Monrreal 791620c428
Merge pull request #6932 from paul-szczepanek-arm/security-manager-dev
BLE privacy, signing, persistent security database
2018-05-24 10:07:06 -05:00
Cruz Monrreal 06180e89f7
Merge pull request #6642 from yossi2le/yossi-device-key-driver
Device key implementation
2018-05-24 10:06:14 -05:00
Cruz Monrreal 2f86c152f0
Merge pull request #6794 from RonEld/cc310_porting
Cryptocell 310 support
2018-05-24 10:05:46 -05:00
Kevin Bracey 13dcef63e3
Merge pull request #6847 from ARMmbed/feature-emac
Merge feature-emac branch into master
2018-05-24 16:47:04 +03:00
Hasnain Virk 9973eb3e79 Stability improvements & CRYPTO_ERROR addition
General stability improvements are performed.
A flag is added if a Class C RX2 window is open.
We shouldn't open it again if its already opened.

TX_CRYPTO_ERROR is renamed to CRYPTO_ERROR.
Keeping TX_CRYPTO_ERROR for backwards compatibility.
2018-05-24 15:59:07 +03:00
Hasnain Virk 0feb0efb89 Adding checks for stack initialization
Metadata APIs should return an error if the stack is not initialized yet.
2018-05-24 15:54:32 +03:00
Hasnain Virk 3020d658bf Travis astyle corrections
The scope of style corrections is local to this PR only.
2018-05-24 15:54:32 +03:00
Hasnain Virk 2bc8e4e847 Adding ack expiry handling for class C
In Class C, rx timeout does not take place for RX2 windows, so if we have
not received anything, we would be retrying but if the no. of retries are
maxed out, and we have not recieved anything yet, we need a mechanism to
tell the upper layer that this has happened.
2018-05-24 15:54:32 +03:00
Hasnain Virk b0ce443f5b Doing away with rx_abort()
rx_abort() was sort of dead code as it was doing essentially nothing.
It might have actually meddled with the state machine if it was hit by
invoking on_ack_timeout_timer_event().

State machine and corresponding processors now take care of the ack timeout,
retries and all other bits, so we don't need abort_rx().
2018-05-24 15:54:32 +03:00
Hasnain Virk 375e1b711d Adding useful trace and setting no. of retries
MCPS confirmation should be filled with the current number of retries
if the ack is not recieved for a CONFIRMED message.

Ack retry number needs to be incremented after the retry is made not before
that.

A few traces are added at the crucial junctions of the code just to tally with
the conceptual flow for debug purposes.
2018-05-24 15:54:32 +03:00
Hasnain Virk 26b28f78af Adding ability to cancel outgoing transmission
Application can use cancel_sending() API to stop any outstanding, outgoing
transmission (a TX which is not already queued for transmission). This can
potentially enable use cases where the application could cancel a transmission
and go to sleep if the backoff period is long enough rather than waiting for
the transmission to happen.
2018-05-24 15:54:32 +03:00
Hasnain Virk 8363311c7a Adding acquisition of backoff time value
This API enables the application to get hold of remaining time after which
the transmission will take place. User can query the backoff time whenever
there is a packet in the TX pipe. If the event for the backoff expiry is
already queued, the stack does not provide backoff metadata.
2018-05-24 15:54:32 +03:00
Hasnain Virk 387f56c738 Adding acquisition of RX meta data
User can now inquire about any RX meta data available after a
successful reception.
2018-05-24 15:54:32 +03:00
Hasnain Virk 555d945a42 Adding acquisition of TX Meta-data
An API is added to fetch any meta-data available after a succesful
transmission. The stack will make the meta data available after the
TX interrupt is processed. User can get the tx meta data after receiving
TX_DONE event.
2018-05-24 15:54:32 +03:00
Danny Shavit aa38778a58 Add warning about FEATURE_UVISOR being deprecated 2018-05-24 13:46:30 +03:00
Martin Kojtal d8cb72a0a2
Merge pull request #6273 from bulislaw/update_cmsis_5.3
Update cmsis/rtx to version 5.3
2018-05-24 09:37:40 +02:00
Cruz Monrreal 863259e48b
Merge pull request #6960 from hasnainvirk/msg_flags
LoRaWAN: Message flags correction
2018-05-23 22:22:53 -05:00
Teppo Järvelin 03f50e6d89 Cellular: review fixes. 2018-05-23 22:02:01 +03:00
Senthil Ramakrishnan 5ef6728c08 Splitting MBED_ERROR macros to support ones with/without error value argument 2018-05-23 12:21:28 -05:00
Senthil Ramakrishnan 693a6c40bb Refactor error reporting 2018-05-23 12:21:11 -05:00
Senthil Ramakrishnan d4fe75731d Adding mbed prefixes to all macros and functions to avoid namespace conflicts 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan 147d9cac4e Test application/cases optimization for some low memory targets, macro changes and test fixes 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan 2e28dd95e1 Change set_error/set_error_fatal to warning/error, add itm support and other changes 2018-05-23 12:21:08 -05:00
Senthil Ramakrishnan 9041b475c6 Error handling/logging implementation and tests 2018-05-23 12:21:07 -05:00
Donatien Garnier f08ac2e9b2
Merge pull request #52 from pan-/fix-privacy-nrf52
Fix privacy nrf52
2018-05-23 11:50:28 -05:00
Vincent Coubard db4d14c89d BLE NRF52: Fix advertising filtering when no bonds are present. 2018-05-23 17:27:18 +01:00
Vincent Coubard ef208912a6 BLE NRF52: Report correct own address type for connection
The function that gets the address doesn't work when privacy is enabled; report own address as private resolvable.
2018-05-23 17:27:18 +01:00
Vincent Coubard 30dac7cd8c BLE NRF52: Fix identity address flag in connection request. 2018-05-23 17:27:07 +01:00
Vincent Coubard 1ba5a112f4 BLE: Fix wrong macro name for IAR 2018-05-23 17:11:26 +01:00
Cruz Monrreal eb9435b52e
Merge pull request #6772 from ARMmbed/g-littlefs-eilseq
littlefs: Map LFS_ERR_CORRUPT to EILSEQ
2018-05-23 10:12:19 -05:00
paul-szczepanek-arm de41355c5c Fix not processing all advertising reports if one is filtered out
filtering out individual reports instead of all
2018-05-23 14:24:54 +01:00
Paul Szczepanek f4b7f32793
Merge pull request #49 from pan-/fix-privacy-backward-compatibility
Fix privacy backward compatibility
2018-05-23 14:20:49 +01:00
Mirela Chirica 853c4c6dd1 Cellular: Added ENOTTY define in mbed_retarget stub 2018-05-23 12:31:17 +03:00
Asif Rizwan 657ac3f643 WIFI_EMAC class renamed to OdinWiFiEMAC, Formatting
Revert "in ODIN emac initialization required before connection"
2018-05-23 12:25:21 +03:00
Kevin Bracey 7e4eb5c24b LPC546XX: Correct Ethernet length calculations
Subtract 4 from the received packet length - the buffer contains the
CRC, which we shouldn't pass up.

Ensure we allocate receive buffers of a size corresponding to the
rounded-up size we tell the hardware - the hardware was overrunning the
allocation by a couple of bytes.
2018-05-23 12:25:21 +03:00
Mahesh Mahadevan fc0ce8cb72 Add memory configuration for LPC546XX
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:25:20 +03:00
Mahesh Mahadevan 91ac8356ba LPC546XX: Add ENET support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:25:20 +03:00
Asif Rizwan 0b14f1277e EMAC adaption added, updated ODIN drivers to v2.5.0 RC1 2018-05-23 12:25:18 +03:00
Mika Leppänen ede07217df Corrected lwip netif flags to be set before power up
This enables that link up status callback can be called inside
power up function.
2018-05-23 12:25:17 +03:00
Kevin Bracey f3ec0dacd5 Add NetworkInterface::get_default_instance()
Provide an initial framework to make it easier to find a default network
interface.
2018-05-23 12:25:17 +03:00
Mika Leppänen e481c5ef75 Added memory manager set to add_ethernet_interface() of test stack
This allows that EMAC memory manager can be used to allocate EMAC driver
memory already after the add_ethernet_interface() call.
2018-05-23 12:24:11 +03:00
Mika Leppänen 31b8f73de7 Changed mutexes, delete and DNS call in callback set
- Changed mutexes to platform mutexes
- Removed not needed null check from delete
- Changed nsapi_dns_call_in_set() to use call_in_callback_cb_t and
added prototype to header
2018-05-23 12:24:10 +03:00
Mika Leppänen c4424ff0a1 Corrected more defects
- Serialized the sending of multiple async DNS queries since limits on event
message box sizes
- Added timer function that supervises the total time used to make DNS query
and triggers socket timeouts
- Changed nsapi_error_t to new nsapi_value_or_error_t on interface headers
- Corrected wording of gethostbyname_async return values
- Clarified .json options
- Added a new data type for socket callback that can be used from interrupts
- Corrected variable limits to use INT32_MAX etc. defines
- Changed mallocs to new
- Optimized variable sizes on DNS_QUERY definition
2018-05-23 12:24:10 +03:00
Mika Leppänen 1c01f5dda4 Corrected defects
- Changed call_in/call methods of the stack to callback provided by the stack
- Specified what are limitations for operations that are made in callback
- Added pure virtual class DNS that defines DNS operations
- Added cancel operation and unique ID to DNS request used in cancel
- Added DNS configuration options to netsocket/mbed_lib.json for retries,
  response wait time and cache size
- Changed host name to use dynamic memory in DNS query list and cache,
  set maximum length for the name to 255 bytes.
- Added mutex to asynchronous DNS
- Reworked retries: there is now total retry count and a server specific count
- Ignores invalid incoming UDP socket messages (DNS header is not valid), and retries DNS query
- Reworked DNS module asynchronous operation functions
- Corrected other review issues (nothrow new, missing free, missing mutex unlock etc.)
2018-05-23 12:24:10 +03:00
Mika Leppänen b7e8400c2c Added non-blocking DNS functionality to network interface
- Added non-blocking DNS interface to network interface and
  network stack.
- Added caching of DNS replies.
- Added a network stack function to get DNS addresses from stack.
- Added call and call_in hooks to onboard network stack to
  allow calling functions from onboard stack context.
- Added support to call and call_in functions to LWIP and
  Nanostack.
- Disabled LWIP DNS translator with the exception of DNS
  address storage used in DNS address get.
2018-05-23 12:24:10 +03:00
TomoYamanaka bad530ab0d Implementation of unified EMAC driver for Renesas mbed boards
Implementation of unified EMAC driver for Renesas mbed boards

Based on the driver so far, Renesas implemented the emac driver for GR-PEACH and VK-RZ/A1H.
The mainly changes is below.
- Add the connection part with LWIP according to the unified emac specification.
- Add three new multicast functions(add, remove, set_all).

The Greentea test netsocket and emac test passed.
2018-05-23 12:24:09 +03:00
cyliangtw 7bfa362492 [M487/NUC472] Fix tx frame length and remove GPL license 2018-05-23 12:24:09 +03:00
cyliangtw 401f09c479 [M487/NUC472] Support DHCP & TCP sample, also remove legacy emac 2018-05-23 12:24:09 +03:00
cyliangtw 89209b6cd5 [M487/NUC472] Support new EMAC feature, built OK 2018-05-23 12:24:08 +03:00
Mahesh Mahadevan 82b2a27a1c Kinetis EMAC: Renamed K64F files to Kinetis
This driver is used by more SoC's than K64F

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mahesh Mahadevan 7bc4c0ec21 K64F, K66F: Update the SYSMPU implementation
Do not disable SYSMPU, instead add access for ENET bus master

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Mika Leppänen de72090d26 Changed STM emac driver to loop RX frame reading 2018-05-23 12:24:06 +03:00
Kevin Bracey 953f1b615a Add EMAC driver README.md with porting guide 2018-05-23 12:24:06 +03:00
Kevin Bracey fbd920777b Add extra labels for Freescale & STM EMAC drivers
Just checking "does the chip have an EMAC" doesn't work - there are
targets using those chips which do not have an Ethernet connector and
don't provide the necessary surrounding infrastructure (eg DISCO_F429ZI,
not providing the board emac config call, and HEXIWEAR not providing PHY
info).

Make the targets that actually do want EMAC define their own local
Freescale_EMAC and STM_EMAC labels, and move the drivers into
the corresponding TARGET_ directories, removing the #ifdefs.
2018-05-23 12:24:06 +03:00
Kevin Bracey d83dec9ea4 Stop drivers checking DEVICE_EMAC
Checking DEVICE_EMAC is problematic - particularly for the Odin W2 where
apps have been shutting this off to disable the Wi-fi interface.

Make drivers check a locally-relevant flag instead, pending new
thoughts on how to achieve application/test-relevant flagging for
XXX:get_default_instance() being provided by a system.

However that is achieved, drivers do require a flag set purely by the
target - they mustn't be tripped up by an add-on module providing itself
as the system's default EMAC.
2018-05-23 12:24:05 +03:00
Mika Leppänen 01b4d97cb4 Corrected STM eth driver flagging, memory allocation and thread init 2018-05-23 12:24:05 +03:00
Kevin Bracey 3c83c62ff7 Nanostack EMAC implementation
Make Nanostack an OnboardNetworkInterface, implementing
add_ethernet_interface so it can use EMAC drivers.

Can now be used via EthernetInterface, and be the system's default
network stack.

Legacy support for NanostackEthernetInterface retained. Some
restructuring of mesh interface code to fit into the
OnboardNetworkStack:::Interface system.
2018-05-23 12:24:04 +03:00
Kevin Bracey a0d374ef00 Extend EMAC multicast APIs 2018-05-23 12:24:02 +03:00
Kevin Bracey 5472a9703f EMAC: check link status callback is set
Nanostack doesn't set the link status callback. Make sure the two
example drivers don't crash if it isn't set.
2018-05-23 12:24:02 +03:00
Kevin Bracey 7ce098acb4 K64F EMAC: Fix TX error path leaks 2018-05-23 12:24:02 +03:00
Mika Leppänen 5da3cd9cce Added preferred alignment to emac and copy to/from to memory manager 2018-05-23 12:24:01 +03:00
Kevin Bracey 4950a993fd Move STM EMAC driver out out lwIP 2018-05-23 12:24:01 +03:00
Mika Leppänen 4e10cc097e Updated STM ethernet driver to use emac and memory manager 2018-05-23 12:24:01 +03:00
Mika Leppänen 668e0821a1 Updated K64F ethernet driver to use memory manager 2018-05-23 12:24:00 +03:00
Mika Leppänen bc5d4d1c0d Created memory manager class to netsocket and updated lwip to use it
instead of old memory interface.
2018-05-23 12:24:00 +03:00
Kevin Bracey b222c25435 Work around Nuvoton #define EMAC 2018-05-23 12:23:58 +03:00
Kevin Bracey 958247265b Tell mbed build to ignore old lwIP+EMAC drivers 2018-05-23 12:23:58 +03:00
Kevin Bracey 0ecf4e4695 Move Freescale EMAC driver out of lwIP 2018-05-23 12:23:58 +03:00
Kevin Bracey 74dfe3423a Add downcast methods to NetworkInterface
As we've introduced virtual inheritance to support EMACInterface, we can
no longer use C-style casts or static_cast to downcast from
NetworkInterface to more specific types. RTTI is disabled in the
toolchains, so dynamic_cast is unavailables.

Add virtual downcast methods to permit conversions to the 6 derived
classes. Probably only needed for EMACInterface, WiFiInterface and
EthInterface, but handles the set.
2018-05-23 12:23:55 +03:00
Mirela Chirica 6e7d0a8847 Cellular: Added missing copyrights 2018-05-23 12:11:02 +03:00
Mirela Chirica b59ef26930 Cellular: Unit tests fixes 2018-05-23 12:11:02 +03:00
paul-szczepanek-arm 80137be991 Merge https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-23 09:47:06 +01:00
Yossi Levy f33f4dab26 Increase tests timeout to 45 second 2018-05-23 11:29:46 +03:00
Ron Eldor 77e87d3174 Check the size_t isn't larger than 32 bit
Assure that `size_t` isn't larger than 32 bit, with preprocessor check.
Using `#if SIZE_MAX > UINT_MAX`.
2018-05-23 08:37:27 +03:00
Yossi Levy 7401aea36a Remove reset tests. Small change to cmac claculation in get_derived_key 2018-05-22 21:35:33 +03:00
Oren Cohen 076cd42b7c Update uvisor-tests.txt 2018-05-22 17:57:43 +01:00
Vincent Coubard cfe325cf0e BLE NRF51: Do not filter advertising packet in peripheral if the device as no bond. 2018-05-22 17:40:18 +01:00
Vincent Coubard ba61c09ffc BLE NRF51: Resolve private address on connection in peripheral role
Soft device inconsistency: The address is not resolved automatically if the device is a peripheral.
2018-05-22 17:39:03 +01:00
Vincent Coubard 755cf5fa5f BLE NRF51: Defer connection to a common function.
The soft device is not consistent as it is required to force the connection to a resolved resolvable address so it should be known if the  target is an identity address.
2018-05-22 17:37:57 +01:00
Vincent Coubard d427fcfb59 Nordic BLE: Remove dependency to mbedtls for CryptoToolbox::ah. 2018-05-22 17:33:49 +01:00
Yogesh Pande c520baeebf Remove ns_event_loop_thread_start() from NDInterface and ThreadInterface connect().
ns_event_loop_thread_start() is incorrectly used at connect() phase, the initial
setup is already done at init() phase and the eventloop thread is correctly initialized.

Also, the usage of ns_event_loop_thread_start() API should be behind MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_DISPATCH_FROM_APPLICATION
flag as application can decide to use main thread for event loop, which will result in linker error for this API call in
case of ARMCC compiler.
2018-05-22 16:44:40 +03:00
paul-szczepanek-arm 69a0c10f00 removing erroneous (and redundant) check
this is gating on the wrong flag and the call doesn't require a check in the first place
2018-05-22 14:37:02 +01:00
paul-szczepanek-arm 08cb7aefd2 fix not writing flags in the file
flags kept with the rest of data for each entry
2018-05-22 14:08:09 +01:00
Martin Kojtal 02af950f62
Merge pull request #6336 from geky/fat-errors
fatfs: Update error code mapping
2018-05-22 14:27:01 +02:00
Martin Kojtal fc2f7fff95
Merge pull request #6757 from davidsaada/david_buffered_bd
Implement BufferedBlockDevice
2018-05-22 14:25:51 +02:00
paul-szczepanek-arm 84ff831141 measure file size with SEEK_END
I thought that's not portable but the rest of the codebase uses it so no reason not to
2018-05-22 12:25:11 +01:00
paul-szczepanek-arm 1cd0c20fd0 fix opening the file in the wrong mode 2018-05-22 12:11:07 +01:00
paul-szczepanek-arm 7d916a9997 fix not writing version number into the file 2018-05-22 11:45:38 +01:00
cyliangtw 665dc99096 Support default tz_module for event loop & lwip 2018-05-22 17:19:47 +08:00
Kevin Bracey 6dffe6e4e7 Remove CellularInterface
This has been superceded by CellularBase. Name change occurred late
in review of https://github.com/ARMmbed/mbed-os/pull/4119 and
original unused CellularInterface was left behind.
2018-05-22 11:44:46 +03:00
Kevin Bracey 1c5bbaf4d8 Insert EMACInterface class
Rather than let "EthernetInterface" be the base EMAC NetworkInterface,
insert an "EMACInterface" class.

EthernetInterface then derives from EMACInterface and EthInterface.

A Wi-Fi driver can derive from EMACInterface and WiFiInterface - this
will be more logical than deriving from EthernetInterface and
WiFiInterface.

This does mean adding a couple of virtual inheritances to avoid
duplicate NetworkInterfaces:

                   NetworkInterface
                     /           \
            virtual /             \ virtual
                   /               \
             EMACInterface     WiFiInterface
                   \               /
                    \             /
                     \           /
                  MyCustomWiFiInterface
2018-05-22 11:44:45 +03:00
Kevin Bracey 0386f73719 Networking update: general refactoring, unifying EMAC
Initial work by Bartek Szatkowski in https://github.com/ARMmbed/mbed-os/pull/4079,
reworked following review of https://github.com/ARMmbed/mbed-os/pull/5202 to
transform the entire system into C++, retaining the basic functionality.

Bartek's summary:

* Porting ethernet to EMAC
* Updating EMAC to enable multiple interfaces
* Untangling networking classes, making the abstractions a bit clearer to follow, etc
* General refactoring
* Removal of DEVICE_EMAC flag and introducing DEVICE_ETH and DEVICE_WIFI

Revisions since initial branch:

* Remove lwip depencies
* Correct doxygen warnings
* Remove emac_api.h, replace with C++ EMAC abstract class.
* Create OnboardNetworkInterface, and LWIP implementation.
* Mappings since #4079
     lwip-interface/nsapi_stack_lwip.c -> LWIPStack.cpp
     lwip-interface/ipstack_lwip.c -> LWIPInterface.cpp
     netsocket/mbed_ipstack.h -> OnboardNetworkStack.h
     hal/emac_api.h -> EMAC.h
* Reinstate use of EthInterface abstraction
* Correct and clarify HW address EMAC ops
* Restore MBED_MAC_ADDR implementation
* Integrate PPP support with LWIP::Interface.
* Convert K64F lwIP driver to K64F_EMAC.

To do:

* Convert emac_stack_mem.h to follow this pattern.
* Figure out DEVICE_ETH/EMAC
* Update all drivers to use EMAC
2018-05-22 11:44:45 +03:00
Ron Eldor d2bcf3c356 Change target name
Apply the CC changes to TARGET_MCU_NRF52840 , and not to
the DK target alone
2018-05-22 09:24:37 +03:00
Andrew Leech 67140a2706 Redirect NRF asserts to mbed error() in TARGET_NRF5x and SDK 14.2
Add related details to TARGET_NRF5x Readme's
2018-05-22 11:36:31 +10:00
Andrew Leech cfd248ee05 Enable ASSERTS's in nrf sdk to catch coding errors.
These will now flow through to mbed standard error handling.
2018-05-22 11:36:30 +10:00
Cruz Monrreal db73ed0751
Merge pull request #6480 from davidsaada/david_nvstore_alloc_key
NVStore: add the allocate_key API (instead of set_alloc_key)
2018-05-21 17:32:00 -05:00
Cruz Monrreal cd1ff94db2
Merge pull request #6866 from geky/fat-erase-disk
fatfs: Add erase disk to format
2018-05-21 17:14:14 -05:00
Yossi Levy b95c5f79c0 Replace UINT16_MAX with (uint16_t)-1 because of build failure 2018-05-21 18:47:39 +03:00
Cruz Monrreal ab5d7e1c2f
Merge pull request #6952 from jeromecoutant/PR_MSP
STM32 ETHERNET : Allow user defined Ethernet PHY init functions
2018-05-21 10:25:06 -05:00
Cruz Monrreal a651cb220f
Merge pull request #6863 from k-stachowiak/update-mbedtls-2.9.0
Update Mbed TLS to version 2.9.0
2018-05-21 10:13:31 -05:00
Cruz Monrreal 16d30776aa
Merge pull request #6905 from kivaisan/remove_common_pal_flags
Lora: Remove obsolete FEATURE_COMMON_PAL flags
2018-05-21 10:11:20 -05:00
Vincent Coubard fb9e0dcbe7 BLE: Fix resolvable private address identification. 2018-05-21 15:30:19 +01:00
Vincent Coubard b973a8a490 BLE: Add default constructor to peer_address_type_t 2018-05-21 15:29:54 +01:00
Hasnain Virk 71348f7d65 Message flags correction
Uplink multicast is not allowed. Proprietary messages cannot be
of type unconfirmed and unconfirmed.
2018-05-21 16:16:58 +03:00
Vincent Coubard bdad5d6496 BLE Generic: Handle peer address type backward compatibility. 2018-05-21 13:29:06 +01:00
Vincent Coubard cc286fe84c BLE: Cordio pal: Handle enhanced connection events. 2018-05-21 13:22:53 +01:00
Vincent Coubard cbba6dd0d6 BLE PAL: Update connection event to support enhanced connection events. 2018-05-21 13:22:31 +01:00
Vincent Coubard 57ffa14b4b Nordic BLE: Backport privacy backward compatibility to NRF51 2018-05-21 13:21:46 +01:00
paul-szczepanek-arm 62ba220100 doxygen fix 2018-05-21 11:42:32 +01:00
Ron Eldor 23ba8bc1f5 Change Cryptocell target to a feature
Change the Cryptocell310 target to `FEATURE_CRYPTOCELL310`
2018-05-21 13:40:43 +03:00
paul-szczepanek-arm 17e8ed9401 forward resolving list init 2018-05-21 11:34:40 +01:00
Vincent Coubard 14a1095c31 Nordic BLE: Disable secure connection support on NRF51. 2018-05-21 10:34:09 +01:00
Vincent Coubard 4c1a309117 Nordic BLE: Set own resolvable address to NULL.
This address is not accessible to the application.
2018-05-21 10:22:01 +01:00
Vincent Coubard d962fc0174 BLE: factor code in GAP. 2018-05-21 10:20:43 +01:00
Vincent Coubard 28766bd873 BLE: Do not pass peer resolvable address in connection event handler 2018-05-21 10:17:44 +01:00
paul-szczepanek-arm cd9f12ab45 return error codes 2018-05-18 13:59:30 +01:00
paul-szczepanek-arm ace491d430 remove duplicate call 2018-05-18 13:54:15 +01:00
paul-szczepanek-arm 9da64e529e refactor into separate functions for readability and correctness of pal matching db 2018-05-18 13:46:55 +01:00
jeromecoutant 7622083da9 STM32 ETHERNET : Allow user defined Ethernet PHY init
If user adds USE_USER_DEFINED_HAL_ETH_MSPINIT macro in the json config,
he can implement his own HAL_ETH_MspDeInit and HAL_ETH_MspDeInit functions.
2018-05-18 14:42:27 +02:00
paul-szczepanek-arm 439d002f7d new API call to change db at runtime 2018-05-18 12:34:52 +01:00
paul-szczepanek-arm 608ad338e8 return error when not initialised 2018-05-18 10:24:16 +01:00
Vincent Coubard c3bcd10cfd BLE NRF52: Implement features related to peer_address_t
The overload of Gap::connect that accept peer_address_t has been added and gap connection and advertising report process have been updated to exploit peer_address_t in a backward compatible fashion.
2018-05-18 10:09:07 +01:00
Vincent Coubard d361960aa3 BLE: Use peer_address_type_t instead of the legacy address in security manager. 2018-05-18 10:04:27 +01:00
Martin Kojtal 79640c6a88
Merge pull request #6940 from JanneKiiskila/nvstore-thread-mstr
NVStore - remove Thread.h include
2018-05-18 09:05:05 +01:00
Cruz Monrreal 4b721583b5
Merge pull request #6559 from davidsaada/david_flash_sim_bd
Implement FlashSimBlockDevice - flash simulated block device over RAM
2018-05-17 21:54:34 -05:00
paul-szczepanek-arm a8ac925b4f privacy doxygen overview 2018-05-17 16:48:49 +01:00
Christopher Haster 5efda4b922 fatfs: Fixed ENOTEMPTY error for removing a directory 2018-05-17 10:26:32 -05:00
Christopher Haster 6d4190bd0b fatfs: Update error code mapping
A lot of the error codes in fatfs were mapped incorrectly. This patch
revisits the error code mapping to try to correct these mistakes.
2018-05-17 10:26:32 -05:00
Cruz Monrreal 54ac02b080
Merge pull request #6865 from jamesbeyond/greentea_fix
fix greentea-client, require a character input between K-V pairs
2018-05-17 10:07:41 -05:00
Cruz Monrreal bce32b097e
Merge pull request #6876 from JuhPuur/master
Nanostack release for Mbed OS 5.9
2018-05-17 10:07:21 -05:00
paul-szczepanek-arm 7e69444458 security manager doxygen overview updated 2018-05-17 14:10:57 +01:00
Vincent Coubard a052afdd40 BLE: Update APIs to take advantage of ble::peer_address_type_t
Deprecation:

* Gap::AdvertisementCallback::addressType has been deprecated in favor of Gap::AdvertisementCallback::peerAddrType.
* Gap::ConnectionCallbackParams::peerAddrType has been deprecated in favor of Gap::ConnectionCallbackParams::peerAddressType.
* Gap::ConnectionCallbackParams::ownAddr has been deprecated in favor of nothing else as this information may be not available.

Overloads added to accept a peer_address_t:

* Gap::connect
* Gap::processConnectionEvent
* Gap::processAdvertisingReport
2018-05-17 13:27:15 +01:00
Janne Kiiskila 16a27a2602 NVStore - remove Thread.h include
As this include is not actually needed. Having it will cause issues
with the bootloader, as this will cause a need to get the full
CMSIS/RTOS package etc., which would bloat the bootloader size.
2018-05-17 13:07:59 +03:00
Vincent Coubard 0eb680a08b GenericGap: Revert changes introduced to accomodate privacy. 2018-05-17 10:56:29 +01:00
Vincent Coubard 7f05fc0e00 BLE: Define peer_address_type_t
This type model a peer address, unlike BLEProtocol::AddressType, it is compatible with privacy concepts.
2018-05-17 10:30:24 +01:00
Vincent Coubard e5d91932fd BLE: Revert address type changes.
The changes made to BLEProtocol::AddressType was not entirelly backward compatible as BLEProtocol::AddressType split random addresses in three category while the type RANDOM is a superset of these types.
2018-05-17 10:26:04 +01:00
Teppo Järvelin 678cff4463 Cellular: review changes. 2018-05-17 11:20:58 +03:00
Ari Parkkila 3abfa4531f Cellular: Removed obsolete FEATURE_COMMON_PAL flag from trace 2018-05-17 09:41:49 +03:00
Ari Parkkila 6a3dce839e Cellular: Updated coding guidelines 2018-05-17 09:02:54 +03:00
paul-szczepanek-arm b845a9dc95 fixed doxygen 2018-05-16 17:24:17 +01:00
paul-szczepanek-arm 57a02d6329 fixed signature 2018-05-16 16:54:47 +01:00
Vincent Coubard 37c036ca6b Nordic: Port privacy to softdevice v4.
Many things have changed; the identity list isn't shared anymore with the whitelist and resolution is handled by the stack itself.
2018-05-16 16:16:06 +01:00
Vincent Coubard 6c44a78166 Merge branch 'master' of https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-16 15:55:15 +01:00
Donatien Garnier ad09ba0dcc Fix handling of security escalation in on_connection_complete() 2018-05-16 13:54:25 +01:00
Ron Eldor 800f71cbd5 Add space
Add space which was lost in previous commit
2018-05-16 14:56:40 +03:00
Yossi Levy 492dc9f1fc Remove uneeded variables 2018-05-16 14:48:30 +03:00
Donatien Garnier 3f7a7a4213 Merge 2018-05-16 12:44:36 +01:00
Teppo Järvelin 8fa8abca27 Cellular: Fixed connect-disconnect sequence can now be called multiple times. 2018-05-16 14:25:35 +03:00
Donatien Garnier 7ef7ef553c Fix is_random_xxx_address() functions in GenericGap that I had broken :) 2018-05-16 12:04:04 +01:00
Donatien Garnier 1fdb57e82c Removed set_privacy() API and added is_privacy_supported() check to PAL + Generic GAP 2018-05-16 12:02:21 +01:00
Ron Eldor a1ea814f06 Minor style fixes
Fix styls issues and rename ARM to Arm.
Address additional minor comments from review.
2018-05-16 13:58:46 +03:00
paul-szczepanek-arm 1ae13bc80f don't reset db on security manager reset as the docs require 2018-05-16 11:46:36 +01:00
Yossi Levy d816937975 Remove unnecessary remark 2018-05-16 13:24:46 +03:00
paul-szczepanek-arm bcca75973e reseting the security db 2018-05-16 11:23:17 +01:00
paul-szczepanek-arm c2bbc94b44 handle init of an already initialised security db 2018-05-16 11:01:37 +01:00
Ari Parkkila a146e0e7ff Cellular: AT debugging improved 2018-05-16 12:39:30 +03:00
Yossi Levy bf9b2cb6c7 Fix for generate_key_by_trng 2018-05-16 12:17:20 +03:00
Yossi Levy d88f4b3084 Stricter parameter check 2018-05-16 11:44:45 +03:00
Vincent Coubard afcbdfc7dc Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into filedb 2018-05-16 08:43:52 +01:00
Donatien Garnier 288c3952d8 Address Paul's comments 2018-05-15 18:37:50 +01:00
paul-szczepanek-arm 5c598688e4 templates for reading and writing to avoid repetition 2018-05-15 16:35:54 +01:00
Cruz Monrreal 991d4613b7
Merge pull request #6744 from AriParkkila/yield-to-wait
Cellular: Changed ATHandler yield to wait
2018-05-15 10:08:49 -05:00
Vincent Coubard 2cb6e659a9 Nordic BLE: Backport security fixes from nRF5 to nRF5x 2018-05-15 15:11:33 +01:00
Vincent Coubard ca5a9f359a Nordic BLE: remove unecessary nordic ble libraries. 2018-05-15 14:51:19 +01:00
Vincent Coubard a22b4e5d5e Nordic BLE: Remove nordic gap init.
This initialization is already done in GattServer.
2018-05-15 14:51:18 +01:00
Vincent Coubard dd6a5350e2 Nordic BLE: Remove peer manager handling. 2018-05-15 14:51:18 +01:00
Vincent Coubard 6f24078507 Nordic BLE: route event handling correctly. 2018-05-15 14:51:18 +01:00
Vincent Coubard 167a660ac1 Nordic BLE: use pal security manager. 2018-05-15 14:51:18 +01:00
Vincent Coubard 31f8cd18f7 Nordic BLE: Backport Gap from nRF5 2018-05-15 14:51:18 +01:00
Vincent Coubard 39396955a2 Nordic BLE: simplify whitelist management. 2018-05-15 14:51:17 +01:00
Vincent Coubard 6810c02606 Nordic BLE: Fix processing of events.
If new events are signaled during processing then they should be processed when processEvent is called again. The goal is to let other processing happen and not process sollely ble events.
2018-05-15 14:51:17 +01:00
Vincent Coubard 8fbecf2e0d Nordic BLE: Fix incorrect assignement 2018-05-15 14:51:17 +01:00
Vincent Coubard 68b3288ba8 Nordic BLE: Fix signature of nRF5xGattServer::hwCallback 2018-05-15 14:51:17 +01:00
Vincent Coubard 4a7c9a9a55 Nordic BLE: expose publically btle_handler 2018-05-15 14:51:17 +01:00
Vincent Coubard 2af5508c4c Nordic BLE: Do not conditionnaly assign sm key pointers.
This change has been forced by a change in latest softdevice that requires all key pointers to not be NULL unlike what is indicated in the documentation.
2018-05-15 14:51:17 +01:00
Vincent Coubard dc54da0a2d Nordic BLE: Force signing and link requirements to false. 2018-05-15 14:51:16 +01:00
Vincent Coubard 02e3c13d25 Nordic BLE: Protect event signaled flag. 2018-05-15 14:51:16 +01:00
Vincent Coubard f7f1272647 Nordic: Backport security manager pal for NRF5X targets. 2018-05-15 14:51:15 +01:00
Vincent Coubard 4acb3937e4 Cordio BLE: Fix potential memory leak in GattServer. 2018-05-15 14:32:29 +01:00
Kimmo Vaisanen 3094327e12 Lora: Remove obsolete FEATURE_COMMON_PAL flags
mbed-trace no longer requires COMMON_PAL to be enabled.
2018-05-15 16:08:30 +03:00
Vincent Coubard ee720f30bb BLE: Comment security requirement elevation for signed writes. 2018-05-15 12:17:59 +01:00
Vincent Coubard 2c7ed993ec BLE: Fix security requirements in GattCharacteristic. 2018-05-15 12:17:34 +01:00
Vincent Coubard 2860365a3c BLE: Improve readibility of condition. 2018-05-15 12:16:51 +01:00
paul-szczepanek-arm 49db7e2a2a restoring db file blanks file if set to not restore, allow reusing the db 2018-05-15 11:46:39 +01:00
paul-szczepanek-arm f8244a3d87 review comments, init partly moved to restore, restore setting enabled, null check on filepath 2018-05-15 10:24:59 +01:00
Cruz Monrreal 80e109370d
Merge pull request #6892 from hasnainvirk/bug_fix
LoRaWAN: Wrong type of message check
2018-05-14 17:35:32 -05:00
Christopher Haster 2697ebeb21 littlefs: Map LFS_ERR_CORRUPT to EILSEQ
Previously EBAD (invalid exchange), mapping the error CORRUPT to EILSEQ
(illegal byte sequence) makes more sense as a description of the type of
error.
2018-05-14 14:13:26 -05:00
Yossi Levy 1cb43fa020 Fixing trng_get_bytes return status 2018-05-14 20:01:47 +03:00
David Saada df7fb1667d Implement BufferedBlockDevice
Block device allowing smaller read and program sizes for the underlying BD,
using a cache.
2018-05-14 19:25:41 +03:00
David Saada c90182a02c NVStore: add the allocate_key API (instead of set_alloc_key)
Add the allocate_key API. This replaces the previously added set_alloc_key API
(which allocates a key and sets the value at the same time).
Reason for the change: Key allocation will typically be used by other storage
features (like StorageLite), keeping the allocated keys in another location.
Previous API created problems in the case key allocation and value setting
couldn't be done at the same time (for instance, if the set value was
derived from the allocated key, such as hash or CMAC).
2018-05-14 19:00:46 +03:00
Christopher Haster e77d57e0bc fatfs: Added erase disk to format
Right now, many users are trying out many different filesystems.
Unfortunately, this can leave partially written filesystems on disk
in various states.

A very common pattern for using embedded filesystems is to attempt
a mount, and on failure, format the storage with the filesystem.

Unfortunately, this simply doesn't work if you try to change the
filesystem being used on a piece of storage. Filesystems don't always
use the same regions of storage, and can leave enough metadata lying
around from old filesystems to trick a different mount into thinking a
valid filesystem exists on disk. The filesystems we have were never
designed to check for malicious modification and can't protect against
arbitrary changes.

That being said, it's caused enough problems for users, so as a
workaround this patch adds a disk erase to the FAT filesystem format.
The most common error happens when you use LittleFS, followed by FAT,
followed again by LittleFS.

No other combination of filesystem usage has shown a similar failure,
but it is possible after extensive filesystem use, so it is still
suggested to force a format of the storage when changing filesystems.
2018-05-14 10:54:01 -05:00
Cruz Monrreal 9fd04c4a37
Merge pull request #6839 from kivaisan/fix_lora_au915_build
Lora: fix AU915 build
2018-05-14 10:52:18 -05:00
Cruz Monrreal 6db9a8bb62
Merge pull request #6875 from kivaisan/fix_batterylevel_callback_v2
Lora: Fix battery_level callback
2018-05-14 10:45:03 -05:00
Cruz Monrreal 9923899a8e
Merge pull request #6883 from anttiylitokola/master
Update mbed-coap to version 4.4.3
2018-05-14 10:39:17 -05:00
Cruz Monrreal 506f9a8905
Merge pull request #6882 from kjbracey-arm/lwip-tcp-ooseq
lwIP: Enable TCP out-of-order processing
2018-05-14 10:36:08 -05:00
Juhani Puurula 8bede897e6 Merge commit '03edf998fa6142cb5e3d4c28154c9bdfea98105f'
* commit '03edf998fa6142cb5e3d4c28154c9bdfea98105f':
  Squashed 'features/nanostack/coap-service/' changes from 36d36ce..1cb994e
2018-05-14 17:08:10 +03:00
Donatien Garnier 6c6af1b0d5 Added missing masks and fixed bit ordering in is_random_xx_address() functions 2018-05-14 13:59:32 +01:00
Donatien Garnier d8b63fc03d Reordered initializers in GenericGap 2018-05-14 13:53:50 +01:00
Donatien Garnier 67ec6323fc Added update_random_address() implementation in GenericGap 2018-05-14 13:52:29 +01:00
Donatien Garnier 3523cdb264 Missing initializer in GenericGap 2018-05-14 13:37:37 +01:00
Donatien Garnier 472d3de849 Give GenericGap access to the Security Manager's PAL 2018-05-14 13:36:02 +01:00
Donatien Garnier a3d9d6cebd Business logic for handling non-resolvable private addresses 2018-05-14 13:26:39 +01:00
Bartek Szatkowski 38df9306d7 Update wsf_types.h to support updated CMSIS 2018-05-14 12:18:21 +01:00
Yossi Levy 789eb04617 Changed trng loop condition 2018-05-14 14:07:57 +03:00
Yossi Levy 73d1c8df93 Fix of error macros 2018-05-14 13:52:20 +03:00
Qinghao Shi d48d3aff2b fix a bug in greentea-client
reset "LastChar" after "tok_close" received
fix the bug where greentea-client require a character input between K-V pairs
2018-05-14 11:41:14 +01:00
Hasnain Virk d270105fa8 LoRaWAN: Wrong type of message check
In the reception data path, we needed to check the MCPS CONFIRMATION type
not the MCPS INDICATION type. Indication message type is for downlink message type
which can be UNCONFIRMED even if we have sent a CONFIRMED one, e.g., an ACK.
2018-05-14 13:36:38 +03:00
Ron Eldor adbfdc1149 Remove SW fallback for CCM
Remove SW fallback for CCM mode, and return
`MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE` when trying to set a key
which is not 128 bit size.
2018-05-14 13:15:57 +03:00
Ron Eldor ccaef16f6a Remove AES HW acceleration
Remove AES HW acceleration, as it is targeted future version
2018-05-14 13:15:57 +03:00
Ron Eldor 09d0d49efd Remove extra `mbedtls_zeroize` call
REmove additional unneded call to `mbedtls_zeroize()` which was added after rebase
2018-05-14 13:15:57 +03:00
Ron Eldor 069c5964ae Fix typo in Readme
Fix typo `DEBICE_CRYPTOCELL ` - > `DEVICE_CRYPTOCELL`
2018-05-14 13:15:57 +03:00
Ron Eldor 8f44cdff5d Resolve issues raised after rebasing
Remove `cc_rand.h` and duplicate check in `mbedtls_ecdsa_sign()`,
that were inserted after rebasing.
2018-05-14 13:15:57 +03:00
Ron Eldor 2b2aa0f94d Rephrase meaning of `MBEDTLS_CONFIG_HW_SUPPORT`
Rephrase the label, to make it more clearer.
2018-05-14 13:15:57 +03:00
Amanda Butler e68815e02b Copy edit changes to Readme.md
Copy edit changes, mostly for active voice and consistent tense.
2018-05-14 13:15:57 +03:00
Ron Eldor f07ff36f47 Rephrase explanation on `cc_platform_setup()`
Rephrase the explanation on `cc_platform_setup()`, since previous
explanation wasn't coherent.
2018-05-14 13:15:57 +03:00
Ron Eldor 55e7690593 Refactor Readme after comment from Tech Writer
Rephrase usage guideline on `objects.h` and explain usage of every label
in `targets.json`
2018-05-14 13:15:57 +03:00
Amanda Butler de2e4875fd Copy edit Readme.md
Copy edit file, mostly for minor grammar nits.
2018-05-14 13:15:57 +03:00
Ron Eldor 7cdfd91bf8 Add guidelines for porting CC310 on Mbed OS
Add guidelines for porting CC310 on a new platform
2018-05-14 13:15:57 +03:00
Ron Eldor 245977f3c4 Rename libraries to pass CI library name check
Rename the CC libraries, with additional prefix "lib*".
Fixes CI failure
2018-05-14 13:15:57 +03:00
Ron Eldor ca844fd47a port CC to IAR
1. Add the compiled CC libraries for IAR toolchain
2. modify `ssi_pal_compiler.h` to support IAR
2018-05-14 13:15:57 +03:00
Ron Eldor 56df468a54 Alternative ECDSA and ECDH support
Add support for Alternative ECDSA and ECDH, on the higher level,
over CC310. Note that CC generates ECC keys according to FIPS 186,
while mbed TLS generates according to RFC 6979 and RFC 4754,
which causes test vectors for curve p521 to fail
2018-05-14 13:15:57 +03:00
Ron Eldor 19e2adf98d HW Accelerated SHA1 and SHA256
Add Poritng for Sha1 and SHA256 over Cryptocell
2018-05-14 13:15:57 +03:00
Ron Eldor fdf5587e29 Add CCM alternative implementation
Add CCM HW accelerated alternative implementation
2018-05-14 13:15:57 +03:00
Ron Eldor b31aa03be9 Add the platfrom setup \ terminate support
Add support for Platfrom setup and termination for Cryptocell on Nrf52840
2018-05-14 13:15:57 +03:00
Ron Eldor 75087469f7 Add the Cryptocell library
Add the latest cryptocell library, and add support for CC310 lirary
on latest Mbed OS code
2018-05-14 13:15:27 +03:00
paul-szczepanek-arm 579cb5e222 avoid setting flags twice 2018-05-14 10:26:44 +01:00
paul-szczepanek-arm f4f3a3c697 store ltk and csrk but not irk sent status
and missing asserts
2018-05-14 09:52:49 +01:00
Ari Parkkila 287a1a86d0 Cellular: AT handler review fixes 2018-05-14 10:25:00 +03:00
Ari Parkkila 3bdb6d1737 Cellular: Fixed ATHandler write poll timeout 2018-05-14 10:25:00 +03:00
Ari Parkkila 9b896a16bb Cellular: ATHandler yield to wait review fixes 2018-05-14 10:25:00 +03:00
Ari Parkkila 559abd3009 Cellular: AT requests are to be processed within time period 2018-05-14 10:24:59 +03:00
Ari Parkkila 98ef516061 Cellular: Changed ATHandler yield to wait 2018-05-14 10:23:06 +03:00
paul-szczepanek-arm a7f8d54761 more doxygen 2018-05-13 23:54:44 +01:00
paul-szczepanek-arm d3524e2407 doxygen 2018-05-13 23:49:44 +01:00
paul-szczepanek-arm 8f90875cd6 reset entry now remove old keys 2018-05-13 23:49:27 +01:00
paul-szczepanek-arm 23c6a69d66 key dist flags only in db now and not in control block of sec manager 2018-05-13 23:26:34 +01:00
Donatien Garnier 69e35c49c8 Handle resolution policy for peripheral in GenericGap 2018-05-13 23:25:52 +01:00
paul-szczepanek-arm ab117737fa write back counter, sync entry by hand;e 2018-05-13 22:55:47 +01:00
Donatien Garnier 21471bb3c9 and make sure it compiles and that policy is only applied if privacy is enabled :) 2018-05-13 22:42:11 +01:00
Donatien Garnier 926efa4018 Filter out advertising reports for unresolved addresses if required 2018-05-13 22:37:59 +01:00
Donatien Garnier 6a2ffaeac0 Update own address type generation in GenericGap 2018-05-13 22:16:08 +01:00
Donatien Garnier 620ebc3f9a Some fixes in GenericGap 2018-05-13 20:38:29 +01:00
Donatien Garnier 2509a88d58 Revert set_privacy() in Cordio GAP PAL impl 2018-05-13 20:37:14 +01:00
Donatien Garnier 1a623e6670 Added method to enable/disable privacy in GAP Pal with Cordio impl 2018-05-13 19:15:20 +01:00
Donatien Garnier 4c5e2a8094 Added method to update resolution settings in GenericGap 2018-05-13 19:14:56 +01:00
Donatien Garnier cf03d40909 Doc fix in PalGap.h 2018-05-13 18:54:11 +01:00
Donatien Garnier 5734fca195 Added set_address_resolution method in GAP Pal with Cordio implementation 2018-05-13 18:53:23 +01:00
Donatien Garnier 7b4a813aca Added stubs in GenericGap for privacy configuration methods 2018-05-13 18:52:54 +01:00
Donatien Garnier e9ad148db0 Added privacy-related methods overrides in GenericGap 2018-05-13 17:57:27 +01:00
Donatien Garnier 33c46f5658 Remove LL resolving 'shorcut' when adding a device to resolving list - this should be controlled by the GAP layer 2018-05-13 17:49:00 +01:00
Cruz Monrreal 2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
paul-szczepanek-arm 3af4d0b50f get identity list function argument needs to have its own memory allocated 2018-05-11 19:52:12 +01:00
paul-szczepanek-arm a63f38e767 moved logic to security db and left storage in memory and file dbs
db created at init now
2018-05-11 19:41:33 +01:00
Donatien Garnier 40b6813dcf Fix wrong use of DmLlPrivEnabled() 2018-05-11 18:52:27 +01:00
Donatien Garnier 71bd30daf3 More inline doc 2018-05-11 18:37:02 +01:00
Donatien Garnier bcfbeb7f1a Some doc adjustments 2018-05-11 18:23:37 +01:00
Donatien Garnier 3ca3c2db2c Initial implementation of the Security Manager's Privacy feature for Cordio 2018-05-11 18:20:39 +01:00
Antti Yli-Tokola 511df14eb0 Update mbed-coap to version 4.4.3
Fixes error: IOTCLT-2506 [GitHub] Cannot set registration time if server does not use max age option
Improvements; Extend blockwise message transfer status to have states for sending as well.

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-05-11 17:14:09 +03:00
Kevin Bracey ec2db62fe5 lwIP: Enable TCP out-of-order processing
Our config file for lwIP had TCP_QUEUE_OOSEQ disabled - this can
cause significant performance problems, as observed during testing.

One lost packet can lock an input stream into a mode where the
transmitter keeps thinking packets are being lost, so keeps slowing
down. This caused test failures - a transfer that would normally
take 10s hit a 60s timeout.

Turning this on increases code size, but doesn't significantly increase
static memory use. The memory used for out-of-order packets comes from
the same pbuf pool as for outgoing TCP segments, so there is contention
when running bidirectionally.

Out-of-order processing is on by default for lwIP - this seems to be
another example of us excessively paring it back.
2018-05-11 17:12:00 +03:00
paul-szczepanek-arm 678d494c5a init _db pointer 2018-05-11 10:20:04 +01:00
paul-szczepanek-arm afa4bdcf1a pull common logic into secure db 2018-05-11 10:19:48 +01:00
Juhani Puurula 7c38f19745 Merge commit 'd6732a1b96814a2ea635b3d517f498127843a097'
* commit 'd6732a1b96814a2ea635b3d517f498127843a097':
  Squashed 'features/frameworks/nanostack-libservice/' changes from 09056ed..ddd45db
2018-05-11 09:59:29 +03:00
Juhani Puurula 690a4c7f09 Merge commit '7a58eaec9d5f2aad89caf3cdb47346d2ff648492'
* commit '7a58eaec9d5f2aad89caf3cdb47346d2ff648492':
  Squashed 'features/frameworks/mbed-trace/' changes from 6d3590f..6df2572
2018-05-11 09:55:48 +03:00
Juhani Puurula f7fd0af47e Merge commit '4cb7e03c7b39f446cfddc46385b00600e0e702f9'
* commit '4cb7e03c7b39f446cfddc46385b00600e0e702f9':
  Squashed 'features/nanostack/coap-service/' changes from f40072f..36d36ce
2018-05-11 09:52:34 +03:00
Juhani Puurula 2f0bd6b6f6 Merge commit '8e546a301f0b93dab28e7b4454df97e5f9e83843'
* commit '8e546a301f0b93dab28e7b4454df97e5f9e83843':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from 43c7ec2..82bbdcc
2018-05-11 09:52:10 +03:00
Kimmo Vaisanen 9915478645 Lora: Fix battery_level callback
Application can give battery_level callback method what Lora stack
uses to query battery level for DevStatusReq MAC command response.
The problem was that this callback was never called.

This commit fixes this problem and if application does not set
battery_level callback at all, value 255 (= The end-device was not able to
measure the battery level.) will be returned to lora gateway.
2018-05-11 09:50:24 +03:00
Krzysztof Stachowiak 4f9c6ba300 Update the version in the importing makefile 2018-05-10 17:49:33 +02:00
Vincent Coubard 40a403e99b Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection 2018-05-10 12:05:36 +01:00
paul-szczepanek-arm 473482d204 move securitydb into generic 2018-05-10 11:08:31 +01:00
Cruz Monrreal c97a8fb216
Merge pull request #6817 from pan-/fix-crypto_toolbox_f4-parameter-types
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
2018-05-09 11:33:27 -05:00
Cruz Monrreal e33fb60c3d
Merge pull request #6849 from scartmell-arm/bug-critical-section-nordic
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 11:33:10 -05:00
Krzysztof Stachowiak 5317e872db Update Mbed TLS to version 2.9.0 2018-05-09 18:09:13 +02:00
Martin Kojtal b5a8ace79a
Merge pull request #6808 from hasnainvirk/state_machine_work
LoRa: State machine work
2018-05-09 16:02:53 +01:00
paul-szczepanek-arm b95da8d8c4 remove crypto when missing ECDH 2018-05-09 12:27:43 +01:00
Paul Szczepanek fee986750d
fix case 2018-05-09 12:19:35 +01:00
Paul Szczepanek b4d7bb6020
fix case 2018-05-09 12:19:27 +01:00
Paul Szczepanek 37b11d8ac5
fix case 2018-05-09 12:18:55 +01:00
Paul Szczepanek 367fe345ba
fix case 2018-05-09 12:18:42 +01:00
Paul Szczepanek 79b3bc4fce
fix case 2018-05-09 12:18:26 +01:00
paul-szczepanek-arm b98ffa48da fix uppercase X in nrf5x 2018-05-09 12:16:26 +01:00
paul-szczepanek-arm 6a26a8a6c8 Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into security-manager-dev 2018-05-09 11:37:41 +01:00
paul-szczepanek-arm c02b318436 fixed case in filename 2018-05-09 11:37:33 +01:00
Paul Szczepanek 2b02148ab6
Merge branch 'master' into security-manager-dev 2018-05-09 11:23:28 +01:00
paul-szczepanek-arm b8fe37a00e disable ECDH if the platform doesn't support it
otherwise you get linker errors
2018-05-09 11:01:10 +01:00
Steven Cartmell 1dfea4168f Add missing semicolon to NRF51 critical_section implementation 2018-05-09 10:54:26 +01:00
Yossi Levy 9df32d1f00 Fix README.md grammar mistakes 2018-05-09 11:22:15 +03:00
Marcus Chang 1aebdcbee5 Reorganize TARGET_MCU_NRF51822_UNIFIED directories
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.

This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Paul Szczepanek 9a0a0865a6
Merge branch 'security-manager-dev' into sm-privacy-nordic 2018-05-08 18:01:41 +01:00
Paul Szczepanek 214656a9ee
fix case in #include 2018-05-08 17:56:38 +01:00
Paul Szczepanek 1a35f3e217
fixed case in name 2018-05-08 17:49:22 +01:00
Cruz Monrreal adcd7ec002
Merge pull request #6742 from pan-/ble-update-cordio-porting-guide
BLE: Update cordio porting guide
2018-05-08 10:42:19 -05:00
Cruz Monrreal 5b5c8ddb4e
Merge pull request #6743 from pan-/ble-cordio-h4-conditionnal-to-fc
BLE: Conditional compilation of H4 driver
2018-05-08 10:41:58 -05:00
Cruz Monrreal a5326ca047
Merge pull request #6814 from pan-/fix-discovery-termination
GenericGattClient: Fix discovery termination.
2018-05-08 10:41:34 -05:00
Yossi Levy 98e83c2262 Implementing KDF in Counter Mode for key derivation function. Moving device key to features 2018-05-08 16:59:05 +03:00
Hasnain Virk be04a57ecf Removing abort from rx in case of FL discrepency
If the frame length is not what we are expecting, it is
found to be a good practise to actually continue with what we
have received rather than aborting. As we have already demodulated
the packet and RX slots are used up, ther is not so much benefit in
dropping that packet.
2018-05-08 16:45:27 +03:00
Hasnain Virk ac6fb71c90 Datarate bug fix in rx windows configs
While configuring RX parameters for the radio, we need to feed in
rx windows 1 and 2 parameters which are computed when we do the transmission.
We are actually setting the physical value of the data rate rather than
data rate table index and the expectation was to set the data rate index.
2018-05-08 16:45:26 +03:00
Hasnain Virk cc09e44cfb Moving msg flags to lorawan_types.h
Message flags are used in the application so the logical place for
them is in lorawan_types.h and not in lorawan_data_structures.h
2018-05-08 16:45:26 +03:00
Hasnain Virk 1a0d90555e Doc fix
Structure naming in the docs was wrong.
2018-05-08 16:45:25 +03:00
Hasnain Virk f63ed86cfc Adding custom channel plan support in AS923
The asia pacific region supports custom channel planning and
downlink channel request. By virtue of a mistake, this information
was missing and hence a custom channel support was not working.
Fixes issue #6783.
2018-05-08 16:45:25 +03:00
Hasnain Virk 9f36baab1b State Machine rework
There had been essentially two state machines running in our stack
which was too cumbersome and was not alligned in any symmetry.

In this work we make sure that:
 * There are no callbacks from the MAC layer to Stack controller layer.
 * Primitives are made local to the mac layer and are presented as
   read-only to the stack controller layer.
 * Interrupt handling and processing is moved to the stack controller layer.
 * Reception is divided into smaller units, seperating handling of Join Accept
   and normal data frames. MIC gets its own unit.
 * Extraction of data and MAC commands from the payload is also being done now in
   its own method.
 * To ensure integrity of the stack, and sanctity of the radio payload, we copy the
   radio payload buffer immediately in the rx interrupt and hoist a flag that prevents
   another interrupt from happening for a short while when we are processing the previous
   packet.
 * If an automatic uplink is on going, we do not send a TX_DONE event to application
   anymore as that is logically incorrect.
 * state_controller() is the central engine for the state machine. To save code space and
   memory, we are not handling each and every state in the state_controller(). Some of the states
   which have no processing to be done, are explicitely set.
 * For all the states who need special processing, seperate methods are added.
 * Class A always run to completion to IDLE and CLass C always runs to completion as RECEIVING.
2018-05-08 16:45:18 +03:00
Hasnain Virk a75af9799e Adding thread safety
Making our LoRaWAN stack thread safe. If RTOS is not present, locks
don't do anything. ScopedLock is used to automate the lock release on
context expiry.
2018-05-08 16:24:34 +03:00
Hasnain Virk a331c4b59a Immutable payload pointer in LoRaPHY 2018-05-08 16:24:34 +03:00
Hasnain Virk 73e433e4e5 Immutable payload pointer to LoRaMacCommand class 2018-05-08 16:24:34 +03:00
Hasnain Virk 0be41f0e69 Remove useless extraction
Channel plan datastructure already contains channel parameters.
Extraction is not needed.
2018-05-08 16:24:34 +03:00
Hasnain Virk bec61cea27 Initializing band for default channels
We went through an exercise of adding band information to
any new channel being added. Default channels were looked over.
This commits duly adds missing band information to default channels.
2018-05-08 16:24:34 +03:00
Hasnain Virk e5e8e79a7a Immutable Payload from radio
Received data buffer from radio driver should be immutable.
2018-05-08 16:24:34 +03:00
David Saada c3e39996b1 Implement FlashSimBlockDevice - flash simulated block device adaptor 2018-05-08 16:15:25 +03:00
Kimmo Vaisanen d200600fc0 Lora: fix AU915 build
There was a typo in the code making it fail to compile.
2018-05-08 14:09:03 +03:00
Cruz Monrreal 11901f115b
Merge pull request #6800 from kivaisan/fix_loracrypto_asserts
Lora: Fix LoRaMacCrypto asserts
2018-05-07 19:34:56 -05:00
Cruz Monrreal 5038135c7d
Merge pull request #6577 from SeppoTakalo/remove_features
Get rid of FEATURE_COMMON_PAL and FEATURE_NANOSTACK
2018-05-07 10:44:50 -05:00
Cruz Monrreal 7a1ab1890b
Merge pull request #6792 from jarvte/cellular_dynamic_alloc_and_destr
Cellular: Add dynamic alloc and destruction to easycellular
2018-05-07 10:28:43 -05:00
Vincent Coubard 565921608e Cordio: Improve cordio H4 driver.
Ommit H4 driver definition if serial flow control is not supported.
2018-05-04 16:36:05 +01:00
Vincent Coubard 34c9206054 BLE: update cordio porting guide.
Improve description of the requirements of the H4 driver.
2018-05-04 16:35:57 +01:00
Vincent Coubard 3f9186faa2 GenericSecurityManager: Fix crypto_toolbox_f4 signature.
The type exposed in the header file were not aligned to the one used in
the implementation: ble::public_key_t instead of ble::public_key_coord_t.
2018-05-04 12:11:34 +01:00
Vincent Coubard fd5903c22d GenericGattClient: Fix discovery termination.
The procedure should be terminated whenever the server returns an error not equal
to ATTRIBUTE_NOT_FOUND. The block was effectivelly terminated but the
procedure was not. As a result the discovery was operating on already
freed memory.
2018-05-04 11:30:58 +01:00
Martin Kojtal f09ab67af2
Merge pull request #6740 from kivaisan/fix_max_tx_power
Lora: Fix max tx power check
2018-05-03 16:28:55 +01:00
Martin Kojtal 1a5a2f0134
Merge pull request #6774 from geky/littlefs-fix-trailing-dots
littlefs: Fix issue with trailing dots in file paths
2018-05-03 16:26:47 +01:00
Martin Kojtal 2729c7aa23
Merge pull request #6780 from bmcdonnell-ionx/fix-lwip-compiler-warning
resolve LWIP compiler warning
2018-05-03 16:24:31 +01:00
Kimmo Vaisanen 5384cd6b63 Lora: Fix LoRaMacCrypto asserts
If Lora stack is built with incorrect mbedtls settings, crypto methods
should assert and return error value. This fixes MBED_ASSERTs to
work correctly.
2018-05-03 13:04:03 +03:00
Teppo Järvelin b22a16fe4a Cellular: Added dynamic alloc and destruction to easycellular.
Now application can call connect and disconnect multiple times and resources are freed and constructed properly.
Also whole easycellular can be deleted and constructed again.
2018-05-03 12:47:47 +03:00
Vincent Coubard b5e8d4eacb Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection 2018-05-03 09:26:36 +01:00
Martin Kojtal 16ab71864e
Merge pull request #6765 from mirelachirica/at_handler_read_fix
Cellular: Fix AT Handler compile warning
2018-05-03 07:41:23 +01:00
Vincent Coubard 0a59e00b23 Nordic BLE: Update GATT server security management
This patch refines permission applied to characteristic and descriptors; instead of a single level of permission , each characteristic receives a permission for the read operation, one for the write operation and another one for the update operation.

As a consequence, updates are not sent if the link does not cover the update permission requirement.

Descriptors also benefits individually from read and write permission.
2018-05-02 19:15:24 +01:00
Vincent Coubard 4f1e574eff Cordio GattServer: Fix uses of designated initializer.
These are not legal in C++ code.
2018-05-02 18:14:54 +01:00
Vincent Coubard 7e043ead96 Nordic BLE: Add stub implementation of remove_peer_csrk in security manager. 2018-05-02 17:52:39 +01:00
Vincent Coubard 4e5639f5ca BLE: Support encryption with secure connection key. 2018-05-02 17:51:48 +01:00
Donatien Garnier ba0f18c9ab Fix casing in MemorySecurityDb.h 2018-05-02 17:39:10 +01:00
Brendan McDonnell 33a2116042 reduce variable scope 2018-05-02 11:17:25 -04:00
Brendan McDonnell ba29bd9315 use separate variable to resolve compiler warning 2018-05-02 09:33:24 -04:00
Vincent Coubard f79eeb0173 Cordio: Update stack and pal to support LE security mode 2 level 2. 2018-05-02 14:32:38 +01:00
Vincent Coubard 01e3a004a6 Cordio: register server authorization callback. 2018-05-01 12:29:03 +01:00
Vincent Coubard 549a513dfb Cordio: Enable client and server signing 2018-05-01 12:28:37 +01:00
Vincent Coubard d0c4d7a8a3 Cordio: Forward server related events to CordioGattServer 2018-05-01 12:27:49 +01:00
Vincent Coubard 0f64b1c988 CordioGattServer: Global refactoring
The registration process has been breaked down into several functions that register the service attribute, characteristic declaration attributes, characteristic value attributes and characteristic descriptors.

Service registration now consider all characteristics permissions: read, write and update. Permissions are also considered when updates needs to be propagated to peers.

Handling of user authorization is also a change introduced by this refactoring.
2018-05-01 12:26:24 +01:00
Vincent Coubard 55eb7033b2 Generic Security Manager: Set csrk to stored when the peer csrk has been received. 2018-05-01 11:54:25 +01:00
Vincent Coubard 41a3442474 Generic Security Manager: Set ltk to stored when the peer ltk has been recveived. 2018-05-01 11:54:03 +01:00
Vincent Coubard f90eacfd27 Generic Security Manager: remove peer csrk at disconnection 2018-05-01 11:53:18 +01:00
Vincent Coubard 1ac95e105b ble - Generic Security Manager: set signing unconditionnal to role reversal.
A peripheral can act as a GATT client whether it is in the peripheral role or the central role therefore it doesn't make sense to enable signing only if roles will be reversed latter.
2018-05-01 11:50:59 +01:00
Vincent Coubard 9880db7543 Generic Security Manager: Improve formating 2018-05-01 11:48:22 +01:00
Vincent Coubard 2e3c7e8ab7 Generic Security Manager: Set LinkKey to false unconditionally.
This key distribution flags is for dual mode devices; mbed does not support BR/EDR.
2018-05-01 11:45:24 +01:00
Vincent Coubard e39bb4b92c BLE - GenericGattClient: Exploit ENCRYPTED_WITH_SC_AND_MITM encryption.
IF link is encrypted, authenticated or authenticated with lesc then signed write must be transformed into regular write commands.
2018-05-01 11:38:30 +01:00
Vincent Coubard 2da6fa3947 Cordio PAL security manager: Copy locally own CSRK
The stack does not copy csrk when DmSecSetLocalCsrk is invoked; it just retains a pointer to it. Therefore a copy is kept inside the pal.
2018-05-01 11:35:16 +01:00
Vincent Coubard e4813f4fe9 Cordio PAL Security Manager: Copy locally own IRK.
The IRK needs to be stored somewhere as it is not copied inside the stack, the stack just keeps a reference to it.
2018-05-01 11:33:36 +01:00
Vincent Coubard 2924bb4c86 Cordio PAL ATT Client: initialize the local sign counter to 0. 2018-05-01 11:29:45 +01:00
Vincent Coubard 74bc214961 BLE - Security Manager PAL: Add a function to remove the peer csrk.
If the the upper layer has registered a peer csrk on the pal security manager then it must remove it once the connection is closed.

This API allows the upper layer to remove the peer csrk registered earlier.
2018-05-01 11:27:38 +01:00
Vincent Coubard 1e277bad50 BLE: Lookup for non identity addresses when a secure entry is opened.
A peer may not share a valid IRK and identity address during pairing (in that case the identity address received is all zeros). When this happens, the entry must be retrieved by looking at the address used by the peer during the connection.
2018-05-01 11:24:44 +01:00
Vincent Coubard c4b78ada0e BLE: Set default mac address to 00:00:00:00:00:00
Both mac addresses are invalid but the bluetooth specification prefers to use all 0 addresses to represent an invalid address.
2018-05-01 11:17:47 +01:00