Commit Graph

3268 Commits (03fa626edab0ce835416a076ee67b202a298f7b6)

Author SHA1 Message Date
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
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
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
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
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