Commit Graph

516 Commits (ad79c20c6a30d3bbe8cdb43899c379b5298c31c6)

Author SHA1 Message Date
Seppo Takalo 6ba755e444 Move MeshInterfaceNanostack to own file.
+Also nanostack_lock() moved to mesh_system.h
+Added includes into NanostackInterface.h to be backward
compatible
2016-11-15 13:12:18 +02:00
Seppo Takalo 27cced74fb Get rid of Mesh6LoWPAN_ND and MeshThread classes.
* Move all the functionality to LoWPANNDInterface and
    ThreadInterface classes.
* AbstractMesh class modified to be pure virtual
* Thread/6LoWPAN specific functionality totally separated.
    Now linker will drop the unreferenced classes.
* MeshInterfaceNanostack now inherits from AbstractMesh
2016-11-15 13:12:18 +02:00
Seppo Takalo 62558e9cff Get rid of AbstractNetworkInterface class. 2016-11-15 13:12:18 +02:00
Seppo Takalo 154d66404a Get rid of MeshInterfaceFactory. 2016-11-15 13:12:18 +02:00
Seppo Takalo 53cc28f4c5 Remove some references to YOTTA_CFG. 2016-11-15 13:12:18 +02:00
Sam Grove b6cc841a54 Merge pull request #3248 from LMESTM/fix_i2c_f411re_pins
test i2c slave: use standard Arduino pins for NUCLEO_F411RE
2016-11-14 21:50:59 -06:00
Sam Grove 71d253c86d Merge pull request #3240 from ARMmbed/ns_integration
Ns integration
2016-11-14 21:50:33 -06:00
Anna Bridge 405f8937a7 Merge pull request #3191 from tung7970/fix-mbedos
Fix lwip_mac_address buffer overflow and set_ip_bytes out of bound access
2016-11-10 17:05:38 +00:00
Anna Bridge 805af00b87 Merge pull request #3194 from NXPmicro/Update_K64_SDK_Drivers
Update K64 sdk drivers
2016-11-10 17:05:02 +00:00
Vincent Coubard 453045ab74 [BLE - NRF5] Add support for long write requests. 2016-11-10 16:58:07 +00:00
Anna Bridge 5fd81b37c3 Merge pull request #3232 from geky/nsapi-fix-gethostbyname-unspec-literal
nsapi - Fix missing NSAPI_UNSPEC check in gethostbyname for ip literals
2016-11-10 16:54:27 +00:00
Laurent MEUNIER 458752262e test i2c slave: use standard Arduino pins for NUCLEO_F411RE 2016-11-10 15:25:46 +01:00
Bartek Szatkowski db15c1a0a3 WiFi: Minor fixes to docs and includes 2016-11-10 09:40:48 +00:00
Mika Leppänen 4babe02b62 Added clearing of ipv6 addresses to lwip bringdown function 2016-11-10 09:07:35 +02:00
Christopher Haster b04a8da574 nsapi - Added test cases for gethostbyname
- test_dns_query
- test_dns_query_pref
- test_dns_literal
- test_dns_literal_pref
2016-11-09 12:11:02 -06:00
Laurent MEUNIER 4c36b9cb77 test i2c asynch : test transfer return value 2016-11-09 18:03:09 +01:00
Laurent MEUNIER 3897d93b71 test i2c asynch: Remove printf usage from interrupt context
The cbmaster_done function is a callback which will be called from
the asynch I2C interrupt handler. Calling to printf from this context
sometimes lead to missing interrupts on the slave side. This was at least
encountered on STM32F3 MCUs.
2016-11-09 18:03:07 +01:00
Seppo Takalo c71abfed26 Update NanostackSocket to match API changes in v5.0.7 2016-11-09 16:07:13 +02:00
Seppo Takalo cbb300db9c Nanostack v5.0.7 2016-11-09 15:42:41 +02:00
Seppo Takalo e27c7840d7 Don't clone coap-service, it's subtree now 2016-11-09 15:34:58 +02:00
Seppo Takalo 1e791e2e76 Add 'features/nanostack/FEATURE_NANOSTACK/coap-service/' from commit 'a1982c1de752c50410d975a03f505a69972539f5'
git-subtree-dir: features/nanostack/FEATURE_NANOSTACK/coap-service
git-subtree-mainline: c0adb069c9
git-subtree-split: a1982c1de7
2016-11-09 15:27:17 +02:00
Seppo Takalo c0adb069c9 Remove coap-service 2016-11-09 15:26:30 +02:00
Seppo Takalo 8c669c6f40 Add 'features/FEATURE_COMMON_PAL/mbed-client-randlib/' from commit '26cdd3904f3042c21155a39e940fafb266af20d2'
git-subtree-dir: features/FEATURE_COMMON_PAL/mbed-client-randlib
git-subtree-mainline: 6aedb5aeb7
git-subtree-split: 26cdd3904f
2016-11-09 15:13:57 +02:00
Seppo Takalo 6aedb5aeb7 Remove Randlib 2016-11-09 15:10:38 +02:00
Michel Jaouen 26bd467995 TARGET_STM : USB FS device support on ST HAL 2016-11-09 12:08:50 +01:00
Christopher Haster a3ad6181f4 nsapi - Fixed missing NSAPI_UNSPEC check in gethostbyname for ip literals 2016-11-08 18:05:35 -06:00
Martin Kojtal 96e1d5bd73 Merge pull request #3221 from andreaslarssonublox/ublox_odin_w2_drivers_update
u-blox odin w2 drivers update
2016-11-08 10:24:53 +00:00
Sam Grove 074555b715 Merge pull request #3113 from geky/static-assert
Add static assert macro
2016-11-07 10:25:17 -06:00
Christopher Haster 40836b11a5 nsapi - Removed assertions on same-thread send/recv
Initially these assertions were added to protected simultaneous
send/recv from the same socket when similarly purposed mutexes were
removed.

However, simultaneous send/recv can still be useful for UDP if the
payload is guaranteed to be less than the MTU across the entire
connection.
2016-11-07 09:43:09 -06:00
andreas.larsson e111810830 Added emac_stack_mem_copy. Needed by the u-blox ODIN-W2 driver. 2016-11-07 15:52:56 +01:00
Martin Kojtal 7eaf32baa0 Merge pull request #3075 from geky/nsapi-error-size-types-2
nsapi - Add standardized return types for size and errors
2016-11-07 11:13:40 +00:00
Steven Cooreman 3cfdf8f302 Make GreenTea respect STDIO baud rate 2016-11-07 11:57:02 +01:00
Tony Wu 70ad0f5226 netsocket - Fix set_ip_bytes out-of-bound access
set_ip_bytes() does a 16-byte memcpy from the input buffer to
the local nsapi_addr_t despite the address version.

If the address version is ipv4, the input buffer may only be
4-byte in size. This causes a out-of-bound access on the input buffer.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2016-11-04 11:02:34 +08:00
Tony Wu d039d30abe lwip - Fix lwip_mac_address buffer overflow
Sounds serious, but should be benign.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2016-11-03 20:16:58 +08:00
Mahadevan Mahesh 177eaff847 K64F ENET: Update to remove unused variable. This is no longer available in the updated SDK ENET driver 2016-11-03 07:07:49 -05:00
Sam Grove 16a8d2380e Merge pull request #3185 from NXPmicro/Update_Tests
Update tests to fix build failures. Also make the code similar to oth…
2016-11-03 02:24:07 -05:00
Sam Grove 35dbb3f256 Merge pull request #3166 from kjbracey-arm/ipv6_dns_server
nsapi_dns: Provide 2 IPv6-hosted default servers
2016-11-03 02:17:52 -05:00
Sam Grove 53b31318d0 Merge pull request #3165 from kjbracey-arm/ns_ipv6_checks
Add address type checks to NanostackInterface
2016-11-03 02:16:42 -05:00
Sam Grove 6712ed1b71 Merge pull request #3099 from maximmbed/max32625
MAX32625
2016-11-03 02:15:43 -05:00
Sam Grove 8b05a2a02b Merge pull request #3078 from infinnovation/lwip-config
lwip: Allow several configuration macros to be set externally (bis)
2016-11-03 02:15:10 -05:00
Christopher Haster 00458c391c nsapi - Adopted standardized return types in the Nanostack interfaces 2016-11-02 15:55:42 -05:00
Christopher Haster 78b9357c80 nsapi - Adopted standardized return types in lwip 2016-11-02 15:25:22 -05:00
Christopher Haster ba748ac1f8 nsapi - Added standardized return types for size and errors
nsapi_error_t         - enum of errors or 0 for NSAPI_ERROR_OK
nsapi_size_t          - unsigned size of data that could be sent
nsapi_size_or_error_t - either a non-negative size or negative error
2016-11-02 15:25:22 -05:00
Mahadevan Mahesh ac9668a498 Update tests to fix build failures. Also make the code similar to other tests
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-02 11:45:14 -05:00
Martin Kojtal fe80efe1bb Merge pull request #3072 from jeromecoutant/PR_I2C_TESTS
i2c_loop tests update for STM32
2016-11-02 13:01:29 +00:00
Christopher Haster 98db3ab1cb Adopted MBED_STATIC_ASSERT where possible 2016-11-01 21:39:48 -05:00
Sam Grove 7829b2f9bf Merge pull request #3161 from geky/nsapi-dns-version-heuristic
nsapi - Add better heuristic for the default record of DNS queries
2016-11-01 14:17:08 -05:00
Sam Grove 2a3f4eda19 Merge pull request #3162 from geky/nsapi-warning-cleanup
lwip/nsapi - Clean up warnings in network code
2016-11-01 14:15:08 -05:00
Sam Grove fcfc7b46a7 Merge pull request #3135 from geky/lwip-fix-cyclic-buffer-leak
lwip - Fix memory leak in k64f cyclic-buffer overflow
2016-11-01 14:12:24 -05:00
Sam Grove b777a9c145 Merge pull request #3143 from marcuschangarm/config-store-fix
CFStore fix needed for the Cloud Client
2016-11-01 14:08:39 -05:00
Sam Grove 6893535353 Merge pull request #3169 from bridadan/USB_Updates
[Update of #3014] Usb updates
2016-11-01 10:20:57 -05:00
Jeremy Brodt 2b35a62819 Add wait for serial characters to transmit before deleting serial object. 2016-11-01 09:46:51 -05:00
Martin Kojtal 8a9a246356 Merge pull request #3158 from mikaleppanen/6lowpan_panid_filter
Add support for 6lowpan PAN ID filter to mbed mesh api configuration
2016-10-31 14:38:31 +00:00
Kevin Bracey aa583bd8ce nsapi_dns: Provide 2 IPv6-hosted default servers
Replace Comodo and OpenDNS IPv4 servers with Google and DNS.WATCH IPv6
servers, so IPv6-only devices (eg 6LoWPAN) have a default.

3 IPv4 resolvers should be plenty - existing code doesn't remember which
one last worked, so if early list entries were unreachable performance
would be consistently bad anyway. Replacing two entries avoids
increasing image size and RAM consumption.

On an IPv6-only or IPv4-only system, the sendto() for the wrong type of
address should fail immediately - change loop to move on to the next
server for any sendto() error.
2016-10-31 15:48:54 +02:00
Kevin Bracey 2135c8f368 NanostackInterface: Remove string round-trips
Older versions of SocketAddress required conversion via string - this is
no longer the case.
2016-10-31 10:20:24 +02:00
Kevin Bracey b2834b9aa6 NanostackInterface: Allow binding to address
These days Nanostack does let you bind to an address - permit this.
(Remembering to check it is an IPv6 address).
2016-10-31 10:20:24 +02:00
Kevin Bracey 8e5391ab85 NanostackInterface: Check input address is IPv6
For the two calls that use the address - sendto and connect, check that it
actually is an IPv6 address.
2016-10-31 10:20:18 +02:00
Christopher Haster 8b7c051d03 lwip - Change k64f emac layer to drop frames on buffer exhaustion
Previously, exhausting hardware buffers would begin blocking the lwip
thread. This patch changes the emac layer to simply drop ethernet
frames, leaving recovery up to a higher level protocol.

This is consistent with the behaviour of the emac layer when unable
to allocate dynamic memory.
2016-10-28 15:22:08 -05:00
Christopher Haster 42105371ef lwip/nsapi - Cleaned up warnings in network code
- cc.h@57,1: "BYTE_ORDER" redefined
- lwip_inet_chksum.c@560,44: passing argument 1 of 'thumb2_checksum'
  discards 'const' qualifier from pointer target type
- lwip_pbuf.c@1172,9: variable 'err' set but not used
- SocketAddress.cpp@293,1: control reaches end of non-void function
2016-10-28 14:24:52 -05:00
Mahadevan Mahesh ef56b3d712 FAT tests: Add support for KL43Z
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-10-28 12:12:26 -05:00
Mahadevan Mahesh 046f3cdb26 Update USB driver for devices with Kinetis SDK support
1. Fix build issues with IAR and GCC toolchain
2. Update clock initialization code

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-10-28 11:47:20 -05:00
Christopher Haster d8d2b0a41d nsapi - Added better heuristic for the default record of DNS queries
Takes advantage of the get_ip_address function to predict the IP
address version wanted by the underlying interface. The should avoid
the need for most IPv6 interfaces to overload gethostbyname.

suggested by @kjbracey-arm
2016-10-28 11:41:33 -05:00
Martin Kojtal c9f9ffa583 Merge pull request #3140 from bridadan/remove_getchar_greentea_client
[tests] Replacing getchar with RawSerial getc in greentea-client
2016-10-28 15:34:13 +02:00
Mika Leppänen fae713e4d1 Added support for 6lowpan PAN ID filter to mbed mesh api configuration 2016-10-28 13:28:11 +03:00
Steven Cooreman c0301b15d2 [EFR32] Adding hardware acceleration for mbed TLS
Initial check-in of hardware acceleration support on EFR32 for mbed TLS (AES, SHA and ECC).
2016-10-27 23:28:25 -07:00
Marcus Chang 8876b7ef38 Removed static declaration for the StorageVolumeManager in the CFStore because this componenent is shared across all users of the flash. Added define guards to the CFStore location and size so that these can be changed from the settings file. 2016-10-27 10:26:28 +01:00
Martin Kojtal bd4eca325b Merge pull request #3024 from jeromecoutant/PR_analog_loop
analog_loop tests update for STM32
2016-10-27 11:02:10 +02:00
Martin Kojtal ba47aa546b Merge pull request #2897 from geky/nsapi-consistent-unspec
nsapi - Standardize support of NSAPI_UNSPEC
2016-10-27 10:26:00 +02:00
Martin Kojtal c9c6428598 Merge pull request #3122 from SiliconLabs/SiliconLabs-cleanup-rebase
[Silicon Labs] Update of Silicon Labs HAL
2016-10-27 09:56:16 +02:00
Brian Daniels 7a8946ff24 Replacing getchar with RawSerial getc in greentea-client.
This change prevents the standard library from allocating a large buffer
on the heap. On GCC_ARM, this is a saving of 1K. On ARM, this is a saving
of 64 bytes.
2016-10-26 16:55:54 -05:00
Martin Kojtal a7a53b7b6c Merge pull request #3046 from mmorenobarm/master
[BEETLE] Update BLE stack on Beetle board
2016-10-26 15:08:55 +02:00
Martin Kojtal 8c2f874b40 Merge pull request #3093 from BrunoMPires/master
[SDFileSystem] Enable / Disable serial debug.
2016-10-26 14:46:30 +02:00
Steven Cooreman 8b36d9c55f [EFM32] Workaround for SDK5.0.0 and USB
Aliased a few macros that changed name from SDK4.x to SDK5.x. in order to make the USB library play nice with SDK5.0.0
2016-10-25 12:05:07 -07:00
Christopher Haster 2fd15f4f44 lwip - Fixed memory leak in k64f cyclic-buffer overflow
This was actually several bugs colluding together.

1. Confusion on the buffer-semaphore paradigm used led to misuse of the
tx semaphore and potential for odd behaviour.

2. Equality tests on tx_consume_index and tx_produce_index did not
handle overflow correctly. This would allow tx_consume_index to catch
up to tx_produce_index and trick the k64f_rx_reclaim function into
forgetting about a whole buffer of pbufs.

3. On top of all of that, the ENET_BUFFDESCRIPTOR_TX_READ_MASK was not
correctly read immediately after being set due to either a compiler
optimization or hardware delays. This caused k64f_low_level_output
to eagerly overrun existing buff-descriptors before they had been
completely sent. Adopting the counting-semaphore paradigm for 1 avoided
this concern.

As pointed out by @infinnovation, the overflow only occurs in the rare
case that the 120MHz CPU can actually generate packets faster than the
ENET hardware can transmit on a 100Mbps link.
2016-10-25 13:22:17 -05:00
Martin Kojtal d7c02a13b1 Merge pull request #2953 from geky/nsapi-fix-ipv6-parsing
nsapi - Fix leftover bytes from suffix during ipv6 parsing
2016-10-25 14:37:38 +02:00
Martin Kojtal 4ec2f2e3ec Merge pull request #2943 from nvlsianpu/nrf_nvic_set_vector_func_trzy
[NRF5] NVIC_SetVector functionality
2016-10-25 11:10:03 +02:00
Marc Moreno Berengue e7829cd617 [BEETLE] Update BLE Cordio libraries
This patch updates the BLE Cordio libraries.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2016-10-24 17:41:23 +01:00
Bruno Monteiro Pires 8c9d92079e [SDFileSystem] Fixed tab spacing from 0e8ba85
* Removed missplaced tabs

Signed-off-by: Bruno Monteiro Pires <brunomonteiropires@gmail.com>
2016-10-24 14:35:00 -02:00
Bruno Monteiro Pires 0e8ba855a0 [SDFileSystem] Enable / Disable serial debug.
+ Added ``void debug(bool dbg)`` method to allow enabling/disabling
  serial debug at runtime.
+ Replaced calls to ``debug`` with ``debug_if`` to prevent messges
  from being thrown via serial when debug is disabled.

Signed-off-by: Bruno Monteiro Pires <brunomonteiropires@gmail.com>
2016-10-20 14:20:32 -02:00
Andres AG 509a72ca81 Add checks for NULL_ENTROPY and SSL_TLS in mbed OS 2016-10-20 17:07:32 +01:00
Christopher Haster cce82b13ac nsapi - Fixed unaligned writes from <word-sized scanf calls 2016-10-19 16:49:35 -05:00
Colin Hogben b516503fcb lwip: Expose principal socket limits as configuration parameters.
Allow the limits on numbers of sockets to be changed via the
configuration system.  The help texts show the RAM penalty from
increasing each value.
2016-10-19 21:37:52 +01:00
Christopher Haster bf83cb28cd nsapi - Fixed leftover bytes from suffix during ipv6 parsing
Thanks to @EduardPon for hunting this down
2016-10-19 15:28:32 -05:00
Colin Hogben 55485ae61e lwip: Annotate with memory used by config parameters 2016-10-19 14:49:04 +01:00
Colin Hogben b7a48b1220 lwip: Allow several configuration macros to be set externally.
Manually rebasing after the monster restructuring.
2016-10-19 14:49:03 +01:00
Martin Kojtal 382cb9f57a Merge pull request #3021 from hasnainvirk/master
ONME-2822 Binary build script mod
2016-10-19 13:42:22 +01:00
Sam Grove 026e880943 Merge pull request #3042 from mikaleppanen/lwip_tcp_acc_corr
Corrected lwip TCP socket accept ipv6 address conversion
2016-10-19 05:48:33 -05:00
Sam Grove 97670e3e6f Merge pull request #3040 from andresag01/update-mbedtls-to-2.4.0
Update feature/mbedtls to version 2.4.0
2016-10-19 05:48:06 -05:00
Sam Grove 61e40cd90b Merge pull request #3035 from c1728p9/fix_config_store
Fix config store
2016-10-19 05:47:47 -05:00
Sam Grove 5bcebba71d Merge pull request #3023 from jeromecoutant/PR_digital_loop_tests
digital_loop tests update for STM32
2016-10-19 05:46:22 -05:00
jeromecoutant ae9041b12c i2c_loop tests update for STM32 2016-10-19 11:15:38 +02:00
Russ Butler 3601b5ebb3 CFSTORE - Fix test failures due to fragmentation
In the config store create test in test case #5 the amount of available
memory is determined by fully allocating the heap. This is done
multiple times to determine if there is a memory leak. This causes
problems when even slight fragmentation occurs in the heap, since
the size that can be allocated is decreased slightly, which the test
flags as a memory leak.

This patch makes memory leak detection more robust by using metrics
provided by mbed_stats_heap_get. These metrics are an exact
measurement of memory allocated is not changed by fragmentation.
This allows the memory leak test to report correct values regardless of
fragmentation.
2016-10-17 21:08:57 -05:00
Andres AG 57814ddbbc Update feature/mbedtls to version 2.4.0 2016-10-17 13:32:25 +01:00
Mika Leppänen 61c7f9821b Corrected lwip TCP socket accept ipv6 address conversion 2016-10-17 15:30:09 +03:00
Russ Butler 9f0e756e28 CFSTORE - Delete handle even if key ref non zero
When closing a file handle remove the handle from the handle list
regardless of what the reference count of the key it is pointing to is.
This prevents config store from keeping a handle to file handles that
have gone out of scope.
2016-10-16 20:47:43 -05:00
Russ Butler c908666d63 CFSTORE - fix handling of realloc fail on delete
The function cfstore_delete_ex is written under the assumption that
CFSTORE_REALLOC will never fail if the size is decreasing. Regardless
of the status of CFSTORE_REALLOC the entry is removed from the config
store and zeroed. This works correctly if CFSTORE_REALLOC correctly
updates area_0_tail, but can lead to crashes in the case area_0_tail is
left unchanged. The crash is because when iterating over the config
store data, cfstore_get_next_hkvt is unable to determine the end of
valid data.

This patch fixes this problem by handling the realloc failure case by
updating area_0_tail even if CFSTORE_REALLOC returns NULL. This
patch also adds an assert to check for out of bound entries in when
calling cfstore_get_next_hkvt. This allows an assert to be triggered
if this bug is re-introduced, rather than a crash.
2016-10-16 20:47:42 -05:00
Russ Butler de8ce0e43e CFSTORE - Fix crashed due to uninit data
When the config store is powered down area_0_head is freed, but
area_0_len is not set to 0. This causes when cfstore_realloc_ex is
called, since on the first allocation it appears that the config store
size is decreasing, and therefore the data is not initialized.

Since the data is uninitiated various fields such as the reference
can have invalid values. On GCC_ARM built with heap stats enabled
this manifests as a crash due to an invalid reference count.

This patch fixes this problem by setting area_0_len to 0 when the data
is freed.
2016-10-16 20:47:40 -05:00
Hasnain Virk 3942b6d0e3 ONME-2822 Binary build script mod
* Binary build script is modified to follow currebt mbedOS baseline structure
* License files are moved to the correct location.
* Contribution.md is also moved to the correct location.
2016-10-14 12:38:13 +03:00
Andres AG 2ff5400158 Update to mbed TLS release candidate 2016-10-14 09:03:05 +01:00
Sam Grove 08ff689afa Merge pull request #2979 from adustm/STM_F429_F439
New platforms: NUCLEO_F439ZI, NUCLEO_F756ZG, NUCLEO_L486RG
2016-10-13 16:22:36 -05:00