Commit Graph

277 Commits (11cb7f0119d997a618e129d1e841181a54bd923b)

Author SHA1 Message Date
Oren Cohen 32463d64dc Add missing mbed_lib.json for frameworks and nanostack
* mbed-client-randlib
* nanostack-libservice
* coap-service
* nanostack-interface
2019-02-07 09:25:14 -06:00
Oren Cohen 94c17549dc Fix nanostack libs 2019-02-07 09:23:52 -06:00
Jarkko Paso 17e4e287de FHSS timer: Use singleton pointer with timer objects
This is to save statically allocated memory. Without SingletonPtr the timer objects would always be included in build.
2019-02-04 12:13:29 +02:00
Martin Kojtal 272bc14cde
Merge pull request #9546 from jarlamsa/mesh_api_fixes
Mesh api fixes
2019-01-31 11:19:55 +01:00
Michal Paszta 53a82faa5a Prevent double attempt to connect mesh api
Socket network interface tests were failing due to DICONNECTED event
being advertised, where GLOBAL_UP was expected. It turned out that
nanostack receives two events: APPL_EVENT_CONNECT and
APPL_BACKHAUL_INTERFACE_PHY_UP. The second attempt to connect obviously
returns errors, but it also causes events to be sent out to the
application. The second attempt should not take place in case the
bootstrap is already started.

I also fixed two reports being sent with DISCONNECT status, while they
are actually something else.
2019-01-30 15:08:11 +02:00
Jarno Lamsa 740488d061 Set tasklet parameters before connecting
Set tasklet parameters before connecting to prevent the parameters to be set to 0.
The tasklet parameters are reset to 0 when wisun_tasklet_connect gets called,
thus those need to be set in the wisun_tasklet_configure_and_connect_to_network
before they are used. This is also done this way in other tasklets.
2019-01-30 13:06:17 +02:00
Jarno Lamsa d7af9418da Remove yotta-specific lines from .gitignore 2019-01-30 13:04:08 +02:00
Jimmy Brisson 06ea053419 Minor fixes 2019-01-25 09:42:47 -06:00
Brian Daniels ee5281abef Remove unused yotta module metadata 2019-01-24 15:30:20 -06:00
Cruz Monrreal 74f572356d
Merge pull request #9335 from naveenkaje/fix_thred_mle_warning
thread_mle_message_handler: fix build warning
2019-01-17 21:51:37 -06:00
Jimmy Brisson e201fdb6e9 Add placeholder libraries for things we probably refer to as libraries 2019-01-16 14:58:58 -06:00
Naveen Kaje ef8589888b thread_mle_message_handler: fix build warning
Fix the following build warning found when building with

ARMC6 toolchain for NRF52_DK with mbed cli version 1.8.3

[Warning] thread_mle_message_handler.c@762,0:  #188-D: enumerated type mixed with another type
[Warning] thread_mle_message_handler.c@834,0:  #188-D: enumerated type mixed with another type
2019-01-10 07:47:31 -06:00
Mahesh Mahadevan 585a4b6ddd Add nanostack support for KW41Z
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-01-09 07:43:41 -06:00
Kari Haapalehto 7068e456dd Correcting the error-case trace from mesh-api interfaces 2019-01-07 10:48:46 +02:00
Antti Kauppila bc76c2a2f5 36510 test build fixed 2019-01-03 19:53:17 +02:00
Antti Kauppila 02b0f79e15 mbed.h includes removed 2018-12-28 14:36:10 +02:00
Cruz Monrreal 8bd9772d5d
Merge pull request #8975 from KariHaapalehto/fix_valid_mac_address
Initialize the interface at the construction
2018-12-18 13:22:30 -06:00
Alastair D'Silva d527585394 Align prototype & implementation of enet_tasklet_disconnect & friends
Rework of #8698

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-14 22:19:39 +11:00
Mel W 8de7a36061
Capitalization and punctuation 2018-12-12 11:38:10 +02:00
Kari Haapalehto 7e7af773ea Modify enet_tasklet.h
Change enet_tasklet_network_init() and enet_tasklet_disconnect()
declarations to match code. Also add document enet_tasklet.h functions
2018-12-10 15:49:47 +02:00
Kari Haapalehto f7de4a4a0f Initialize the interface at the construction and make sure
that it's done only once.
2018-12-05 14:44:27 +02:00
Kari Haapalehto 6d8320fd8c Coverity fixes.
These issues has been found by coverity.
2018-12-04 15:32:02 +02:00
Martin Kojtal bf36ff77c1
Merge pull request #8855 from michalpasztamobica/warnings_fix
Fix compilation warnings (apart from nanostack)
2018-12-03 13:31:55 +01:00
Cruz Monrreal 92a0e48435
Merge pull request #8817 from KariHaapalehto/ethernet_cable_status_callback_correction
Correct network status callbacks with ethernet and nanostack
2018-11-30 17:55:15 -06:00
Michal Paszta e101943cce Fix compilation warnings (apart from nanostack) 2018-11-26 14:27:48 +01:00
Martin Kojtal 95b1e75202 Merge branch 'dtls' of https://github.com/SeppoTakalo/mbed-os into dev_rollup 2018-11-23 18:36:55 +00:00
Martin Kojtal f1f64266c0
Merge pull request #8600 from KariHaapalehto/wisuninterface_created
Wi-SUN interface implementation.
2018-11-22 10:55:58 +01:00
Kari Haapalehto 26beb983d4 Correct network status callbacks with Nanostack.
Ethernet-tasklet needs to be registered for emac link state changes.
Ethernet-tasklet will then handle ethernet cable connection/disconnection events.
2018-11-21 10:27:52 +02:00
Michal Paszta 392bccf835 Add unit tests for TLSSocket and TLSSocketWrapper
This also includes their Datagram counterparts: DTLSSocket and DTLSSocketWrapper.
Coverage missing for timer-related functionality, but this would require more advanced stub development.
The extra (d)tls_test_config.h is necessary for successful compilation without HW support for the mbedtls features in unittests.
I reused the mbedtls stub found in features/nanostack/coap-service/test/coap-service/unittest/stub/mbedtls_stub.c and amended it slightly with a few missing functions.
2018-11-19 15:19:49 +02:00
Cruz Monrreal II 49b940c9a7 Merge branch 'prepare_for_mbedos511' of ssh://github.com/artokin/mbed-os into rollup-b.1 2018-11-15 18:26:12 -06:00
Martin Kojtal 3f9d1a9271 nanostack eventloop: fix coding style 2018-11-15 07:20:13 +00:00
Martin Kojtal eec4e1329a nanostack interface: fix coding style 2018-11-15 07:20:12 +00:00
Martin Kojtal 29a1149bd6 nanostakc cmsis rtos: fix coding style 2018-11-15 07:20:12 +00:00
Martin Kojtal 3aab38140a nanostack mesh: fix coding style 2018-11-15 07:20:12 +00:00
Arto Kinnunen d879422f5e Merge commit '77818568c6d9389ef1eb82e40ebfbbf26626c9d3' into mbedos511
* commit '77818568c6d9389ef1eb82e40ebfbbf26626c9d3':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from ccd30a3..513a38e
2018-11-10 20:16:03 +02:00
Arto Kinnunen e1ef0e4347 Merge commit 'e6a851f0a7310462f5f65e9f7955f9fdc71b84f0' into mbedos511
* commit 'e6a851f0a7310462f5f65e9f7955f9fdc71b84f0':
  Squashed 'features/nanostack/coap-service/' changes from bc331ca..c45afcd
2018-11-09 16:40:43 +02:00
Arto Kinnunen 9e661a9846 Merge commit '623607c9da4ccd5cc1d3d75ff185b3f8d29a473b' as 'features/nanostack/sal-stack-nanostack-eventloop' 2018-11-09 15:31:56 +02:00
Arto Kinnunen 2457efc20a Remove sal-stack-nanostack-eventloop 2018-11-09 15:29:30 +02:00
Kari Haapalehto 6163e6f425 Review changes corrected 2018-11-08 14:50:54 +02:00
Cruz Monrreal II 75368766f7 Merge branch 'fix_compile_warning' of ssh://github.com/KariHaapalehto/mbed-os into rollup 2018-11-06 21:29:08 -06:00
Arto Kinnunen ef39a19ba9 Merge commit '6dd01c679db4deb0a4a2c55832f3abe7b19bc51b' into mbedos511
* commit '6dd01c679db4deb0a4a2c55832f3abe7b19bc51b':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from 2535a6c..ccd30a3
2018-11-05 17:08:28 +02:00
Arto Kinnunen 3c37456f4c Merge commit '6a6dc452aa482a87421de660b3c57590cd43d6fa' into mbedos511
* commit '6a6dc452aa482a87421de660b3c57590cd43d6fa':
  Squashed 'features/nanostack/coap-service/' changes from cbe656a..bc331ca
2018-11-05 14:22:43 +02:00
Kari Haapalehto 4aaf013b0e Fix memory leak 2018-11-05 13:09:56 +02:00
Kari Haapalehto c7afb91f62 Fix compile warning about initializing and variable order 2018-11-05 12:45:53 +02:00
Kari Haapalehto 4440612d42 This is a initial version of Wi-Sun interface implementation.
To get Wi-Sun mesh network working, also nanostack with Wi-Sun support
is needed. ws_empty_functions.c and ws_management_api.h are temporary
included here, so that wisun_tasklet will compiled without problems.
They will replaced with the official versions with next nanostack release.
2018-10-31 15:48:33 +02:00
deepikabhavnani 451cf7ccb3 Add required namespace instead of relying on mbed.h
mbed.h has 'using namespace mbed;', hence some of the files skip
adding required namespace to the code, it is always good to specify the
namespace around the elements in header and `using namespace` in
specific CPP files, instead of all
2018-10-25 12:43:59 -05:00
Jarkko Paso 61f4af0320 FHSS timer driver: Check if timeout alloc fails 2018-10-18 16:38:06 +03:00
Jarkko Paso 1b01709b3b FHSS timer driver: Make number of timeouts configurable 2018-10-18 16:37:51 +03:00
Jarkko Paso ea0f4863a2 FHSS timer: Calculation in critical state 2018-10-18 16:37:37 +03:00
Jarkko Paso 440fbfd694 NS hal: Implemented FHSS driver 2018-10-18 16:37:00 +03:00
Cruz Monrreal 8054060bf2
Merge pull request #8439 from KariHaapalehto/connection_status
Correct mesh network connection status callback functionality.
2018-10-17 17:41:46 -05:00
Kari Haapalehto 1b1f5e7c0d Correct mesh network connection status callback functionality.
Now the status callback is only called if the status changed.
2018-10-17 08:30:58 +03:00
Deepika 9db31d299b Resolve build issues in test
mbed.h was added in test, via greentea and utest header files. 'mbed.h' is removed
from header files and required header file and namespace is added to CPP/C files
2018-10-16 11:50:16 -05:00
Deepika a47c6b8139 Nanostack: Add required header file and namespace element instead add all 2018-10-15 10:57:21 -05:00
Kevin Bracey 1ef213ec89 Clean up Thread deprecation warnings
Static Thread methods and signal methods have been deprecated. Remove
all references in the main code, and most of the tests. Some tests of
the deprecated APIs themselves remain.
2018-10-12 14:57:13 +03:00
Martin Kojtal 9c28794b2e
Merge pull request #8210 from JarkkoPaso/master
platform timer: Call timer start in enable
2018-10-09 10:34:57 -05:00
Jarkko Paso a3ec9f3982 platform timer: Call timer start in enable
This timer was never started and therefore read_us returned always 0 causing bad timings.
2018-09-21 11:53:56 +03:00
Steven 9a0fc98bdc Hotfix for PR #7778
TB_SENSE_12 would have been left behind by the changes in #7778. This commit implements the changes in mbed to allow targets to provide a default network interface for Silicon Labs targets.
2018-09-19 12:30:21 +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 06a98e7dcf
Merge pull request #7778 from SeppoTakalo/provide_default_mesh
Fix MeshInterface::get_default_instance()
2018-08-30 16:11:00 -05: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
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
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
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
Cruz Monrreal 2f8e679183
Merge pull request #7592 from orenc17/remove_uvisor
Remove uVisor from mbed-os
2018-08-25 19:52:24 -05:00
Oren Cohen 787317b7eb Remove uVisor from mbed-os 2018-08-22 16:36:59 +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
Cruz Monrreal b53a9ea4c0
Merge pull request #7780 from artokin/nsrc510_p1
Rename nanostack configuration (.cfg) files
2018-08-21 10:21:15 -05:00
Juha Ylinen b8a7e25e84 Nanostack: Fix return code for unsupported socket options 2018-08-20 16:30:19 +03: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
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
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
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
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
Juha Ylinen 942b77255b Nanostack: fix error code
Return NSAPI_ERROR_NO_MEMORY if socket->open() fails
2018-08-03 12:13:21 +03: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
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
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
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 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 ef86bf97b8
Merge pull request #7121 from kjbracey-arm/ns-emac-hardfault
Nanostack EMAC - avoid initialisation race
2018-06-11 08:42:03 -05: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
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
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
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
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 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
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
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
cyliangtw 665dc99096 Support default tz_module for event loop & lwip 2018-05-22 17:19:47 +08: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
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
Seppo Takalo f69531e82f Move EFR32 RF driver to TARGET_Silicon_Labs/TARGET_SL_RAIL
This folder structure is identical to where the target code
is found from targets directory.
2018-04-27 14:38:44 +03:00