Commit Graph

273 Commits (b69dc2bdae61bb0401ea98d7d565640c7ca33be0)

Author SHA1 Message Date
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
Seppo Takalo f0bf771502 Get rid of FEATURE_NANOSTACK
Allow FEATURE_NANOSTACK still to be defined in the build so
that we don't break any builds.
2018-04-27 14:38:44 +03:00
Seppo Takalo d1c6bc0913 Get rid of FEATURE_COMMON_PAL
Nanostack related files moved under 'feature/nanostack'
Common libraries moved to 'features/frameworks'

Allow FEATURE_COMMON_PAL still to be defined in the build so
that we don't break any builds.
2018-04-27 14:38:43 +03:00
Cruz Monrreal a19a528b65
Merge pull request #6745 from SeppoTakalo/mesh_docs
Clarify mesh configuration values.
2018-04-26 20:16:40 -05:00
Seppo Takalo b60454fac5 Clarify mesh configuration values.
Most of the help fields were correct. Just add field specifying
acceptable ranges.
2018-04-25 15:33:40 +03:00
Steven Cooreman c0ee42a6e7 Update to EFR32 15.4 driver
* Updates driver library to v2.3.1 (2018q1) for bugfixes and convenience functions
* Provides library in correct format (2-byte wchar_t flag) for compiling with ARMCC (#6695 uncovered by #6577)
* Reverts to using a statically-allocated packet buffer since malloc is not thread-safe (and the asserts have been turned on)
2018-04-22 23:23:02 -05:00
Seppo Takalo fbea6f15e2 Add missing Doxygen descriptions for Nanostack
Fix couple of parameter issues as well.
2018-03-21 14:15:28 +02:00
Cruz Monrreal abb74e8cbc
Merge pull request #6092 from kjbracey-arm/mesh-help
mbed-mesh-api: add JSON help
2018-03-15 10:57:02 -05:00
Kevin Bracey 79b3d068e9 mbed-mesh-api: revise some Thread JSON help 2018-03-07 09:35:04 +02:00
Deepak Venugopal 4a3160f442 Merge commit '41d7448660fb20d72ab17615e23c9e64005934e3'
* commit '41d7448660fb20d72ab17615e23c9e64005934e3':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from f6281ed..f40072f
2018-03-02 09:49:36 +02:00
Bartek Szatkowski 4cb47df40a Add system_reset() function to Mbed OS 2018-02-28 16:42:34 +00:00
Kevin Bracey 984cc1ab50
Merge pull request #6032 from jarlamsa/status-callbacks
Status callbacks
2018-02-15 13:02:10 +02:00
Kevin Bracey d07b9f30eb mbed-mesh-api: add JSON help 2018-02-14 14:29:10 +02:00
Jarno Lamsa fd92fe1906 Add void *param to loopback functions 2018-02-09 13:58:56 +02:00
Arto Kinnunen ff47193a0a Add API for reading interface ID 2018-02-09 13:23:39 +02:00
Deepak Venugopal 7d555a3db7 Merge commit '7197b5fd51825257ee04dac5dfd0d16ea1896853'
* commit '7197b5fd51825257ee04dac5dfd0d16ea1896853':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack/' changes from c9bf20f..43c7ec2
2018-02-09 13:18:25 +02:00
Deepak Venugopal dc7be499ad Merge commit 'df0dc6cd3395ceb44eed35d0b2f341ba7e3e0b91'
* commit 'df0dc6cd3395ceb44eed35d0b2f341ba7e3e0b91':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from 8689fca..f6281ed
2018-02-09 12:55:16 +02:00
Jarno Lamsa 282f3c9da2 Add support for error cases for lwip and nanostack 2018-02-09 12:44:31 +02:00
Teemu Kultala 5a7482667e NSAPI status callback changes
This is the original content of feature-status-callbacks, reviewed in
https://github.com/ARMmbed/mbed-os/pull/5457
2018-02-09 12:44:31 +02:00
Kari Severinkangas f63dbf56db Mesh-api setters for eui64 and pskd 2018-02-07 16:45:39 +02:00
Cruz Monrreal f4aba252de
Merge pull request #5836 from artokin/thread_commissioning_fix
Thread commissioning fix
2018-01-19 11:29:58 -06:00
Kevin Bracey 268a07db37 NSAPI: Add Nanostack multicast membership support
Add support for recently introduced NSAPI generic socket options to
control group membership. Previously applications using Nanostack would
have had to use Nanostack's native socket options.
2018-01-17 14:30:45 +02:00
Arto Kinnunen 8151e55838 Merge commit '47341478379429c08c468093e0326b5c79ecbc62'
* commit '47341478379429c08c468093e0326b5c79ecbc62':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from d0a2597..8689fca
2018-01-12 14:02:31 +02:00
Tero Heinonen d8b369f5b2 mesh-api documentation removed
All documentation is now in Handbook
2018-01-09 12:37:06 +02:00
Cruz Monrreal II 6d042d4ad4
Merge pull request #5736 from SeppoTakalo/ONME-3199
Allow 6LoWPAN applications to leave out channel specification.
2017-12-28 17:51:04 +00:00
Martin Kojtal 227b0341cb
Merge pull request #5670 from ryankurte/fix/efr32-ack-flag
Nanostack EFR32 flag fix
2017-12-20 14:42:51 +00:00
Seppo Takalo 4f36bb6480 Allow 6LoWPAN applications to leave out channel specification.
When specifying a full channel mask in .lib and setting the channel
to zero, device does proper channel scan.

For Thread, channel must be specified for router.
Sleepy devices don't respect the channel settings but do a full channel
scan at the start.

+ Modified the channel mask print to use hex.
2017-12-20 15:12:58 +02:00
Arto Kinnunen e78db9edd6 Update Thread PSKd default value
Thread PSKd can contain only uppercase characters.
2017-12-12 10:45:48 +02:00
Arto Kinnunen efc7f60799 Merge commit '6c0b324e3a5a9a5c22dc4c3a66b6c892b9ed1644' into coap-service-fix-mbedos57oob
* commit '6c0b324e3a5a9a5c22dc4c3a66b6c892b9ed1644':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from 29bfb78..d0a2597
2017-12-12 10:41:08 +02:00
Ryan Kurte 136ac17947 Nanostack flag fix 2017-12-07 14:23:35 +13:00
Martin Kojtal 41591eb83b
Merge pull request #5602 from artokin/nanostack_release_v704
Nanostack release v704
2017-11-30 18:26:45 +00:00
Martin Kojtal 118c1bb2b4
Merge pull request #5579 from SiliconLabs/feature/rail-2.1
Upgrade Silicon Labs radio driver to v2.1.1
2017-11-30 18:10:46 +00:00
Arto Kinnunen 3252fa0971 Remove mbed-mesh-example and application 2017-11-29 21:37:10 +02:00
Arto Kinnunen 32abfcfe77 Merge commit '041b6fa73681061072f970e9cf11ff4d422fa04b' into nanostack_release_v704
* commit '041b6fa73681061072f970e9cf11ff4d422fa04b':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack/' changes from 0697d9a..c9bf20f
2017-11-29 21:34:19 +02:00
Arto Kinnunen 0413253181 Merge commit 'f900accac5b4efc426e0c2889e78ed9cd8de9b68' into nanostack_release_v704
* commit 'f900accac5b4efc426e0c2889e78ed9cd8de9b68':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from 471121d..29bfb78
2017-11-29 09:41:27 +02:00
Arto Kinnunen ac4fae8618 Merge commit 'f5265c3d2083333276909cf7b16c89657aa7d58a'
* commit 'f5265c3d2083333276909cf7b16c89657aa7d58a':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from b1c9efb..471121d
2017-11-28 13:50:00 +02:00
Arto Kinnunen fc6aeb95ff Merge commit '6887e495f0cb0b3009e4da7c0282c1542bbb2608'
* commit '6887e495f0cb0b3009e4da7c0282c1542bbb2608':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack/' changes from 0a5ef1c..0697d9a
2017-11-28 13:48:31 +02:00
Arto Kinnunen 97cf8869da Add apache license to nanostack-interface 2017-11-28 11:52:43 +02:00
Arto Kinnunen 0c041b95f1 Remove obsolete clone_nanostack script 2017-11-28 09:45:09 +02:00
Steven Cooreman 21d0920068 Use mbed_sleep API instead of Silicon Labs specific sleepmode API 2017-11-24 15:36:44 +01:00
Steven Cooreman a2514fdef3 Clear TX FIFO on every transmit
Need to avoid a TX packet error from messing up the TX FIFO. Since this API will return busy if a packet is in transmission anyways, this is acceptable.
2017-11-24 14:49:53 +01:00
Steven Cooreman 812e47ca9c Add sleep mode blocking to avoid going into EM2 during RTOS idle handler 2017-11-24 14:03:10 +01:00
Steven Cooreman 76fd28c825 Upgrade RAIL to v2.1.1 2017-11-24 12:57:43 +01:00
Arto Kinnunen 02290f9dd7 Merge commit '03d1c4331350e6be4455b5234101075268431f11' into nanostack-release-candidate
* commit '03d1c4331350e6be4455b5234101075268431f11':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack/' changes from 8f75e39..0a5ef1c
2017-11-22 11:22:16 +02:00
Arto Kinnunen 1004858c2e Merge commit '0c2a41eb5599925945111589529ad6da4ea1e5a4' as 'features/nanostack/FEATURE_NANOSTACK/sal-stack-nanostack' 2017-11-16 15:45:42 +02:00
Arto Kinnunen 1432affba1 Merge commit '1bc6ddc3e8fbdcc8f301b0c78de43582b376a434' into nanostack-release-candidate
* commit '1bc6ddc3e8fbdcc8f301b0c78de43582b376a434':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from d65b6b0..b1c9efb
2017-11-16 14:21:33 +02:00
Arto Kinnunen 02a3f3c90f Remove nanostack binary libraries
-Remove nanostack binary libraries
-Remove content from sal-stack-nanostack
-Update contribution rules.
-Remove binary LICENSE
2017-11-16 14:20:28 +02:00
Ryan Kurte 37a38d08ea Swapped to macro definition for debug prints 2017-11-01 11:02:08 +13:00
Ryan Kurte c64c7b8624 Added critical section around rf_start_cca 2017-10-31 23:48:03 +13:00
Ryan Kurte 5f76ff996b Threaded wrapper for rail driver on EFR32 platforms
Updated NanostackRfPhyEfr32 with a receive queue.
Cleaned up debug messages, re-added to non-threaded calls.

Removed debug print override

Removed tr_debug override

Removed normal-operation prints that could have timing implications if enabled

Removed dead NVIC code (and a couple of dead log outputs)
2017-10-31 23:48:03 +13:00
Jimmy Brisson 2a57d598dc Merge pull request #5252 from ARMmbed/6lowpan-enable-MPL
Enable MPL by default for 6LoWPAN-ND.
2017-10-13 09:25:32 -05:00
Seppo Takalo 720ebc130c Enable MPL by default for 6LoWPAN-ND.
In Thread network, MPL is already enabled so this causes
both to behave similarly.
2017-10-04 15:22:16 +03:00
Juhani Puurula 2b27ad15b2 Nanostack v6.2.2 2017-10-04 10:01:14 +03:00
Arto Kinnunen 0920cfc600 Fix redefinition of mbed TLS error codes
-Use guards around MBEDTLS macros.
2017-09-19 11:25:40 +03:00
Arto Kinnunen 29a58635d9 Update Nanostack to v6.2.1
v6.2.1 targeted to mbed OS 5.6 release.
2017-08-25 16:24:52 +03:00
Arto Kinnunen 9d5a9f5a29 Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0
d65b6b0 Update unittests for nsdynmemlib API change (#71)
bc69b8b Disable CoAP duplicate message detection (#69)
ccb65f8 Change year 2017 to copyright (#68)
76490a7 Add option to join COAP multicast group (#67)
381d910 Register to multicast groups (#66)
dce323c Add transaction delete to CoAP service (#65)
feea33e Add option to select used socket interface (#63)
5a5c0f9 Merge pull request #62 from ARMmbed/coap_separation
0d26c00 Modifying file headers and Makefile  to adapt from libcoap to mbed-coap
d323c3a Fixing unit tests based on new coap library
d1a3d25 Modifying Makefile and source file based on new coap library

git-subtree-dir: features/nanostack/FEATURE_NANOSTACK/coap-service
git-subtree-split: d65b6b0eb890be93f667debe8da83aa498021ccf
2017-08-23 15:09:48 +03:00
Arto Kinnunen ca15df3db0 Merge commit '9d5a9f5a29d19b2e67402e4e452e13ce75baca7c'
* commit '9d5a9f5a29d19b2e67402e4e452e13ce75baca7c':
  Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0
2017-08-23 15:09:48 +03:00
Arto Kinnunen a24fb4e5b1 Update Nanostack to v6.2.0
Nanostack v6.2.0 will be used in mbed-os-5.6
2017-08-23 15:06:32 +03:00
Seppo Takalo a2c4426965 Allow using of malloc() for reserving the Nanostack's heap.
Some devices have RAM memory split into two sections.
This becames a problem for GCC based toolchains as they don't
support splitting .bss or .data sections into two memory parts.
When we run out of memory from .bss sections, allocating the stack
by malloc() allows it to be moved to .data section which might already
be in the second memory section. For example KW24D platform.
2017-08-08 11:20:22 +03:00
Jimmy Brisson 3f52924821 Merge pull request #4738 from SeppoTakalo/compile_warnings
ONME-3113: Fix GCC_ARM and ARM compiler warnings from mbed-mesh-api
2017-07-27 09:42:18 -05:00
Kari Haapalehto f3c7e0dbc0 ONME-3113: Fix GCC_ARM and ARM compiler warnings from mbed-mesh-api
Warning #1300-D: inherits implicit virtual
- Adding the virtual keyword in the derived class prevents the warning

Warning #1-D: last line of file ends without a newline
- New line added at the end of file

Warning #997-D:
function "MeshInterfaceNanostack::initialize(NanostackPhy *)" is hidden
by "ThreadInterface::initialize"  -- virtual function override intended?
- virtual keyword removed from "MeshInterfaceNanostack::initialize"

Warning #1300-D: inherits implicit virtual
- Adding the virtual keyword in the derived class prevents the warning
2017-07-11 15:56:08 +03:00
Kari 3c44a20dd0 [ONME-3089] - Adjust lowpan ND interface connect timeout
Device needs to wait for connectivity:
-routers will create new network and get local connectivity
-end device will get connectivity once attached to existing network
-devices without network settings gets connectivity once
 commissioned and attached to network

Signed-off-by: Kari <kari.haapalehto@arm.com>
2017-06-29 11:02:04 +03:00
Seppo Takalo a36c9abca0 Fix compilation for NCS36510 RF driver.
RTX porting for this driver was done against the previous API that
have now been reverted.
2017-06-08 13:54:33 +03:00
Bartek Szatkowski b793a3fb89 Update codebase for CMSIS5/RTX5
Update all of mbed-os to use RTX5.
2017-05-30 18:55:52 +01:00
Sam Grove ef7ab92cb8 Merge pull request #4345 from ARMmbed/nanostack_update
Nanostack update
2017-05-26 17:01:29 -05:00
Sam Grove cb61fc5f81 Merge pull request #4333 from artokin/thread_interface_timeout
Adjust Thread interface connect timeout
2017-05-26 10:23:28 -05:00
Kari Severinkangas 4a438b6ab2 Thread minimal end device operating mode added 2017-05-19 11:30:11 +03:00
Seppo Takalo 3126c3abf1 Update Nanostack to v6.1.0 2017-05-18 11:51:14 +03:00
Arto Kinnunen 28a6fa1819 Adjust Thread interface connect timeout
Thread device needs to wait for connectivity:
-routers will create new network and get local connectivity
-end device will get connectivity once attached to existing network
-devices without network settings gets connectivity once
 commissioned and attached to network
2017-05-17 12:45:52 +03:00
Kari Severinkangas f5d6e7d33c Update README.md
Minor changes
2017-04-12 15:21:02 +03:00
Kari Severinkangas 7d2b03bde8 Update README.md
Config table updated
2017-04-11 16:37:52 +03:00
Kari Severinkangas e10f2ae287 irrelevant zeros removed from timestamp 2017-04-11 16:19:01 +03:00
Kari Severinkangas e52d3db50e Security policy defined in .json 2017-04-11 15:45:12 +03:00
Sam Grove c776eaa767 Merge pull request #3987 from karsev/thread_link_config_update
thread link configuration bypass flag in mesh-api
2017-04-10 10:16:05 -05:00
Kari Severinkangas 8862edefad -useless static_config.h removed 2017-03-28 11:46:40 +03:00
Kari Severinkangas b2b106c431 config update to the previous commit 2017-03-28 11:16:05 +03:00
Kari Severinkangas 156cd00d66 - some refactoring and cleaning 2017-03-28 11:14:03 +03:00
Kari Severinkangas 90d4590a05 Arm powered core removed. 2017-03-22 14:27:48 +02:00
Kari Severinkangas f359b60c2a thread-static-link-config paramter added
when false thread has empty link config
must join the network by commissioning
2017-03-22 11:08:31 +02:00
Steven Cooreman d2173574d0 Stop using device_has for non-mbed options
As asked by @0xc0170 in PR #3934, we won't be using device_has for indicating RF/Crypto features any longer. RF config options moved to the SL_RAIL lib.json, crypto config options will come with mbedTLS integration.
2017-03-21 16:23:52 +01:00
Steven Cooreman 2ee05def53 EFR32 radio driver small fixes
* Reduce verbosity of EFR32 radio driver when debug tracing is on.
* Correctly pass pending bit of received ACK to the stack.
2017-03-21 16:23:50 +01:00
Steven Cooreman 59dc6da5c4 Update to Gecko SDK 5.1.2
Update RAIL library to 1.5.1
2017-03-20 16:34:12 +01:00
Steven Cooreman 0e098678b5 First pass on TB Sense (and EFR32MG12) support 2017-03-20 16:34:12 +01:00
Sam Grove 371aaa53c3 Merge pull request #3789 from yogpan01/master
Separating CoAP library from mbed-client-c
2017-02-23 15:44:58 -06:00
Sam Grove 3642c3b226 Merge pull request #3736 from karsev/thread_config_update
Thread config update
2017-02-23 10:18:48 -06:00
Yogesh Pande d3b48a8e2d Merge remote-tracking branch 'upstream/master' 2017-02-23 08:15:51 +02:00
Christopher Haster aff49d8d1e Renamed files in platform to match source names
critical.h     -> mbed_critical.h
sleep.h        -> mbed_sleep.h
toolchain.h    -> mbed_toolchain.h
rtc_time.h     -> mbed_rtc_time.h
semihost_api.h -> mbed_semihost_api.h
wait_api.h     -> mbed_wait_api.h
2017-02-22 18:17:54 -06:00
Kari Severinkangas 52ca190474 timestamp bit moved to correct place. 2017-02-22 14:03:59 +02:00
Kari Severinkangas 81452424d4 Security related traces removed. Network name copy fixed. 2017-02-22 13:59:31 +02:00
Kari Severinkangas 407d8d3962 yotta defines removed. minor edits on thread conf. 2017-02-22 13:59:31 +02:00
Kari Severinkangas ba5cd8c6d6 IOTTHD-1028: thread config update 2017-02-22 13:59:31 +02:00
Kari Severinkangas a26a80d686 IOTTHD-1028: thread config update 2017-02-22 13:59:31 +02:00
Yogesh Pande f57433a00a Separating CoAP library from mbed-client-c
This commit includes
 - Removing CoAP sources from mbed-client-c to its own repository.
 - mbed-client-c is moved outside of mbed-os source tree because it is used by mbed-client, so
   it will be part of mbed-client offering.
 - CoAP sources are used by coap-service which is a part of nanostack deliveries hence coap now existing
   as independent module under mbed-coap.

 - Commit handles the interdepdency of coap-service with mbed-client-c because of coap sources, coap-service
   header files are now fixed to point to right header directory.
2017-02-16 19:08:28 +02:00
Hasnain Virk 1ac5700eb6 [ONME-2953 ]Minor glitch in error handling
In sendto(), memory allocation failures were mistakenly being treated as
would blocks (assumption was that the device might be able to recover).
However, that put the blocking socket into deep sleep and there was no mechanism to wake it up
ever again. Somehow that got slipped through testing. Fixed in this amenment
2017-02-13 16:37:12 +02:00
Hasnain Virk 1f24533847 Minor amendments
NanostackLockGuard usage is now consistent throughout.
Missing Lock assertion added at a few locations in the code
2017-02-13 11:13:56 +02:00
Seppo Takalo 7dc2dc8c66 Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from a1982c1..e125164
e125164 Check secure session pointer in timer callback (#61)
f49e596 Update unit tests (#59)
6a5634a Support for multiple virtual services (#58)
7fe6b98 Remove yotta files (#57)
5c5c8fe Fix socket send return value overflow (#56)
0870d05 Update unit test stubs to match latest socket api (#55)
e687be8 Merge pull request #54 from ARMmbed/warn_fixes
b8fe613 updated unittests
8640d05 Compilation warnings fixed
eea83e5 Flag out entropy source addition (#53)
7d72eb4 Fix unittests (#52)
4a6991e Avoid referencing ns_msghdr_t::flags

git-subtree-dir: features/nanostack/FEATURE_NANOSTACK/coap-service
git-subtree-split: e1251645d38d5b1b90350957f0e8b66e0fb59235
2017-02-12 22:06:41 +02:00
Seppo Takalo 667006e1ba Nanostack 6.0.1 2017-02-12 22:05:33 +02:00
Hasnain Virk e4f91cd0dc [ONME-2927] Socket adaptation layer for nanostack
As a result of major overhaul in Nanostack generally for socket API and especially
for TCP, the adaptation layer for mbed-OS is being upgraded.

Previously, as nanostack was not able to provide receive queue, adaptation layer had been
faking it. Now with Stream Socket by default Nanostack provides 2K receive queue and 2K send queue.
Receive queue size can be changed using setsockopt(). Batre metal nanostack would not provide with any
receive queues with Datagram Socket, however in this adaptation layer we introduce a 2K receive queue size
for the Datagram Socket as well.

Layer state machine handling is polished to ensure robustness.

::socket_connect() will can return 2 new error codes now. NSAPI_ERROR_ALREADY (like posix EALREADY) in case
if the connection is in progress or NSAPI_ERROR_IS_CONNECTED (like posix EISCONN) if already connected.
NSAPI_ERROR_WOULDBLOCK is now mapped directly to nanostack NS_WOULDBLOCK.

NanostackLockGaurd class is introduced which enables us to claim and release mutex using RAII style.
2017-02-12 22:05:26 +02:00
Seppo Takalo 1a5d6d7f19 Add support for ethernet-only configuration with Nanostack.
This saves about 100kB of flash when using ethernet only configuration.
Otherwise only border router configuration was supporting ethernet.
2017-01-09 18:26:56 +02:00
Martin Kojtal ab2e869a24 Merge pull request #3157 from SiliconLabs/SiliconLabs-EFR32
[Silicon Labs] Adding support for EFR32MG1 wireless SoC
2016-12-02 15:46:35 +01:00
Steven Cooreman ad773716ff [EFR32] Move Nanostack driver to Nanostack folder
mbed compile doesn't support two different FEATURE_X folders being merged, so we'll have to move our nanostack driver into the Nanostack folder for the time being.
2016-11-18 10:58:36 +01:00
Seppo Takalo 3d5962db48 Return localhost from NanostackInterface::get_ip_address()
For NetworkStack::gethostbyname() to properly validate the
IP address version, we must return a valid address from
Networkstack::get_ip_address().
2016-11-16 19:07:23 +02:00
Seppo Takalo 9f8fe897d8 Add documentation for NanostackEthernetInterface. 2016-11-15 15:30:39 +02:00
Seppo Takalo ae885ca0e9 Implement Ethernet interface for Nanostack.
* New Phy type: NanostackEthernetPhy
* New tasklet: enet_tasklet.
* New Interface: NanostackEthernetInterface,
  inherited from MeshInterfaceNanostack
2016-11-15 13:15:52 +02:00
Seppo Takalo 7732adb8a0 Rename NanostackRfPhy to NanostackPhy
This is to allow other types of PHY drivers than just RF.
Mesh-API does not actually care about driver type, it is drivers
responsibility to register right handlers with Nanostack.

* Implement a wrapper class NanostackRfPhy to ensure backward
  compatibility.
* Remove mesh_connect()/disconnect() functions from MeshInterface
  This job is already done in inherited classes.
* LoWPANNDInterface and ThreadInterface should only be used with
  NanostackRfPhy.
2016-11-15 13:12:18 +02:00