Commit Graph

3076 Commits (mbed-os-5.9)

Author SHA1 Message Date
Martin Kojtal c0f0a8e61f
Merge pull request #6653 from kjbracey-arm/lwip-ticks
Stop lwIP using us_ticker
2018-04-18 14:17:54 +02:00
Paul Szczepanek a99a4b8593
Merge pull request #33 from pan-/fix-cordio-addresses-type
BLE: Handle new addresses type in GenericGap.
2018-04-18 11:34:13 +01:00
Teppo Järvelin 55f4360680 Cellular: review fixes to cellularfsm and cellularnetwork. 2018-04-18 12:35:38 +03:00
Kevin Bracey 123c182033 Use SingletonPtr in Nanostack HAL
Avoid static data/code overhead when Nanostack HAL isn't in use.
Preparation for removal of FEATURE_COMMON_PAL.
2018-04-18 10:40:56 +03:00
Kimmo Vaisanen d336ceeee8 Lora: Make automatic uplink message configurable
Currently lora stack will automatically send an empty uplink message to lora gateway in case of:
- Node received message with pending bit set.
- Node received MAC command which requires instant response (sticky MAC command)
- Node received confirmed message in class C mode

This commit makes this configurable via config item

        "automatic-uplink-message": {
            "help": "In case of pending bit, class c confirmed message or sticky MAC command, stack will automatically send empty uplink message",
            "value": true
        }

Default value is true. If sending an empty message fails, stack will send event AUTOMATIC_UPLINK_ERROR application.

If automatic uplink sending is disabled, stack will send application UPLINK_REQUIRED -event to indicate
application should issue a new uplink to gateway as soon as possible.
2018-04-18 09:29:20 +03:00
Marcus Chang 595a98b313 Enable flow control in Greentea
Flow control is enabled in Greentea for targets that has
console-uart-flow-control set.
2018-04-17 14:16:31 -07:00
Amanda Butler a83745bcdd
Copy edit UARTCellularInterface.h
Copy edit file for grammar.
2018-04-17 11:51:24 -05:00
Amanda Butler 8389bbfc61
Copy edit PPPCellularInterface.h
Copy edit file for grammar.
2018-04-17 11:49:20 -05:00
Amanda Butler 0f8a2c75e7
Copy edit OnboardCellularInterface.h
Copy edit file for grammar.
2018-04-17 11:44:28 -05:00
Amanda Butler 5835d83efa
Copy edit CellularInterface.h
Copy edit for grammar.
2018-04-17 11:41:59 -05:00
Vincent Coubard 169e579de7 BLE: Handle new addresses type in GenericGap. 2018-04-17 17:05:41 +01:00
Cruz Monrreal 853384a5ca
Merge pull request #6627 from TeroJaasko/nanostack_hal_timer_shortcut
Nanostack hal timer shortcut
2018-04-17 10:55:26 -05:00
Cruz Monrreal 4522405d06
Merge pull request #6588 from hasnainvirk/base_structs
[IOTCELL-741] Separating public data structures
2018-04-17 10:54:45 -05:00
Cruz Monrreal 259f9fd877
Merge pull request #6570 from jarvte/add_cellular_detach
Cellular: add detach from the network
2018-04-17 10:54:09 -05:00
paul-szczepanek-arm f56f57bf15 reorder enum to add new values at the end 2018-04-17 16:25:35 +01:00
Vincent Coubard 951a6be4c8 BLE: retrieve and fill resolving list at GenericSecurityManager startup. 2018-04-17 15:58:21 +01:00
Vincent Coubard ede3d43743 BLE: Add function to querry the list of identity addresses present in the SecureDB. 2018-04-17 15:57:30 +01:00
Vincent Coubard 77b1903634 BLE: Add bonded device to resolving list at the end of bonding. 2018-04-17 14:16:35 +01:00
Vincent Coubard ae8d5b4de1 BLE: Implement identity retrieval in secure DB. 2018-04-17 14:15:28 +01:00
Vincent Coubard f905d2a4d4 BLE: Improve DB entry lookup.
The DB entry lookup now looks at the identity address and/or connection address to find a DB entry associated to an address.

If the entry has not been found in the DB and a new entry is returned then the connection address is not stored for private addresses.
2018-04-17 14:14:53 +01:00
Vincent Coubard a3bb18d724 BLE: store identity address type in DB. 2018-04-17 14:11:05 +01:00
Vincent Coubard 06e0aa3440 BLE: flag that irk has been stored in the security entry. 2018-04-17 14:10:19 +01:00
Vincent Coubard 6fc74fbc44 BLE: Fix MemorySecurityDB constructor warning. 2018-04-17 14:09:00 +01:00
Vincent Coubard 15fa3bfd37 BLE: Add a function to retrieve a device identity. 2018-04-17 14:08:01 +01:00
Vincent Coubard e8041510a6 BLE: Add a flag that indicate if the identity address is public or not. 2018-04-17 14:07:19 +01:00
Vincent Coubard ab6821aab8 BLE: Add a flag indicating if irk is stored in the distribution flags. 2018-04-17 14:06:47 +01:00
Vincent Coubard 9643b57159 BLE: Remove flag SecurityDistributionFlags_t::local_address_is_public
This flag was not used and not useful.
2018-04-17 14:06:00 +01:00
Vincent Coubard dfbf383614 BLE: Fix const correctness of ::Gap::getRandomAddressType 2018-04-17 14:03:57 +01:00
Vincent Coubard 51e1c76b4a BLE: Set default mac address to all 00. 2018-04-17 14:03:20 +01:00
Kevin Bracey e7206cdc8e Stop lwIP using us_ticker
lwIP was using us_ticker unnecessarily, complicating the code and
potentially causing grief with power saving, and possible glitches
on timer wrap. Switch it to use the RTOS tick count.
2018-04-17 12:40:04 +03:00
Teppo Järvelin 3b1c8c0a94 Cellular: Updated doxygen for deprecated API's. 2018-04-17 12:30:16 +03:00
Teppo Järvelin 1990f63382 Cellular: fixed state machine after rebase. 2018-04-17 10:24:19 +03:00
Teppo Järvelin e78e1d28db Cellular: check plmn against network to verify correct network and don't try to register again if we are are already in correct nw. 2018-04-17 10:16:32 +03:00
Teppo Järvelin e4c37f2275 Cellular: plmn used when registering can be given for CellularConnectionFSM. 2018-04-17 10:16:32 +03:00
Vincent Coubard b3c871c960 BLE: Implement privacy on Nordic targets. 2018-04-16 18:18:05 +01:00
Vincent Coubard 2a9d80c5f0 BLE: Change nRF5xSecurityManager::resolve_address signature
Return the resolving list entry instead of accepting in parameters.
2018-04-16 18:18:04 +01:00
Vincent Coubard a18283d897 BLE: change nRF5xSecurityManager::get_resolving_list return
It now returns a resolving list entry.
2018-04-16 18:18:04 +01:00
Vincent Coubard fb680db621 BLE: Implement resolving list in Nordic PAL security manager 2018-04-16 18:18:04 +01:00
Vincent Coubard 365f3d2527 BLE: Add ah in Nordic CryptoToolbox. 2018-04-16 18:18:04 +01:00
Vincent Coubard a7f2384e10 BLE: Add default privacy configuration 2018-04-16 18:18:04 +01:00
Cruz Monrreal e2567e5dad
Merge pull request #6599 from jeromecoutant/PR_WARNING
STM32 compilation warning issues
2018-04-16 10:41:36 -05:00
Cruz Monrreal c867934178
Merge pull request #6613 from pauluap/compiler_warning_macro_expansion_constant_boolean
Macro expansion results in a constant boolean expression
2018-04-16 10:35:27 -05:00
Cruz Monrreal 7188c8a4b8
Merge pull request #6620 from jarvte/cellular_fixing_at_unit_tests
Cellular: fixed athandler unit tests.
2018-04-16 10:34:58 -05:00
Cruz Monrreal 7f9e69d491
Merge pull request #6632 from TeemuKultala/error_messages
cellular: Error messages
2018-04-16 10:34:04 -05:00
paul-szczepanek-arm 9a9167602d moved init code into non-const for clarity 2018-04-16 15:58:03 +01:00
paul-szczepanek-arm 12899b1e09 fix const induced recursive call 2018-04-16 15:34:15 +01:00
paul-szczepanek-arm 6b67a6d0a6 missing deref after signature change 2018-04-16 15:06:37 +01:00
Teemu Kultala 0caef1b8a4 cellular: trace errors only if tracing enabled 2018-04-16 09:15:32 +03:00
Cruz Monrreal df47efc4ca
Merge pull request #6626 from jarvte/activate_pdp_context_state_to_cellularconnectionfsm
Cellular: Separated context activation in CellularConnectionFSM.
2018-04-13 18:51:50 -05:00
Cruz Monrreal a2899367d7
Merge pull request #6618 from anttiylitokola/master
Update mbed-coap to version 4.4.2
2018-04-13 18:39:08 -05:00
Cruz Monrreal 4343253533
Merge pull request #6600 from hasnainvirk/fix_au915
[IOTCELL] Setting up channels for AU915
2018-04-13 10:47:21 -05:00
Paul Thompson 8e7615087a Switch to using ip_addr_isany_val 2018-04-13 05:08:29 -07:00
Tero Jääskö a23b7cffea nanostack-hal: eventloop: silence compiler warning for unused variable
Compiler reminded that a variable declaration was left behind when
the code using it was put behind #ifdef. Add the missing #ifdef.

Warning being fixed:
---8<---8<----
[Warning] ns_event_loop.c@44,0:  #177-D: variable "event_thread_id"
was declared but never referenced
2018-04-13 13:49:22 +03:00
Tero Jääskö b710f08b3a nanostack-hal: timer: conditionalize the use of high pri event thread
nanostack-hal.critical-section-usable-from-interrupt -tunable was
previously added to optionally make critical section code interrupt safe.
The IRQ safe critical section is a prequisite for interrupt safe timer
callbacks.

The same flag can be used to enable calling of the timer callbacks
directly from the timer interrupt context, without bouncing them via
event thread. This removes the code and RAM consumed by EventQueue
and the thread serving the high priority events.

If the system does not have any dependencies on mbed_shared_queues,
by setting this flag the static RAM usage is now further reduced
by ~1600 bytes and code size by 4KB.

Note: the default behavior is not changed, one needs to override the
"nanostack-hal.critical-section-usable-from-interrupt" to have "true".
2018-04-13 13:49:15 +03:00
Teemu Kultala c597d8447c cellular: sim pin setting 2018-04-13 12:33:43 +03:00
Hasnain Virk c34b5e6d6f [IOTCELL-741] Separating public data structures
Any data structure used in LoRaWANBase class should be available
in a separate header in order to make the code easy to port and
easy to read as the developer doesn't need to know about all the
internal data structures being used in Mbed LoRaWAN stack.
2018-04-13 10:41:06 +03:00
Teemu Kultala 7b6208c0db cellular: error message changes 2018-04-13 09:01:57 +03:00
Teppo Järvelin 94ecc4567b Cellular: Separated context activation in CellularConnectionSFM. 2018-04-13 08:28:18 +03:00
Cruz Monrreal 68ebbb0637
Merge pull request #6569 from kivaisan/LORAWAN_FEATURE_BRANCH
Lora: small fixes
2018-04-12 18:43:01 -05:00
Cruz Monrreal 94103f9306
Merge pull request #6586 from kivaisan/new_receive_method
Lora: Introduce new receive API which returns port and flags
2018-04-12 18:32:12 -05:00
Cruz Monrreal e1a63f9046
Merge pull request #6587 from AnttiKauppila/include_fix
LoRa: Internal include paths corrected
2018-04-12 18:31:28 -05:00
Cruz Monrreal 7f671960e8
Merge pull request #6595 from OpenNuvoton/nuvoton_fix_nvstore
Fix typo with NVStore
2018-04-12 18:31:02 -05:00
Paul Thompson 449541c464 Explicitly ignore return value or bare expression (macro expands to a number)
Compile: lwip_stack.c
In file included from ../features/FEATURE_LWIP/lwip-interface/lwip_stack.c:41:0:
../features/FEATURE_LWIP/lwip-interface/lwip_stack.c: In function 'mbed_lwip_bringup_2':
../features/FEATURE_LWIP/lwip-interface/ppp_lwip.h:58:44: warning: statement with no effect [-Wunused-value]
 #define ppp_lwip_disconnect()              ERR_IF
                                            ^
../features/FEATURE_LWIP/lwip-interface/lwip_stack.c:858:21: note: in expansion of macro 'ppp_lwip_disconnect'
                     ppp_lwip_disconnect();
                     ^~~~~~~~~~~~~~~~~~~
../features/FEATURE_LWIP/lwip-interface/ppp_lwip.h:58:44: warning: statement with no effect [-Wunused-value]
 #define ppp_lwip_disconnect()              ERR_IF
                                            ^
../features/FEATURE_LWIP/lwip-interface/lwip_stack.c:875:21: note: in expansion of macro 'ppp_lwip_disconnect'
                     ppp_lwip_disconnect();

                     ^~~~~~~~~~~~~~~~~~~
2018-04-12 09:45:25 -07:00
Paul Szczepanek d8f5100822
Merge pull request #30 from pan-/sm-privacy
BLE: Add Gap privacy interfaces.
2018-04-12 14:59:27 +01:00
Teppo Järvelin 6533c98983 Cellular: fixed athandler unit tests. 2018-04-12 16:20:40 +03:00
Teppo Järvelin 0b5fae3670 Cellular: added deprecation note for parameter timeout in set_attach. 2018-04-12 13:37:49 +03:00
Teppo Järvelin 9b0b92bb1c Cellular: added detach from the network. 2018-04-12 13:37:49 +03:00
Vincent Coubard 90c85955ad BLE: Fix GAP privacy related signatures. 2018-04-12 11:04:44 +01:00
Vincent Coubard 2811e00868 BLE: Fix Gap privacy related documentation 2018-04-12 10:37:13 +01:00
jeromecoutant 2d0dce1db5 STM32F7 : correct compilation warnings 2018-04-12 10:55:02 +02:00
jeromecoutant 2fcf8d8990 STM32F4 : correct compilation warnings 2018-04-12 10:52:21 +02:00
jeromecoutant 4e9e9f5c62 STM32F2 : correct compilation warnings 2018-04-12 10:51:18 +02:00
Antti Yli-Tokola 1feb700267 Update mbed-coap to version 4.4.2
Contains one error fix:
IOTCLT-2469 CoAP UDP retransmission does not work for blocks after first one for requests (Eg. registration POST)

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-04-12 10:04:50 +03:00
Christopher Haster 9e03b24120 littlefs: Fixed lookahead overflow and removed unbounded lookahead pointers
As pointed out by davidefer, the lookahead pointer modular arithmetic
does not work around integer overflow when the pointer size is not a
multiple of the block count.

To avoid overflow problems, the easy solution is to stop trying to
work around integer overflows and keep the lookahead offset inside the
block device. To make this work, the ack was modified into a resetable
counter that is decremented every block allocation.

As a plus, quite a bit of the allocation logic ended up simplified.
2018-04-11 22:34:40 -05:00
Christopher Haster 47bee2343c littlefs: Fixed issue with lookahead trusting old lookahead blocks
One of the big simplifications in littlefs's implementation is the
complete lack of tracking free blocks, allowing operations to simply
drop blocks that are no longer in use.

However, this means the lookahead buffer can easily contain outdated
blocks that were previously deleted. This is usually fine, as littlefs
will rescan the storage if it can't find a free block in the lookahead
buffer, but after changes that caused littlefs to more conservatively
respect the alloc acks (e611cf5), any scanned blocks after an ack would
be incorrectly trusted.

The fix is to eagerly scan ahead in the lookahead when we allocate so
that alloc acks are better able to discredit old lookahead blocks. Since
usually alloc acks are tightly coupled to allocations of one or two blocks,
this allows littlefs to properly rescan every set of allocations.

This may still be a concern if there is a long series of worn out
blocks, but in the worst case littlefs will conservatively avoid using
blocks it's not sure about.

Found by davidefer
2018-04-11 14:41:01 -05:00
Paul Szczepanek 9be8837f77
Merge pull request #29 from paul-szczepanek-arm/no-sign-when-encrypted
check encryption before signing
2018-04-11 15:51:02 +01:00
Vincent Coubard 8643fd55ed BLE: Add stub for signing API in Nordic pal security manager. 2018-04-11 14:22:51 +01:00
Vincent Coubard 1f02913a2c BLE: Add Gap privacy interfaces.
This commit adds API to enable and configure the device privacy.
It deprecates address random types present in Gap::AddressType as these types are not appropriate for scan reports, connection initiation and the connection event. Now user should use the function Gap::getRandomAddressType to find the type of a random address.
The function gap::setAddress is deprecated as it is not portable and can colide with privacy.
2018-04-11 14:18:42 +01:00
Hasnain Virk ec34796fd5 [IOTCELL] Setting up channels for AU915
Bug was reported by @tpet93 and it was correctly diagnosed that channels
were not being set in the phy_params structure. This commit fixes the bug
and sets up channels correctly.
2018-04-11 15:41:22 +03:00
paul-szczepanek-arm 1e6455da0b check encryption before signing 2018-04-11 13:37:04 +01:00
Yossi Levy a8febd57a1 Device key implementation 2018-04-11 15:35:00 +03:00
paul-szczepanek-arm 3aaedf6f48 fixed missed function rename 2018-04-11 12:34:57 +01:00
Teppo Järvelin 9c185d9b63 Cellular: Fixing to skip greentea test if sim pin is not configured. 2018-04-11 09:38:13 +03:00
Teppo Järvelin b3226acbbf Cellular: Fixed rebase error. 2018-04-11 09:38:13 +03:00
Teppo Järvelin f7f21dc377 Cellular: review fixes and fixed unit tests. 2018-04-11 09:38:13 +03:00
Teppo Järvelin 12e1f07150 modified at timeout while doing attach and connect as it might take up to one minute and at timeout was 10s. 2018-04-11 09:38:13 +03:00
Teppo Järvelin 31428533ba Fixed missing doxygen param. 2018-04-11 09:38:13 +03:00
Mirela Chirica 9531bbeaf5 BC95 fixes 2018-04-11 09:38:13 +03:00
Teppo Järvelin c036b6698d Doxygen fixes for copy-paste errors. 2018-04-11 09:38:13 +03:00
Ari Parkkila d828959b87 Cellular: Greentea test timeouts increased 2018-04-11 09:38:13 +03:00
Teppo Järvelin dcdb7a5da2 Fixed state machine to accept roaming as valid registration. 2018-04-11 09:38:13 +03:00
Teppo Järvelin c82fd31735 Removed double attach from EasyCellularConnection. 2018-04-11 09:38:13 +03:00
Ari Parkkila 8c019e6c83 Cellular: Remove excessive destructor declaration to fix compile error 2018-04-11 09:38:13 +03:00
Ari Parkkila d7cabe2183 Cellular Greentea tests fixed 2018-04-11 09:38:13 +03:00
ccli8 d52b502fea Fix typo with NVStore 2018-04-11 14:34:54 +08:00
Teppo Järvelin ac9b882049 Fixed bug in state machine registaring phase. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 6f3eebcd36 Fixed possible crash and removed trace from greentea. 2018-04-11 09:31:44 +03:00
Ari Parkkila ea9869e330 Cellular: Greentea tests for UDP socket 2018-04-11 09:31:44 +03:00
Teppo Järvelin f6a0403c82 Fixed build by removing unnecessary include. 2018-04-11 09:31:44 +03:00
Teppo Järvelin af2890da03 Improved registration phase in state machine. 2018-04-11 09:31:44 +03:00
Ari Parkkila 6072407ec9 Cellular: async FSM updates 2018-04-11 09:31:44 +03:00
Teppo Järvelin 84b445f51c Fixed coverity warnings for class ATHandler and removed unnecessary assert from state machine. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 54ab974846 Fixed coverity warnings for targets folder. Also fixed one bug while copying sim. 2018-04-11 09:31:44 +03:00
Teppo Järvelin fa61f094db Fixed coverity warning for class CellularUtil. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 12b0bc4a36 Fixed coverity warnings for AT_CellularStack. 2018-04-11 09:31:44 +03:00
Teppo Järvelin af0de8ece0 Fixed coverity warnings for class AT_CellularDevice. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 0ebfa35d7b Fixed coverity warnings for class CellularConnectionFSM 2018-04-11 09:31:44 +03:00
Teppo Järvelin f6be35c0f2 Fixed coverity warnings for AT_CellularSMS.cpp 2018-04-11 09:31:44 +03:00
Teppo Järvelin 89843246ac Separated context activation from connect, increased stack size to 2048 to avoid stack underflows and changed connection callback call. 2018-04-11 09:31:44 +03:00
Teppo Järvelin f0026e4c48 review fixed and some minor improvements. 2018-04-11 09:31:44 +03:00
Teppo Järvelin b400d18a0c Wait for modem ready signal in startup sequence. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 231458dc36 Picked Ari's changed to reduce stack size. Removed device info printing from state machine. 2018-04-11 09:31:44 +03:00
Teppo Järvelin d1f2e91e93 Working version of async registration. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 2b14a9ee5f temp 2018-04-11 09:31:44 +03:00
Teppo Järvelin 702efc1de5 Temp commit, not compiling... 2018-04-11 09:31:44 +03:00
Teppo Järvelin c26311b071 async works. Retry logic needs refining. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 83ea9be5f5 temp commit while changing work... 2018-04-11 09:31:44 +03:00
Teppo Järvelin 1661fc2744 Modified state machine, added cellular state and callback. 2018-04-11 09:31:44 +03:00
Cruz Monrreal 1c6d485da0
Merge pull request #6572 from TeemuKultala/at_send_wait
cellular: ATHandler send delay
2018-04-10 17:58:00 -05:00
Paul Szczepanek 6c900642e5
Merge pull request #28 from paul-szczepanek-arm/signing-counter
sign counter added
2018-04-10 17:06:14 +01:00
paul-szczepanek-arm 1ba920a338 missing init 2018-04-10 16:47:29 +01:00
paul-szczepanek-arm 70067105d6 class in header 2018-04-10 16:42:43 +01:00
paul-szczepanek-arm a2484b63b0 Signing event monitor proxy to bind both server and client 2018-04-10 14:58:29 +01:00
Martin Kojtal 495ae06c70
Merge pull request #6509 from k-stachowiak/nvseed-check
Add an NV_SEED test to the config adjustment script
2018-04-10 14:38:47 +02:00
Antti Kauppila 67157fc3bd LoRa: Internal include paths corrected 2018-04-10 14:04:18 +03:00
Kimmo Vaisanen 19883f12f8 Lora: Introduce new receive API which returns port and flags
This is a fix for issue #6389.

Currently when application receives RX_DONE event from stack, it has to provide the correct port
value to receive method in order to read the received message. The problem is that current
API does not provide any way to know in to which port message was received.

This commit introduces a new receive() method, which instead of checking these values, will return
them to application.
2018-04-10 13:04:23 +03:00
Kimmo Vaisanen 01fd8804df Fix Coverity warning
Fixed Coverity warning "stored value is overwritten before it can be used".
2018-04-10 10:19:03 +03:00
Kimmo Vaisanen 10c269bcfa Add some debug traces 2018-04-10 10:19:03 +03:00
Kimmo Vaisanen f6decc0131 Initialize mcps_indication status
_mcps_indication.status is not initialized properly and it can cause incorrect
status value to be returned.
2018-04-10 10:13:40 +03:00
paul-szczepanek-arm 4fff20583d sign counter kept track by the class using it 2018-04-09 17:49:54 +01:00
paul-szczepanek-arm deeb0ea7e0 redundant store for sign counter 2018-04-09 15:11:26 +01:00
paul-szczepanek-arm 637dcb9bc8 missing * 2018-04-09 15:10:25 +01:00
paul-szczepanek-arm 55d3423a5e typedef uint32_t 2018-04-09 13:35:17 +01:00
Kevin Bracey 96610a6aed LoRa: Improved region macro handling 2018-04-09 15:22:48 +03:00
paul-szczepanek-arm be912ded5b normalised the getters const insanity 2018-04-09 12:14:52 +01:00
Teemu Kultala 328919c852 cellular: doxygen correction 2018-04-09 14:09:44 +03:00
Teemu Kultala d7960620b6 cellular: ATHandler send delay 2018-04-09 13:46:40 +03:00
Antti Kauppila 1a86bb3604 Removed default values from internal functions
- Also removed useless else from loraphy_target.h
2018-04-09 13:30:08 +03:00
Antti Kauppila db167af3c1 LoRa: Fixed doxygen error, enabled commented out code 2018-04-09 11:48:03 +03:00
Antti Kauppila fa062fff76 LoRa: Moved connect logic from LoRaWANStack to LoRaMac class
- Internal change only
2018-04-09 11:10:40 +03:00
Antti Kauppila 1310392d1b LoRa: Removed unneeded function and cleaned up some code 2018-04-09 11:10:40 +03:00
Antti Kauppila d1bbd21e01 LoRa: Improved handling of region selection
- This implements IOTCELL-697
- This touches API, but does not break it, old ones still work in a same manner!
2018-04-09 11:10:40 +03:00
Vincent Coubard f53a0e4906 Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-04-09 09:09:01 +01:00
Martin Kojtal 65ac615d2d
Merge pull request #6557 from AnttiKauppila/IOTCELL-754
LoRa: Fixed cflist decoding issue
2018-04-06 16:40:18 +02:00
Martin Kojtal f5385e7a14
Merge pull request #6524 from forGGe/fix_address_parsing_
Fix IPv4 address parsing due to not-so-portable scanf modifier
2018-04-06 12:26:37 +02:00
Martin Kojtal f331ac34c4
Merge pull request #6402 from u-blox/cellular_test_target
Renaming Ublox library for mbed cellular framework
2018-04-06 12:19:58 +02:00
Antti Kauppila 6ef331b9db LoRa: Fixed cflist decoding issue
- This fixes defect IOTCELL-754
2018-04-06 12:54:01 +03:00
Martin Kojtal 02d4631c13
Merge pull request #6528 from anttiylitokola/mbed_coap_4.4.1
Update mbed-coap to version 4.4.1
2018-04-06 10:05:39 +02:00
paul-szczepanek-arm 57149b69e4 monitor for signing events and set local counter 2018-04-04 19:24:00 +01:00
paul-szczepanek-arm 1d74dfa1f9 redundant funcs removed 2018-04-04 18:02:16 +01:00
Vincent Coubard dcff810457 BLE: replace byte_array_t::buffer with byte_array_t::data 2018-04-04 17:20:08 +01:00
paul-szczepanek-arm acfc5b218d set cordio csrk and counter 2018-04-04 17:16:34 +01:00
paul-szczepanek-arm 2e1c5fc123 completely redundant 2018-04-04 17:16:16 +01:00
Cruz Monrreal 75cb4d7512
Merge pull request #6411 from AnttiKauppila/stack_refactoring
Stack refactoring
2018-04-04 10:26:55 -05:00
paul-szczepanek-arm 539a11ee31 sign counter added 2018-04-04 15:59:10 +01:00
Vincent Coubard 17b3e26429 BLE: remove trace in Nordic PAL security manager 2018-04-04 15:42:47 +01:00
Vincent Coubard 04ab07ff16 BLE: Add documentation to CryptoToolbox. 2018-04-04 15:41:20 +01:00
Vincent Coubard 59a301a256 BLE: CryptoToolbox enhancement
- Rename LescCrypto into CryptoToolbox
- Use ArrayView of fixed size as parameters
- Add licence
2018-04-04 15:31:31 +01:00
Vincent Coubard cd39406d20 BLE: Add conversion function from byte_array_t to ArrayView. 2018-04-04 15:28:52 +01:00
Vincent Coubard 5761caff00 BLE: Extend ArrayView to encode size in type.
With this change, it is possible to encode the size of the array viewed by an ArrayView into the type itself: ArrayView<T, Size>. Such objects are lighter than ArrayView of arbitrary size and allows verification of the size at compile time.

This change also fix operator== and bring new make_ArrayView overloads.
2018-04-04 15:28:17 +01:00
Vincent Coubard 9e1f0b34f8 BLE: Fix byte_array_t subscript operator 2018-04-04 15:22:15 +01:00
Vincent Coubard d8f3d9c5ef BLE: provide non const overload of byte_array_t::data member function. 2018-04-04 15:21:54 +01:00
Vincent Coubard bf41bb3164 BLE: Export byte_array_t size exploitable at compile time. 2018-04-04 15:21:05 +01:00
Vincent Coubard 7bf0eb009a BLE: use ArrayView to pass and get parameters in Crypto API
This change allow vendor pal code to use its own array format.
2018-04-04 11:04:13 +01:00
paul-szczepanek-arm cbf80e9da5 typos, style and other review fixes 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm c1e2e07241 missing line from commit
(github client fail)
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 15c06acfe4 style fix 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm dfdfcfb25e style fix 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm e276478d58 only bother reacting to verification failures if we want to use signing 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm f5fee68f99 fixed naming for sig failure count 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 9283413c4c count failures, trigger reparing when verification fails 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 780d8a4375 let the stack know whether csrk is authenticated 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 511135f31c signing only for the slave, unless keys requested to be sent by master 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 8d966dbe8c invalid mic event 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 5ae9cc3b53 set peer csrk on pal 2018-04-03 15:41:43 +01:00
Paul Szczepanek 381b99bc61
Merge pull request #25 from paul-szczepanek-arm/oob-gen
generate oob at will and without passing in connection handle
2018-04-03 15:30:21 +01:00
paul-szczepanek-arm 576796b289 reset OOB on use 2018-04-03 15:29:26 +01:00
paul-szczepanek-arm 26b047549c extra comments for api 2018-04-03 15:17:15 +01:00
paul-szczepanek-arm 0a494a0bbc all_zeros now free functions 2018-04-03 14:47:27 +01:00
paul-szczepanek-arm ba5b0f30d2 added comments about address for oob generation 2018-04-03 13:54:29 +01:00
Antti Kauppila 10ad173091 LoRa: Small fixes
- changed few static variables to have const
2018-04-03 14:58:01 +03:00
paul-szczepanek-arm 3c1a5a4a56 incorrect retval usage fixed 2018-04-03 12:16:49 +01:00
Antti Yli-Tokola 8fdae13642 Update mbed-coap to version 4.4.1
- Fixes error: IOTCLT-2539 Block wise messaging call-backs not working logically
- Allow TCP+TLS transport method to send larger messages without blockwising.

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-04-03 13:58:40 +03:00
Max Payne bd47110554 Fix IPv4 address parsing due to not-so-portable scanf modifier
Bug is raised when using newlib-based toolchains.
%hh format is only avaliable in scanf if newlib is compiled
with _WANT_IO_C99_FORMATS option.
2018-04-02 23:33:21 +03:00
Marcus Chang 791e42eefe Inrease thread stack size to 1024 bytes in NVStore test for NRF52 2018-03-30 11:32:55 -07:00
Jimmy Brisson 2429d5e042
Merge pull request #6494 from donatieng/securitydb_fix_casing
[BLE] Fixed inconsistent casing issue for SecurityDb
2018-03-29 12:00:36 -05:00
Jimmy Brisson 64df0ddee8
Merge pull request #6408 from davidsaada/david_erase_size_addr
Add overloaded get_erase_size API with address parameter to BlockDevice
2018-03-29 11:59:28 -05:00
Vincent Coubard 3272863f83 BLE Nordic: Support LESC. 2018-03-29 17:24:46 +01:00
Vincent Coubard f0e18fa007 BLE: Add LESC crypto toolbox for Nordic. 2018-03-29 17:23:54 +01:00
Vincent Coubard 3218e79805 BLE: Fix reference to security manager in Nordic event handler. 2018-03-29 17:23:24 +01:00
Vincent Coubard 95cd37b491 BLE: Add const overload for byte_array_t subscribt operator. 2018-03-29 17:22:48 +01:00
Krzysztof Stachowiak ebb28b32af Move the new check into the end of the previous line 2018-03-29 15:07:29 +02:00
Krzysztof Stachowiak 717573f44e Add an NV_SEED test to the config adjustment script 2018-03-29 11:53:50 +02:00
Donatien Garnier 8b66c4bd28 [BLE] Fixed inconsistent casing issue for SecurityDb 2018-03-28 10:44:09 +01:00
paul-szczepanek-arm aa90f0df65 rely solely on random vlalue to know if already calculating
simplify by setting a fake random value at the start so that first run is the same as subsequent runs
2018-03-27 12:25:50 +01:00
Bilal c376e501aa Moving deprecated warnings outside the class 2018-03-27 12:55:38 +05:00
Cruz Monrreal 062164eaad
Merge pull request #6452 from ARMmbed/revert-6086-gatt-client-unit-tests
Revert "BLE: Gatt client unit tests"
2018-03-26 14:33:52 -05:00
Cruz Monrreal 26737580ce
Merge pull request #6313 from SeppoTakalo/doxygen
Add missing Doxygen descriptions for Nanostack
2018-03-26 14:28:51 -05:00
Cruz Monrreal 57b48f6e05
Merge pull request #6416 from kjbracey-arm/lwip_netconntype_fix
lwIP: fix some IPv6 errors, eg TCP keepalive
2018-03-26 14:27:09 -05:00
paul-szczepanek-arm c542650734 removed unused param from call 2018-03-26 18:07:29 +01:00
paul-szczepanek-arm e1885486fa only generate oob if using oob 2018-03-26 18:00:05 +01:00
paul-szczepanek-arm d1b4713ae6 removed redundancy 2018-03-26 17:53:40 +01:00
paul-szczepanek-arm 02ba2848a8 avoid recalculating oob fi already calculating 2018-03-26 17:48:32 +01:00
Vincent Coubard 87c2045f5e Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-03-26 17:12:37 +01:00
Vincent Coubard db20ecbbde
Merge branch 'security-manager-dev' into oob-gen 2018-03-26 16:49:55 +01:00
Vincent Coubard 3579653533 Cordio: Implement missing functions for secure connection 2018-03-26 15:48:59 +01:00
Bilal c07ef92470 Adding deprecated warnings for old name 2018-03-26 19:34:42 +05:00
mudassar-ublox eb806b681d Renaming Ublox library for mbed cellular framework
(cherry picked from commit 737609736591d12ea369d5b364d132e7a6367ae2)
2018-03-26 17:08:23 +05:00
Martin Kojtal afeb3066c3
Revert "BLE: Gatt client unit tests" 2018-03-26 11:51:29 +01:00
paul-szczepanek-arm 98efb9da06 generate oob at will and without passing in connection handle 2018-03-23 18:31:27 +00:00
Cruz Monrreal 6dc0c9d6c3
Merge pull request #6388 from davidsaada/david_nvstore_set_alloc_key
NVStore: key management enhancements
2018-03-23 11:03:53 -05:00
Cruz Monrreal 387027dddb
Merge pull request #6086 from pan-/gatt-client-unit-tests
BLE: Gatt client unit tests
2018-03-23 10:56:09 -05:00
Vincent Coubard b859907481 Cordio: remove generate_public_key from the security manager. 2018-03-23 12:06:08 +00:00
Vincent Coubard 0a710e5331 BLE: Initialize the pal in GenericSecurityManager 2018-03-23 12:06:08 +00:00
Vincent Coubard e25d5c9aa3 BLE: qualification of SecurityManager types 2018-03-23 12:06:08 +00:00
Paul Szczepanek d7595803d0
Merge pull request #23 from paul-szczepanek-arm/legacy-oob
allow preloading legacy oob, generate tk
2018-03-23 10:48:11 +00:00
David Saada a6048005d7 Add overloaded get_erase_size API with address parameter to all block devices 2018-03-23 00:34:45 +02:00
paul-szczepanek-arm 6833c79fb3 don't request encrypt when pending 2018-03-22 17:54:13 +00:00
paul-szczepanek-arm 81cb1f9c83 enable encryption for slave request added 2018-03-22 17:11:15 +00:00
paul-szczepanek-arm 350924129f fix the attempt oob flag if we receive oob 2018-03-22 12:32:01 +00:00
paul-szczepanek-arm 2b2d9a2453 reset pending state when attempt ends, added comments 2018-03-22 12:23:37 +00:00
paul-szczepanek-arm c848c79a5b avoid code redundancy 2018-03-22 12:10:21 +00:00
paul-szczepanek-arm 909f9513cf allow preloading legacy oob, generate tk 2018-03-22 12:01:34 +00:00
Kimmo Vaisanen c1983570b4 Fix compilance test compilation
Fix compilation of compilance test and at the same time refactor compliance
test handler. Renamed mcps_request as test_request as it is only used for
compliance test. Also fixed a bug with null buffer in send_compliance_test_frame_to_mac.
2018-03-21 14:39:18 +02: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
Kevin Bracey b3eb51acef lwIP: fix some IPv6 errors, eg TCP keepalive
Glue code was inspecting lwIP's netconn "type", checking directly for
NETCONN_UDP and NETCONN_TCP.

Unfortunately the type byte has some flag bits like
"IPv6", which means the tests fail if it's an IPv6 socket. So, for
example, TCP socket options were rejected for IPv6.

Add the necessary NETCONNTYPE_GROUP macros to fix this.
2018-03-21 13:40:25 +02:00
Antti Kauppila cbdeb7dc4b LoRa: Added API break warnings for lorawan_channelplan_t struct and it's components 2018-03-21 08:54:42 +02:00
Antti Kauppila dc98228139 LoRa: Struct cleanups
- Unneeded structs removed and replaced by variables in functions
2018-03-21 08:54:42 +02:00
Antti Kauppila 489eecf7df LoRa: LoRaMAC class refactored
- Internal change only, no functional changes
- Tested by running Green tea tests manually
2018-03-21 08:54:42 +02:00
Antti Kauppila 6b54478af4 LoRaWANStack is made independent of MAC sublayers
- Only internal changes, no API has been broke.
- Tested by manually running Green tea tests
2018-03-21 08:54:42 +02:00
Antti Kauppila b63c98e103 LoRa: LoRaPHY dependency removed from LoRaMacStack
- This is internal change, no functionality has been changed
- LoRaWanInterface cleaned up and code moved to LoRaMacStack
- Compliance code in LoRaMacStack moved to EOF
- Green tea tests have been run manually
- Doxygen updated accordingly

LoRA: reorder class members
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen fe225a8430 Remove redundant event from timer callbacks
Since our timers are now already using events, we no longer need to
defer timer callback calls.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen c6eee4fd98 Simplify check for pending bit 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 32075b91b5 Fix reception of class C messages
- Do not put radio into sleep when message is received in class c mode
- Experimental feature for acknowledging confirmed downlink messages
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen a26fca8bf5 Add set_device_class API to change active device class
This API can be used to runtime change device class.

Please note that only class A and C are supported at the moment.
Trying to set class B will return LORAWAN_STATUS_UNSUPPORTED.

Fix set_device_class documentation

fix documentation
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 4aba3434f4 Change minimum required channels from 6 to 2 (US915Hybrid)
https://github.com/Lora-net/LoRaMac-node/issues/362
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 65b2dbc7dc Update DevStatusAnd format
In the DevStatusAns format, the protocol requires RFU(7:6) value = 0
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen e1fff2e738 Update handling for functions OnRadioRxError and OnRadioRxTimout.
This is especially important for class c devices.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 6c165e0f19 Changed mcps confirmation ul_frequency to channel 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen e097429b69 Remove unused is_fPort_allowed method 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen a9e1076572 Bug fix in RX timeout and RX error handling for class c nodes.
1. Do not stop the 2nd window timer, as it is not running.
2. Wait for the OnAckTimeout event, before setting MacDone
3. Process for class c also the 2nd window timeout part, as we do
   not have a 2nd window timer.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 591bc7da1f Add the possibility to set the default antenna gain. 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 256a3a5842 Fix calculation of the aggregated time-off.
Perform only an assignment.

https://github.com/Lora-net/LoRaMac-node/issues/282
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen c1ea418ac4 Fix rx slot handling
Store the rx slot temporarily. When in class C, this variable will be changed
in function OpenContinuousRx2Window.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen fc1696b74f Do only set the MacDone if the MAC is not in class c 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 6114f2b3d5 Fix an issue with sequence calls.
This issue is only present for a device in class c mode, which
has perform unconfirmed uplinks.

https://github.com/Lora-net/LoRaMac-node/issues/327
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen e206c1ee54 Changed RegionNextChannel function in order to return LoRaMacStatus_t instead of a boolean
Removed the while loop checking the return value from set_next_channel
(GitHub Issue https://github.com/Lora-net/LoRaMac-node/issues/357)

The new return values are:

LORAWAN_STATUS_OK                    : A channel has been found.
LORAWAN_STATUS_NO_FREE_CHANNEL_FOUND : No free channel has been found (AS923 and KR920 regions)
LORAWAN_STATUS_DUTYCYCLE_RESTRICTED  : No channel found due to the duty-cycle or JoinReq back-off restrictions. Trial must be delayed.
LORAWAN_STATUS_NO_CHANNEL_FOUND      : No channel has been found. Re-enabled the default channels.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 339306ed1b Ensure DR_6 cannot be selected for IN865 region 2018-03-21 08:54:42 +02:00
Antti Kauppila a294aa028d LoRa: LoRaWANInterface refactored.
- Only internal changes, no functionality changes
- Some minor improvements to LoRaWanStack
2018-03-21 08:54:42 +02:00
Cruz Monrreal 53cb6e06f9
Merge pull request #6279 from AnttiKauppila/master
LoRa refactoring
2018-03-20 17:28:38 -05:00
Cruz Monrreal f3e2a3dd4b
Merge pull request #6357 from anttiylitokola/master
Update mbed-coap to version 4.4.0
2018-03-20 15:01:00 -05:00
Cruz Monrreal 0b7a9a9f3d
Merge pull request #6333 from mikaleppanen/lwip_tcp_flag_corr
Corrected lwip adaptation TCP flagging
2018-03-20 14:35:43 -05:00
Cruz Monrreal 7ab4b064e5
Merge pull request #6338 from geky/fix-littlefs-dir-chain
littlefs: Fix issue updating dir struct when extended dir chain
2018-03-20 14:33:26 -05:00
Cruz Monrreal 53adeed521
Merge pull request #6350 from u-blox/cellular_test
Cellular: update attach test
2018-03-20 14:27:02 -05:00
Cruz Monrreal a3d8c8fe16
Merge pull request #6363 from deepikabhavnani/seek_fix
dir seek fixed - dptr was not updated before checking
2018-03-20 14:21:49 -05:00
Cruz Monrreal 7b2ee2d52f
Merge pull request #6291 from mirelachirica/bc95_echotest_fixes
Cellular: BC95 echo test fixes
2018-03-20 14:06:06 -05:00
David Saada b7bb29a301 NVStore: key management enhancements
- Define an enum for predefined keys (later filled by internal users of NVStore)
- Add the set_alloc_key API, allocating a free key from the non predefined keys
2018-03-19 12:00:47 +02:00
Cruz Monrreal 7c30faf69d
Merge pull request #6264 from jarvte/master
Deprecated warnings for feature/netsocket/cellular
2018-03-16 13:32:09 -05:00
Cruz Monrreal 0a1fc956ec
Merge pull request #6359 from davidsaada/david_sotp_cpp
NVStore: add comments in header file for Doxygen formatting sake.
2018-03-16 11:34:40 -05:00
Antti Kauppila 32257858d0 Added missing mac_cmd_buf_idx_to_repeat to LoRaMacCommand class
- Reordered LoRaWANStack internal variables for more compact code
2018-03-16 18:00:02 +02:00
Antti Kauppila 488cf03d1e LoRA: Code cleanup + doxygen updates
- Internal changes only
- reset function is created to LoRaPHY to reset LoRaMAC parameters with default values
- Doxygen updates for newly created functions
2018-03-16 18:00:02 +02:00
Antti Kauppila 2ac73a6cac LoRa: LoRaMacMcps refactored to remove dependency to LoRaMac.
- This is internal logic only and there are no functionality changes
- Some compliance test stuff have been moved to end of files
- Some internal data structures removed as useless after refactor
2018-03-16 18:00:02 +02:00
Antti Kauppila 37371df968 LoRa: reset_mac_parameters put to correct place 2018-03-16 18:00:02 +02:00
Antti Kauppila d232d3bb52 LoRa: Removed LoRaMac dependency from MIB and MLME classes
- Internal refactoring only, no functional changes
2018-03-16 18:00:02 +02:00
Antti Kauppila d1cdd77290 LoRa: get_phy_params() refactored
- get_phy_params function was very heavy weight and needed to be refactored.
- switch-case clauses have been refactored to be functions now and the complexity of the usage has been improved a lot.
- There are no functional changes, this is internal only change
2018-03-16 18:00:02 +02:00
Antti Kauppila 3c7bd1b794 LoRa: LoRaMac need removed from LoRaMacCommand class
- LoRaMacCommand does not have any external dependencies anymore
- Also LoRaMacMlme is not using LoRaMacCommand anymore
2018-03-16 17:58:44 +02:00
paul-szczepanek-arm 66867d4dd3 oob stored in generic and handed over to pal when requested 2018-03-16 14:48:04 +00:00
Cruz Monrreal 92bbdbb60a
Merge pull request #6329 from TeemuKultala/callback_changes
Cellular: add callback API
2018-03-15 11:04:17 -05:00
Cruz Monrreal 0ae3580781
Merge pull request #6345 from jarvte/cellular_sms_unit_test_fix
Cellular: Fixed sms unit tests.
2018-03-15 10:58:16 -05: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
Cruz Monrreal 9cac3b2f6b
Merge pull request #6149 from bmcdonnell-ionx/typos
Fix typos in the files
2018-03-15 10:53:03 -05:00
Cruz Monrreal 38e0d3b842
Merge pull request #6300 from kivaisan/master
Fixes to LoRa PHY
2018-03-15 10:42:43 -05:00
Cruz Monrreal eff0cc2c06
Merge pull request #6314 from jarvte/improve_athandler_write
Cellular: ATHandler write improvements.
2018-03-15 10:39:56 -05:00
Vincent Coubard 5e8630dcc6 BLE Nordic: Complete implementation of pal security manager 2018-03-15 11:24:31 +00:00
Vincent Coubard 1638902341 BLE: Whitespace fix 2018-03-15 09:34:41 +00:00
Vincent Coubard 761beafeb3 BLE: Complete nRF5xGap initialization list 2018-03-15 09:34:21 +00:00
Vincent Coubard 288abf5287 BLE: Add nRF5x constructor 2018-03-15 09:33:25 +00:00
Vincent Coubard c3fd90430a BLE: Fix references to ConnectionEventMonitor::EventHandler 2018-03-15 09:32:58 +00:00
Mudassar Hussain 91333d2892 Removed strncmp 2018-03-15 10:41:00 +05:00
Deepika 351aaa8acd dir seek fixed - dptr was not updated before checking 2018-03-14 14:40:08 -05:00
David Saada f20c54e275 NVStore: add comments in header file for Doxygen formatting sake. 2018-03-14 18:15:13 +02:00
Antti Yli-Tokola 2e3651c2f7 Update mbed-coap to version 4.4.0
Make sn_coap_protocol_send_rst as public needed for CoAP ping sending
Allow disabling resendings by defining SN_COAP_DISABLE_RESENDINGS
2018-03-14 15:34:15 +02:00
Mudassar Hussain 3bee060942 Cellular: update attach test 2018-03-13 20:49:31 +05:00
Teppo Järvelin 53455c5528 Fixed correct includes so that compile log is not polluted. 2018-03-13 16:23:15 +02:00
Teppo Järvelin cacdbd1550 Cellular: Fixed sms unit tests. 2018-03-13 13:52:05 +02:00
Teppo Järvelin 16e8b77474 PR review findings, updated deprecated comments. 2018-03-13 13:15:29 +02:00
Antti Kauppila 783d0c58f5 MBED_DEPRECATED_SINCE taken into use 2018-03-13 13:15:29 +02:00
Teppo Järvelin 7fd6b71337 Moved APN_db.h under new cellular. 2018-03-13 13:15:29 +02:00
Teppo Järvelin bee31ad1b3 Added deprecation notes to old cellular interfaces. 2018-03-13 13:15:29 +02:00
Martin Kojtal fe2e4a3680
Merge pull request #6290 from AriParkkila/fix_cellular_unit_tests
Cellular tests: fix power mgmt stub
2018-03-13 09:53:36 +01:00
Mika Leppänen af29734dd0 Corrected lwip adaptation TCP flagging 2018-03-13 09:47:11 +02:00
Christopher Haster 7f17a9b8da littlefs: Fixed issue updating dir struct when extended dir chain
Like most of the lfs_dir_t functions, lfs_dir_append is responsible for
updating the lfs_dir_t struct if the underlying directory block is
moved. This property makes handling worn out blocks much easier by
removing the amount of state that needs to be considered during a
directory update.

However, extending the dir chain is a bit of a corner case. It's not
changing the old block, but callers of lfs_dir_append do assume the
"entry" will reside in "dir" after lfs_dir_append completes.

This issue only occurs when creating files, since mkdir does not use
the entry after lfs_dir_append. Unfortunately, the tests against
extending the directory chain were all made using mkdir.

Found by schouleu
2018-03-12 15:52:32 -05:00
Cruz Monrreal 56a6f3b4ff
Merge pull request #6327 from TeemuKultala/ doxygen_updates
cellular doxygen updates
2018-03-12 15:10:58 -05:00
Cruz Monrreal 81b2768537
Merge pull request #6301 from jarvte/fixing_cellular_gt
Cellular tests: fixed cellular greentea tests by adding timeout as it…
2018-03-12 11:52:34 -05:00
Vincent Coubard eb8ec9c22d Merge branch 'nordicpalsm' of https://github.com/donatieng/mbed-os into sc-cordio 2018-03-12 10:15:18 +00:00
Teemu Kultala bd75d5327f callback API added 2018-03-12 11:51:27 +02:00
Teemu Kultala cf07cb0394 cellular doxygen updates 2018-03-12 10:24:33 +02:00
Christopher Haster 17f7c8cd5b fatfs: Revert "Update error code mapping"
This reverts commits:
b40ff8af15
b548fd8a39
2018-03-09 15:27:03 -06:00
paul-szczepanek-arm 1521dee773 add doxygen comment about OOB deneration cause bu setOOBDataUsage 2018-03-09 18:06:56 +00:00
Vincent Coubard 5a2008211a Cordio: Implement missing functions for secure connection 2018-03-09 18:06:22 +00:00
Vincent Coubard 38bee37804 Cordio: remove generate_public_key from the security manager. 2018-03-09 18:05:31 +00:00
Vincent Coubard 36ca6be69a BLE: Initialize the pal in GenericSecurityManager 2018-03-09 18:04:47 +00:00
Vincent Coubard bd7be3d643 BLE: qualification of SecurityManager types 2018-03-09 17:56:59 +00:00
paul-szczepanek-arm 19bb13c8c5 one last typo 2018-03-09 14:56:37 +00:00
paul-szczepanek-arm 1f8c5c1231 fixed typos 2018-03-09 14:22:28 +00:00
paul-szczepanek-arm 7c82e91981 fixed typo 2018-03-09 12:49:10 +00:00
Teppo Järvelin d26bb23dae Cellular: ATHandler write improvements. 2018-03-09 14:03:17 +02:00
Martin Kojtal d2f00a054c
Merge pull request #6171 from anttiylitokola/master
Update mbed-coap to version 4.3.0
2018-03-08 17:44:17 +01:00
Martin Kojtal 0c0826179f
Merge pull request #6280 from davidsaada/david_nvstore_doxygen_only
NVStore: Enclose header file with DOXYGEN_ONLY option as well.
2018-03-08 17:40:12 +01:00
Martin Kojtal 87b37c0e2a
Merge pull request #6286 from delftswa2018/feature-typo-fixes
Small typo fixes in readme.md files
2018-03-08 17:36:23 +01:00
Kimmo Vaisanen 5bfe056370 Fix verification of RX2 datarate
Datarate verification passed only if given datarate was a minimum
possible value. Instead datarate should be checked that it is less
than maximum value.
2018-03-08 14:02:40 +02:00
Teppo Järvelin 228f7e8160 Cellular tests: fixed cellular greentea tests by adding timeout as it may take time to register, attach and connect to network. 2018-03-08 13:27:23 +02:00
Mirela Chirica be95f47636 Quectel BC95 echo test fixes
Fixing get host by name and iterate send/recv socket operations.
2018-03-08 13:13:02 +02:00
Mirela Chirica 84cd5c1000 Use of APN lookup decision logic fixed 2018-03-08 12:58:12 +02:00
Mirela Chirica 9f6454a084 Fix wrong header define name 2018-03-08 12:53:52 +02:00
Mirela Chirica 350d7916cf Release AT handler if network not created 2018-03-08 12:50:14 +02:00
Kimmo Vaisanen 3bd0f97914 Fix initialization of phy_params.payloads_with_repeater.size 2018-03-08 12:46:54 +02:00
Mirela Chirica aaf4edc15c Own SIM state retrieval for Quectel BC95 2018-03-08 12:46:44 +02:00
Teppo Järvelin 66fcc758c5 Fixed Cellular unit tests by adding one missing stub after changes in mbed-os. 2018-03-07 12:45:49 +02:00
Kevin Bracey 79b3d068e9 mbed-mesh-api: revise some Thread JSON help 2018-03-07 09:35:04 +02:00
Cruz Monrreal 8a7b390fdd
Merge pull request #6102 from Ultimaker/master
Add support for STEVAL-3DP001V1 board
2018-03-06 20:41:41 -06:00
Cruz Monrreal 772a857727
Merge pull request #6268 from AriParkkila/master
Fixes cellular unit tests.
2018-03-06 16:12:48 -06:00
jiangkun1994 af7c1c919d fixes a typo in README.md 2018-03-07 03:33:31 +08:00
jiangkun1994 5be35c92da fixes some typos in README.md 2018-03-07 03:27:45 +08:00
jiangkun1994 3ca084e954 fixes a typo in README.md 2018-03-07 03:23:42 +08:00
Jasper de Winkel 2c7a25a949 Small typo fixes in readme.md files 2018-03-06 19:07:03 +01:00
David Saada 9e35f8283e NVStore: Enclose header file with DOXYGEN_ONLY option as well. 2018-03-06 15:35:00 +02:00
Antti Kauppila 7741096538 Cellular tests: nsapi_socket_t errors fixed in unittests 2018-03-05 16:00:13 +02:00
paul-szczepanek-arm b8ba99a184 handling OOB data generation and verification now pushed down to PAL level 2018-03-05 11:29:13 +00:00
Anna Bridge a6e27b1b86
Merge pull request #6082 from AriParkkila/master
Mbed OS cellular connectivity
2018-03-02 18:36:48 +00:00
Anna Bridge f0bda6c4cd
Merge pull request #6251 from deepakvenugopal/master
Fixed Thread Commissioning issue in CoAP service
2018-03-02 13:58:59 +00:00
Ari Parkkila f91cc33fca Updated readme document 2018-03-02 14:38:08 +02:00
Teppo Järvelin 9e2da6af7d Removed mux comments from code. 2018-03-02 14:38:08 +02:00
Teppo Järvelin dc87629641 Fixed unit test after removing mux. 2018-03-02 14:38:08 +02:00
Teppo Järvelin 7c9f5f3781 Removed mux. 2018-03-02 14:38:08 +02:00
Ari Parkkila bfed2baeb6 Changed cellular device as not static 2018-03-02 14:38:08 +02:00
Ari Parkkila e183923c0d Changed std::snprintf to sprintf in cellular ATHandler.cpp 2018-03-02 14:38:08 +02:00
Ari Parkkila b811f7e84d Fixed EasyCellularConnection to have debug flag 2018-03-02 14:38:08 +02:00
Teppo Järvelin 81738acfb4 Fixed unit tests. 2018-03-02 14:38:08 +02:00
Amanda Butler 63485bd846 Copy edit ATHandler.h
Copy edit for clarity, grammar and spelling.
2018-03-02 14:38:08 +02:00
Amanda Butler cc3835e356 Copy edit AT_CellularBase.h
Copy edit file for clarified phrasing.
2018-03-02 14:38:08 +02:00
Amanda Butler 68cac96042 Copy edit AT_CellularDevice.h
Copy edit for consistent phrasing across docs.
2018-03-02 14:38:08 +02:00
Amanda Butler 1d57299000 Copy edit AT_CellularSMS.h
Copy edit file for grammar.
2018-03-02 14:38:08 +02:00
Amanda Butler 3a57d507d9 Copy edit AT_CellularStack.h
Copy edit for American English.
2018-03-02 14:38:08 +02:00
Amanda Butler 6dd0723dff Copy edit CellularUtil.h
Copy edit file for consistent capitalization and correct which/that.
2018-03-02 14:38:08 +02:00
Amanda Butler 00b1341297 Copy edit cellular_mux.h
Copy edit, mostly for spelling.
2018-03-02 14:38:08 +02:00
Amanda Butler a302a4be6d Copy edit OnboardCellularInterface.h
Copy edit file for active voice and removal of Latin abbreviations.
2018-03-02 14:38:08 +02:00
Amanda Butler dce649c97d Copy edit README.md
Copy edit file for active voice and consistent capitalization.
2018-03-02 14:38:08 +02:00
Ari Parkkila e53b93114e Typedef OnboardCellularInterface to EasyCellularConnection 2018-03-02 14:38:07 +02:00
Teppo Järvelin c9c3f85311 Changed state machine class name and implementation. 2018-03-02 14:38:07 +02:00
Ari Parkkila b159a51821 Added mux-enabled flag in cellular mbed_lib.json 2018-03-02 14:38:07 +02:00
Antti Kauppila 020e15828d Unittests fixed + readme updated
- Unittests were broken and are now fixed
- README.md is updated to have small instructiopn how to run unittests
2018-03-02 14:38:07 +02:00
Ari Parkkila 6c6223ae25 Added use_apn_lookup in mbed_lib.json 2018-03-02 14:38:07 +02:00
Ari Parkkila 164e8fb717 Added modem_debug_on to cellular device 2018-03-02 14:38:07 +02:00
Teppo Järvelin a95d376820 review changes: take define MBED_CONF_PPP_CELL_IFACE_APN_LOOKUP in to use. 2018-03-02 14:38:07 +02:00
Teppo Järvelin 1fd9ba6caa APN lookup from database support. 2018-03-02 14:38:07 +02:00
Mirela Chirica 6670ebbc5f - PDP context creation fixes for stack type handling
- Delete created contexts that do not succed to activate
2018-03-02 14:38:07 +02:00
Teppo Järvelin 0c49b669b4 Fixed bug when copying apn, username and password. 2018-03-02 14:38:07 +02:00
Teppo Järvelin 9016ed5ed8 Don't allow zero length apn, password or username. 2018-03-02 14:38:07 +02:00
Teppo Järvelin 1a3b6e589c Doxygen update: removed documentation from inherited classes as INHERTIC_DOCS is enabled in doxygen config. Reduces copy-paste and eases maintenance. 2018-03-02 14:38:07 +02:00
Teppo Järvelin e99c18c233 Fixed SMS receive in PDU: certain length sms last char was missing. 2018-03-02 14:38:07 +02:00
Mirela Chirica 6ccbb59979 Mem_str comparation was too short 2018-03-02 14:38:07 +02:00
Teppo Järvelin e61411e60c Fixed travis-ci. 2018-03-02 14:38:07 +02:00
Teppo Järvelin 7a8da2244d Fixed SMS send in pdu mode could give wrong size as return value. 2018-03-02 14:38:07 +02:00
Antti Kauppila 427674d6ca IOTCELL-553 fixed
Unittests reports an error as there is no coverage file created for cellular_mux.
This is now fixed by running an init function.
2018-03-02 14:38:07 +02:00
Ari Parkkila fb25c600e7 Added cellular readme 2018-03-02 14:38:07 +02:00
Teppo Järvelin ef14aef823 review and dynamic alloc (#3)
* Review fixes. Changed apn, username and password to be dynamically allocated.
2018-03-02 14:38:07 +02:00
Mirela Chirica 4457e361ac Logging compile fix 2018-03-02 14:38:06 +02:00
Mirela Chirica 22e7fbd7e8 - BC95 socket creation bug fix
- Cellular information reading stopping on comma fixed
2018-03-02 14:38:06 +02:00
Ari Parkkila d2e8691754 Cellular stack listen and accept to return UNSUPPORTED 2018-03-02 14:38:06 +02:00
Ari Parkkila 09143da040 Changed APN initialization from CellularNetwork to application 2018-03-02 14:38:06 +02:00
Ari Parkkila 1df28b28c7 Changed UBLOX C027 to LISA-U 2018-03-02 14:38:06 +02:00
Teppo Järvelin b7bf83001d Removed unused include in QUECTEL_BC95_CellularPower.cpp. 2018-03-02 14:38:06 +02:00
Teppo Järvelin 3ff131be0a Doxygen update, missing class definitions from AT_ classes. 2018-03-02 14:38:06 +02:00
Ari Parkkila f2613a6154 Cellular logging to use mbed_trace 2018-03-02 14:38:06 +02:00
Juho Eskeli 331a27df63 Enable connection status callback with EasyCellularConnection 2018-03-02 14:38:06 +02:00
Teppo Järvelin 58c8176247 doxygen fixes. 2018-03-02 14:38:06 +02:00
Teppo Järvelin e41c551468 Doxygen warnings fixes. 2018-03-02 14:38:06 +02:00
Ari Parkkila bc67100dcf Added const in AT_CellularNetwork::set_registration 2018-03-02 14:38:06 +02:00
Jari Poyhonen cd486f2624 Pull request feedback fix: add poll support to multiplexer 2018-03-02 14:38:06 +02:00
Ari Parkkila 0c8c41ff5f Added static const to AT_CellularNetwork.cpp 2018-03-02 14:38:06 +02:00
Teppo Järvelin 0e20e49ef7 review fixes to athandler: changing int16/8 to int's and some minor issues. 2018-03-02 14:38:06 +02:00
Jari Poyhonen 0ee265110a Pull request feedback fix: user_data_tx accepts arbitary size 2018-03-02 14:38:06 +02:00
Ari Parkkila 88398bf141 Changed include brackets to double quotes 2018-03-02 14:38:06 +02:00
Ari Parkkila 7545a459d6 Added cellular greentea tests 2018-03-02 14:38:06 +02:00
Mirela Chirica 1825c999a9 Removed unnecessary memsets of ATHandler's receving buffer 2018-03-02 14:38:06 +02:00
Mirela Chirica d15801d893 PR review fix:
- bind behaviour to not change existing port or address if the requested ones are 0
- removed temporary array setting to zero
2018-03-02 14:38:06 +02:00
Juho Eskeli 71f54bc2d4 Deactivate PDP context on disconnect when using AT stack. 2018-03-02 14:38:06 +02:00
Juho Eskeli 66aca1fddf Connection status callback added. 2018-03-02 14:38:06 +02:00
Mirela Chirica a35e1f8d6c - Removed extra whitespaces from AT prefix definitions. The format is modem specific and AT handler is handling whitespaces in case they are present
- Reverted the "smaller thread stack size for dispatcher thread". 1KB is not enough, was causing CMSIS-RTOS error: Stack underflow.
2018-03-02 14:38:05 +02:00
Mirela Chirica 4a3541ef60 Device info buffer moved from stack to static 2018-03-02 14:38:05 +02:00
Teppo Järvelin 9e85767c80 PR review fixed: removed dead code, removed magic numbers. 2018-03-02 14:38:05 +02:00
Ari Parkkila ea41e18aa0 Fixed IAR 7.8 compile 2018-03-02 14:38:05 +02:00
Teppo Järvelin 952ca8729f Smaller thread stack size for dispatcher thread to save memory. 2018-03-02 14:38:05 +02:00
Teppo Järvelin 4a6bcc4a0a Fixed doxygen warning. 2018-03-02 14:38:05 +02:00
Ari Parkkila e8a26f3f54 Removed mbed.h 2018-03-02 14:38:05 +02:00
Ari Parkkila 065326135e Change cellular socket port 0 to dynamic range 2018-03-02 14:38:05 +02:00
Ari Parkkila 934a93151a Changed requested stack for new pdp context 2018-03-02 14:38:05 +02:00
Teppo Järvelin 67740f73bd Removed ASSERT from mux. 2018-03-02 14:38:05 +02:00
Teppo Järvelin ea6d59ff19 Updated license texts. 2018-03-02 14:38:05 +02:00
Antti Kauppila 1a44c4e5b1 Update AT_CellularPower.cpp 2018-03-02 14:38:05 +02:00
Antti Kauppila bfbd3e42af more unittests added 2018-03-02 14:38:05 +02:00
Teppo Järvelin bf3d587571 Removed dead code from athandler. 2018-03-02 14:38:05 +02:00
Ari Parkkila 30a3ec8e0d Updated cellular doxygen 2018-03-02 14:38:05 +02:00
Teppo Järvelin 819a9a0da5 Changed register to accept only roaming and homenetwork as registered success. 2018-03-02 14:38:05 +02:00
Ari Parkkila db2c5cff20 Added cellular stack API 2018-03-02 14:38:05 +02:00
Teppo Järvelin 60f7054a45 Fixed to call callback when connected... 2018-03-02 14:38:05 +02:00
Teppo Järvelin 1dcc6684bf working example? 2018-03-02 14:38:05 +02:00
Antti Kauppila fbfbdc9718 renamed mbed_mux to cellular_mux 2018-03-02 14:38:05 +02:00
Antti Kauppila 217271b156 Unittests added 2018-03-02 14:38:03 +02:00
Teppo Järvelin 1cbddfbc10 Changed to use platform baudrate to uart. 2018-03-02 14:38:02 +02:00
Ari Parkkila ccd9dc3892 Smoke test changes with easy-connect 2018-03-02 14:38:02 +02:00
Ari Parkkila 5b70492c64 Updated cellular 2018-03-02 14:38:02 +02:00
Ari Parkkila 863ec3c3cc Initial cellular feature 2018-03-02 14:38:02 +02:00
Anna Bridge 6e1cd9b5aa
Merge pull request #6210 from k-stachowiak/mbed-tls-2.7.1-update
Update Mbed TLS to version 2.7.1
2018-03-02 10:20:12 +00:00
Anna Bridge ed17033928
Merge pull request #6188 from paul-szczepanek-arm/master
BLE: Security Manager
2018-03-02 10:15:26 +00: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
Cruz Monrreal 25321961fb
Merge pull request #5900 from davidsaada/david_sotp_cpp
Add NVStore (A.K.A SOTP) feature
2018-03-01 19:38:28 -06:00
Donatien Garnier a3383c139b Addressed Vincent's comments 2018-03-01 20:32:37 +00:00
Donatien Garnier 713ab14d22 Removed deprecated Security Manager 2018-03-01 20:06:38 +00:00
paul-szczepanek-arm ded1403399 security manager overview doc fixes 2018-03-01 19:55:44 +00:00
Donatien Garnier 7b6b02a746 Nordic PAL - Breaks existing SM 2018-03-01 19:50:13 +00:00
Cruz Monrreal c4354fa645
Merge pull request #6179 from geky/lfs-update
littlefs: Update to version 1.3
2018-03-01 13:42:47 -06:00
paul-szczepanek-arm 371f183a6a added one more sequence diagram 2018-03-01 18:49:43 +00:00
paul-szczepanek-arm 1f52e42bcf more detailed comment for confirmation request 2018-03-01 18:31:16 +00:00
paul-szczepanek-arm 8347e76bf4 Merge https://github.com/ARMmbed/mbed-os 2018-03-01 18:11:41 +00:00
paul-szczepanek-arm 68f25611d5 no need to ask for encryption after pairing, fold deref under the null check 2018-03-01 17:47:18 +00:00
paul-szczepanek-arm e706b41ccf removed redundant event for SC OOB request, fixed comments 2018-03-01 16:39:44 +00:00
Vincent Coubard f0405690b7 BLE: Resolve issue with address type in advertising report. 2018-03-01 15:48:21 +00:00
Vincent Coubard 8e21b5391a Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os into pr-sm 2018-03-01 15:39:56 +00:00
Vincent Coubard 03f79eec39 BLE: Remove Nordic Pal SM draft. 2018-03-01 15:39:51 +00:00
paul-szczepanek-arm 392ee6ec7c removed get encryption key size from API 2018-03-01 15:29:52 +00:00
paul-szczepanek-arm 0870b30aa6 Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os 2018-03-01 15:18:00 +00:00
paul-szczepanek-arm b89f9f2482 added callback on encryption request even if lower and restructured for clarity 2018-03-01 15:17:36 +00:00
Donatien Garnier 00df64b26c Fixed PasskeyAscii constructor 2018-03-01 15:16:47 +00:00
Vincent Coubard e8f29f7327 BLE - Cordio - PAL SM: refine comments and formating. 2018-03-01 14:59:06 +00:00
Vincent Coubard 36247b32b8 BLE - Cordio PAL SM: Implement Keypress notification 2018-03-01 14:58:01 +00:00
Vincent Coubard 56af3cb1be CBLE - Cordio PAL SM: Implement slave security request notification 2018-03-01 14:57:05 +00:00
Vincent Coubard da6ede34a8 BLE - Cordio PAL SM: Select correct on_ltk_request overload. 2018-03-01 14:56:30 +00:00
Vincent Coubard 628ffea6de BLE - Cordio PAL SM: Forward local keys 2018-03-01 14:55:45 +00:00
Vincent Coubard 18c93990b6 BLE - Cordio PAL Sm: generate random passkey displayed. 2018-03-01 14:55:12 +00:00
Vincent Coubard ecc7118490 BLE - Cordio PAL SM: Implement send_keypress_notification 2018-03-01 14:54:06 +00:00
Vincent Coubard 9043714443 BLE - Cordio PAL SM: Select correct security level in enable_encryption 2018-03-01 14:53:33 +00:00
Vincent Coubard 79db2af488 BLE - Cordio PAL SM: Choose correct security level in set_ltk 2018-03-01 14:53:00 +00:00
Vincent Coubard 4858388672 BLE - Cordio PAL SM: comment get_authentication_timeout 2018-03-01 14:52:09 +00:00
Vincent Coubard 054b7808b4 BLE - Cordio PAL SM: implement set_authentication_timeout 2018-03-01 14:51:43 +00:00
Vincent Coubard a057e5c0d2 BLE - Cordio PAL SM: Fix force secure connection. 2018-03-01 14:50:31 +00:00
Vincent Coubard cd7d9c551c Cordio pal SM: comment appropriately privacy related functions. 2018-03-01 14:47:46 +00:00
Vincent Coubard 1170b3132d BLE: Remove useless pal sm API 2018-03-01 14:46:12 +00:00
Vincent Coubard e29ea95fc9 BLE: Return error when security deascalation is requested. 2018-03-01 14:44:18 +00:00
paul-szczepanek-arm 7e2f5ee008 fix not setting the mitm performed state correctly 2018-03-01 14:25:22 +00:00
paul-szczepanek-arm bc11834125 fix not setting encryption state in generic 2018-03-01 13:59:19 +00:00
paul-szczepanek-arm d5b8439bae removed redundant check
we already checked the current encryption and it is encrypted
2018-03-01 13:03:49 +00:00
paul-szczepanek-arm 179ad1626f Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os 2018-03-01 12:56:33 +00:00
paul-szczepanek-arm cebc0f8fd7 create encryption result event even when nothing changes 2018-03-01 12:56:29 +00:00
Vincent Coubard c00ae29ca7 Cordio: Update stack binaries.
New binaries contains a fix in configuration handling.
2018-03-01 11:01:19 +00:00
Vincent Coubard d050c4e4af BLE: Fix CordioPalSM set_io_capability 2018-03-01 10:24:13 +00:00
Vincent Coubard dbf4a8da49 BLE: Implement CordioSM get_secure_connection_support. 2018-03-01 10:22:42 +00:00
Vincent Coubard 766b8765ad BLE: Accept pairing request when the user authorization is not required. 2018-03-01 10:21:35 +00:00
Christopher Haster 687304455e littlefs: Updated error codes in tests to match version update 2018-02-28 19:56:13 -06:00
Amanda Butler f078124bae
Edit README.md
Edit README with changes from docs site and minor formatting changes.
2018-02-28 18:59:20 -06:00
Amanda Butler 6ddff638d4
Copy edit nvstore.h
Copy edit for typos and minor spelling nits.
2018-02-28 18:47:17 -06:00
paul-szczepanek-arm f9a79bed15 fixed initiator distribution bug and setting LINK distribution field based on SC 2018-02-28 17:43:54 +00:00
paul-szczepanek-arm d20c4efbf3 documentation overview for securitymanager 2018-02-28 17:00:56 +00:00
Bartek Szatkowski 4cb47df40a Add system_reset() function to Mbed OS 2018-02-28 16:42:34 +00:00
Krzysztof Stachowiak 6370a3500d Correct typos and code alignment 2018-02-28 17:03:47 +01:00
paul-szczepanek-arm 701c18b428 missing documentation, removed privacy call from api 2018-02-28 13:49:51 +00:00
paul-szczepanek-arm c52d324dab pass in information about the mitm and sc quality of the ltk to the pal 2018-02-28 12:02:54 +00:00
paul-szczepanek-arm abcc5db44b fix setting default values which were overriding even when unset 2018-02-28 10:00:58 +00:00
Krzysztof Stachowiak 9d5d60b62e Adjust partner code for MD HW acceleration to new MD API 2018-02-28 10:02:56 +01:00
Krzysztof Stachowiak 947275036c Update Mbed TLS to version 2.7.1 2018-02-28 10:02:30 +01:00
daid 62599a97f7 Add support for STEVAL-3DP001V1 board, which has an STM32F401VE chip. This support is based on the NUCLEO-F401RE board. Which has the same amount of flash/ram but less pins available on the chip. 2018-02-28 09:37:39 +01:00
paul-szczepanek-arm 975544f274 link key distribution decision made in generic security manager 2018-02-27 23:26:34 +00:00
Cruz Monrreal 21483cd59d
Merge pull request #6167 from hug-dev/cm3ds-bug-fix
CM3DS Maintenance Pull Request: Bug fixes (1/4)
2018-02-27 13:44:05 -06:00
Cruz Monrreal 478fda70e0
Merge pull request #6166 from u-blox/apn_default
Make APN lookup the default behaviour for PPPCellularInterface
2018-02-27 13:43:32 -06:00
paul-szczepanek-arm 96de1c2752 header guards renamed 2018-02-27 17:25:57 +00:00
paul-szczepanek-arm 8e41de2e25 Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os 2018-02-27 17:23:25 +00:00
paul-szczepanek-arm e186985b26 addressing PR review: added documentation, moved code and renamed vars 2018-02-27 17:22:13 +00:00
Tero Jääskö f0cc00ef3b nanostack-hal: add alternative critical section implementation
The nanostack hal's critical section uses a mutex for mutual exclusion,
which is nice for many use cases. But when one needs to use the critical
section from interrupts, the RTX will have a assertion failure and panic.

Add a configurable for mbed_lib, which can be used to enable a alternative
version of critical section, which uses the underlying OS primitives, which
disables the interrupts.

Note: the default behavior is not changed, one needs to override the
"nanostack-hal.critical-section-usable-from-interrupt" to have "true".

Reason for this change is that there is a need for sending events using
nanostack event queue from interrupt context, eg. from a socket callback.
2018-02-27 17:12:55 +02:00
Vincent Coubard 81126ad7ce BLE: remove draft of nordic pal security manager. 2018-02-27 14:35:56 +00:00
Vincent Coubard e568aa47ba Merge branch 'master' of https://github.com/ARMmbed/mbed-os into pr-sm 2018-02-27 14:33:35 +00:00
Vincent Coubard bf8204a21b BLE: remove host testing from sm pr 2018-02-27 13:42:03 +00:00
paul-szczepanek-arm fc01cff1b3 removed using statements from header 2018-02-27 12:25:01 +00:00
paul-szczepanek-arm d264512c8c remove virtual as per review request 2018-02-27 12:15:40 +00:00
paul-szczepanek-arm 536f541b93 mic event no longer present in user api, removing call 2018-02-27 12:13:48 +00:00
Vincent Coubard 928dbcf325
BLE: Fix prefix of BLEProtocol::AddressType 2018-02-27 12:12:17 +00:00
Kevin Bracey d24c7c454b
Merge pull request #6186 from TeroJaasko/eventloop_in_main_thread_to_master
Eventloop in main thread to master
2018-02-27 14:01:40 +02:00
paul-szczepanek-arm 957cee39fe Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os 2018-02-27 11:57:20 +00:00
paul-szczepanek-arm 0f1fd58c38 removed MIC related functions and events from the user API 2018-02-27 11:57:16 +00:00
Vincent Coubard 0b0d614787 Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os into pr-sm 2018-02-27 11:54:32 +00:00
paul-szczepanek-arm 62e9011525 public key renaned (added coord), also contains missing commit for oob_rand rename 2018-02-27 11:50:04 +00:00
Vincent Coubard 361ae8c7a3 BLE: fix references to oob_rand_t. 2018-02-27 11:48:21 +00:00
paul-szczepanek-arm 4010bade89 reanmed type as per review request 2018-02-27 11:43:46 +00:00
paul-szczepanek-arm 4fd29630b3 removed redundant type 2018-02-27 11:23:22 +00:00
Vincent Coubard 871ebb6708 BLE: Add host test instructions. 2018-02-27 11:19:59 +00:00
Vincent Coubard c6bca57633 BLE: Improve generic gatt client tests documentation. 2018-02-27 11:15:48 +00:00
paul-szczepanek-arm 8142cb5131 redundant call removed 2018-02-27 10:45:31 +00:00
paul-szczepanek-arm 5de1979f5c types renamed as per review requests 2018-02-27 10:33:35 +00:00
David Saada e891d6abf0 NVStore: Use wait_ms to delay instead of Thread::wait. 2018-02-27 12:33:27 +02:00
paul-szczepanek-arm b0c7d729fc variable name updated in the undefed cmac blocks 2018-02-27 10:00:07 +00:00
paul-szczepanek-arm 55106362f0 removed redundant type 2018-02-27 09:59:35 +00:00
paul-szczepanek-arm c9690c9f59 upate doxygen since passkey is no longer a pointer 2018-02-27 09:22:36 +00:00
Vincent Coubard 47eea76c03 BLE: Test db entry open and close in the generic security manager. 2018-02-27 09:00:26 +00:00
Vincent Coubard 7833d798da BLE: Fix security manager mocks 2018-02-27 09:00:26 +00:00
Vincent Coubard b939721421 BLE: Ensure passkey is not null before integer conversion 2018-02-27 09:00:26 +00:00
David Saada f43e7b1301 NVStore: Calling thread wait doesn't depend on RTOS being defined any more. 2018-02-26 23:17:59 +02:00
Cruz Monrreal b7c2b1f510
Merge pull request #6120 from ARMmbed/g-fat-errors
fatfs: Update error code mapping
2018-02-26 14:46:33 -06:00
Cruz Monrreal a93342f70b
Merge pull request #6151 from pan-/fix-generic-gap-connect
BLE: Fix generic gap connect
2018-02-26 14:39:25 -06:00
Cruz Monrreal 7f812807a9
Merge pull request #6177 from geky/fix-littlefs-mkdir-root
littlefs: Fix handling of root as target for create operations
2018-02-26 14:37:54 -06:00
David Saada 2b7766a73b Add NVStore (A.K.A SOTP) feature 2018-02-26 15:57:32 +02:00
Rob Meades 2fe3223612 Make MBED_CONF_PPP_CELL_IFACE_APN_LOOKUP default in mbed_lib.json while
ensuring that, if there is a user-specified APN, it is still used.
2018-02-26 11:33:40 +00:00
Vincent Coubard 3554a63dc8
BLE: Add default addressType to processAdvertisementReport
This patch should be reverted once the ST shield library and mbed-os-cliapp have been updated to support this change in the porting API.
2018-02-26 09:59:17 +00:00
Christopher Haster 436e4706ed littlefs: Add littlefs.intrinsics to override intrinsics support
Enables intrinsics for bit operations such as ctz, popc, and le32
conversion. Can be disabled to help debug toolchain issues. Has
proven to be surprisingly useful.
2018-02-23 17:51:42 -06:00
Christopher Haster afc3306d25 littlefs: Adopted MBED_ASSERT and littlefs.enable_assert
Much like the logging functions, assertions can be enabled, disabled
and forced with the littlefs.enable_assert config option. Integrates
with the new LFS_ASSERT macro.
2018-02-23 17:45:24 -06:00
Vincent Coubard 1f4e2b1820
BLE: Fix Gap::processAdvertisementReport documentation 2018-02-23 17:32:22 +00:00
Cruz Monrreal II b40ff8af15 Moved return statements to their own line 2018-02-23 11:23:13 -06:00
Vincent Coubard 47e005e14c
BLE: Fix address report in Maxim port. 2018-02-23 15:50:34 +00:00
Vincent Coubard d586f7f9d2 BLE: update SecurityDB comments. 2018-02-23 13:54:41 +00:00
Tero Jääskö 09b8245cba nanostack-hal: remove connection from event loop init and dispatch thread
The thread flag signaling mechanism is problematic if a separate event
loop thread is not used. The problem is, that one needs to know the
thread id of the loop dispathcer, and that knowledge can be derived
only from the caller thread of the initialization function.

Remove the magic connection from caller thread to dispatcher thread
by using event flags instead of thread flags on signaling. As the
event flags require the massive amount 20 bytes of RAM whereas
thread flags requires none, keep the code behind flag.
2018-02-23 15:37:33 +02:00
Tero Jääskö aed2a0cd9f nanostack-hal: modify eventloop to allow running it in a main thread
The separate eventloop thread may not be necessary on all uses, as one
can use the existing main thread for event dispatching. Add a
conditional nanostack-hal.event-loop-dispatch-from-application, which
disables the thread creation.

Note: the ns_hal_init must be ran from the same thread which will be
used to execute the event loop later.
2018-02-23 15:37:32 +02:00
Vincent Coubard e91570e4ba
BLE: Fix default connection params type. 2018-02-23 13:30:16 +00:00
Paul Szczepanek 268655a028
Merge pull request #17 from pan-/security-db-rework
Security db rework
2018-02-23 13:24:15 +00:00
Vincent Coubard 11a809ee1c BLE: remove MorySecurityDb include from generic security manager. 2018-02-23 11:19:21 +00:00
Vincent Coubard 1ded0d7198 BLE: Split security manager control block from the secure DB. 2018-02-23 11:15:08 +00:00
Vincent Coubard 52910af33e BLE: Add mock for SecurityManagerEventHandler. 2018-02-23 11:13:42 +00:00
Vincent Coubard 7db6aeb19b BLE: Add mock and stub for ConnectionEventMonitor. 2018-02-23 11:13:42 +00:00
Vincent Coubard 2bb73fd8bb BLE: Cleanup includes of pal::ConnectionEventMonitor. 2018-02-23 11:13:42 +00:00
paul-szczepanek-arm c8f77259ed Merge https://github.com/ARMmbed/mbed-os 2018-02-23 10:11:49 +00:00
Cruz Monrreal 1d1eef47ff
Merge pull request #6160 from TeemuKultala/status_callback_fix
fix issue 6150
2018-02-22 21:56:42 -06:00
Christopher Haster 453a1b6815 Merge commit '451c3d137fbd49ce5e00e765af66c16bb5169ee9' into lfs-update 2018-02-22 18:43:04 -06:00
Christopher Haster f67a795ef0 littlefs: Fixed handling of root as target for create operations
Before this patch, when calling lfs_mkdir or lfs_file_open with root
as the target, littlefs wouldn't find the path properly and happily
run into undefined behaviour.

The fix is to populate a directory entry for root in the lfs_dir_find
function. As an added plus, this allowed several special cases around
root to be completely dropped.
2018-02-22 15:56:24 -06:00
Antti Yli-Tokola 1b27317e6c Update mbed-coap to version 4.3.0
Add new api to clear whole sent blockwise message list
2018-02-22 17:57:12 +02:00
paul-szczepanek-arm 02f01f0e1d Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm 2018-02-22 11:53:00 +00:00
Vincent Coubard 1698c2d5be BLE: Add missing encryption implementation in cordio pal SM. 2018-02-22 11:51:02 +00:00
paul-szczepanek-arm 1da5d74470 temporary key encryption mitm quality reflected 2018-02-22 11:50:11 +00:00
Martin Kojtal 414b2d971d
Revert "Update Mbed TLS HW acceleration partner code to new hashing API" 2018-02-22 11:20:35 +00:00
Teemu Kultala 34ef11630c fix issue 6150 by always setting net interface UP in mbed_set_dhcp 2018-02-22 13:00:46 +02:00
Brendan McDonnell 7094e13891 revert typos in external sources 2018-02-21 19:08:28 -05:00
paul-szczepanek-arm 6b0ba64ee2 SM fixes to init and register the event handler correctly 2018-02-21 18:35:44 +00:00
Hugues de Valon ef7b16d9c5 CM3DS: fix non aligned access in Ethernet driver
This patch changes the way data is put in the TX_DATA_PORT register when
sending packet over Ethernet.
When this driver is compiled with release compilation profile
(space optimization compiler options) with Arm compiler version 5,
the line:
SMSC9220->TX_DATA_PORT = *pktptr;
generates the assembly instruction to get the pktptr pointed value:
LDM r2!, {r3}
with pktptr = r2
However, the code does not prevent the pktptr value from being unaligned
(to a 32 bits boundary) in that zone and the LDM instruction causes a
HardFault if this is the case. When the compiler option is not activated
(debug and develop compilation profiles), the compiler generates LDR
instruction instead which does not cause a HardFault.
The ARM v7-M states page B3-601: "Unaligned load-store multiples and
word or halfword exclusive accesses always fault."

To face that problem, we check if the data pointer is aligned or not. If
it is, we apply the same algorithm than before. If not, a local variable
is created and we copy in it, byte per byte, the contents at the
unaligned pointer. However, it will impact performances adding 8
instructions (one LD and one ST for each copied byte).

Change-Id: I11f6e82ce5521960d2ecf499f718f76fec29c0b0
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-02-21 17:54:12 +00:00
Galanakis, Minos 5b8ff81e02 CM3DS: fix a minor bug in the ethernet LWIP driver
This patch fixes a memory bug. `eth_arch_enetif_init` method call
would attempt to write to un-initialized area of memory.

Change-Id: I9881de71d58fa14db609fe3e24617a210b896471
Signed-off-by: Galanakis, Minos <minos.galanakis@arm.com>
2018-02-21 17:51:09 +00:00
Vincent Coubard 9e98a72198 BLE: Move cordio default scan and connection params in global memory. 2018-02-21 17:43:39 +00:00
Vincent Coubard ad78b3e023 BLE: Handle NULL parameters in Gap::connect. 2018-02-21 17:43:38 +00:00
Vincent Coubard 9c6f44de91 BLE: Force stop scan before connection initiation. 2018-02-21 17:43:38 +00:00
Vincent Coubard c5be493bb7 BLE: Add address type in AdvertisementCallbackParams_t. 2018-02-21 17:41:14 +00:00
Vincent Coubard 0158971387 BLE: Move cordio default scan and connection params in global memory. 2018-02-21 15:00:17 +00:00
Martin Kojtal 5c7cd1f689
Merge pull request #6139 from VeijoPesonen/eth_n_wifi-drv_n_tc_fixes
LWIP PBUF_POOL_BUFSIZE increased to fit also IPv6 header
2018-02-21 15:19:55 +01:00
Vincent Coubard e3d7f2bb05 BLE: Add address type in AdvertisementCallbackParams_t. 2018-02-21 14:14:31 +00:00
Vincent Coubard f3c453b077 BLE: Handle NULL parameters in Gap::connect. 2018-02-21 12:42:54 +00:00
Vincent Coubard 7941a6fcc7 BLE: Force stop scan before connection initiation. 2018-02-21 12:13:24 +00:00
Veijo Pesonen a7ef67a92a fixup! LWIP PBUF_POOL_BUFSIZE increased to fit also IPv6 header 2018-02-21 08:25:46 +02:00
Brendan McDonnell 085c045fda a few grammar corrections 2018-02-20 20:33:53 -05:00
Brendan McDonnell c4f10aafee typos 2018-02-20 20:11:19 -05:00
Cruz Monrreal 24a3acd647
Merge pull request #6141 from hasnainvirk/dr_bug_fix
Verifying datarate bug fix
2018-02-20 13:44:51 -06:00
Cruz Monrreal e66cc74b8f
Merge pull request #6046 from geky/fix-lookahead-noack-pop
littlefs: Fix incorrect lookahead population before ack
2018-02-20 13:19:13 -06:00
paul-szczepanek-arm c65419239f fixed compiler errors for pal after its update 2018-02-20 18:01:21 +00:00
Cruz Monrreal 817f9a569c
Merge pull request #5812 from OpenNuvoton/nuvoton_crypto
M487: Support ECP H/W accelerator
2018-02-20 11:53:23 -06:00
Veijo Pesonen e1d9d8783d LWIP PBUF_POOL_BUFSIZE increased to fit also IPv6 header
IPv6 header requires 20 more bytes compared to IPv4 header.
2018-02-20 15:45:44 +02:00
Hasnain Virk b163057da7 Verifying datarate bug fix
A patch was missed from the feature PR.
verify_channel_DR() in LoRaPHY class had a loop with uninitialized
loop counter.
2018-02-20 15:08:04 +02:00
Vincent Coubard 4ce0ed9c0c BLE: Remove dependency of GenericSecurityManager towards gap. 2018-02-19 17:46:41 +00:00
Vincent Coubard 28f2f46974 BLE: Hide event monitor inside pal. 2018-02-19 17:41:18 +00:00
Vincent Coubard 8b9e08e128 BLE tests: Add stub for device.h . 2018-02-19 17:32:10 +00:00
Vincent Coubard bcea06fb32 BLE: Fix inclusion of mbed_error.h 2018-02-19 17:32:10 +00:00
Vincent Coubard cc896f1b52 BLE: Add mock for the security db. 2018-02-19 17:32:10 +00:00
paul-szczepanek-arm 396ca2ca20 removed redundant cast 2018-02-19 17:29:45 +00:00
paul-szczepanek-arm 990e21247c pull in cordio security manager into BLE 2018-02-19 17:26:24 +00:00
paul-szczepanek-arm dd7bc50e4b Merge branch 'master' into palsm 2018-02-19 16:39:10 +00:00
paul-szczepanek-arm ecacbda507 compiler errors fixed after the merge 2018-02-19 16:28:01 +00:00
Martin Kojtal 3fec23e505
Merge pull request #6115 from andrewleech/nRF5XPalGattClient_include_new
NRF5x: Fix `error_t` conflict with gcc std>=gnu++11
2018-02-19 17:19:09 +01:00
paul-szczepanek-arm 8cf7b3b06f Merge branch 'palsm' of https://github.com/paul-szczepanek-arm/mbed-os into palsm 2018-02-19 15:35:39 +00:00
paul-szczepanek-arm d9156a28e2 connection monitor 2018-02-19 15:32:07 +00:00
Vincent Coubard 9b12c6b11d BLE: Add SecurityManager tests to the build script. 2018-02-19 14:44:30 +00:00
Vincent Coubard 15cfcba16a BLE: Move security DB into PAL. 2018-02-19 14:43:56 +00:00
Vincent Coubard c7672994d2 BLE tests: Mock pal::SecurityManager. 2018-02-19 14:34:07 +00:00
Vincent Coubard 6529d677c1 BLE: Fix include prefixes. 2018-02-19 13:46:46 +00:00
Vincent Coubard 863bdfbb75 BLE: Add unit test for the Generic GattClient.
These tests are build around gtest and gmock and solely run on a host; cmake is
used as a build system:

- cd features/FEATURE_BLE/tests
- mkdir build
- cd build
- cmake ..
- make
- ./gatt-client-tests
2018-02-19 13:23:23 +00:00
Cruz Monrreal 1e1a1787d4
Merge pull request #6087 from ARMmbed/feature-lorawan
Integrating Mbed LoRaWAN Stack in Mbed-OS 5.8
2018-02-16 10:46:53 -06:00
Christopher Haster b548fd8a39 fatfs: Update error code mapping
A lot of the error codes in fatfs were mapped incorrectly. This patch
revisits the error code mapping to try to correct these mistakes
2018-02-16 00:29:22 -06:00
Andrew Leech d001fb1c66 Avoid importing <memory> as this causes a typedef conflict on `error_t` whien compiling with gcc "-std=gnu++11" or above 2018-02-16 12:10:44 +11:00
Kevin Bracey d5dc655a6d Correct LoRaWAN license header 2018-02-15 15:40:18 +02:00
Kevin Bracey 984cc1ab50
Merge pull request #6032 from jarlamsa/status-callbacks
Status callbacks
2018-02-15 13:02:10 +02:00
Cruz Monrreal f9cd95f30d
Merge pull request #6095 from ARMmbed/g-note-mbr-limits
mbr: Add note about limitations
2018-02-14 14:10:41 -06:00
Cruz Monrreal 06b618447f
Merge pull request #5973 from k-stachowiak/IOTSSL-1727-update-to-new-md-api
Update Mbed TLS HW acceleration partner code to new hashing API
2018-02-14 12:58:08 -06:00
Cruz Monrreal 975b940001
Merge pull request #6053 from deepakvenugopal/master
Nanostack release for Mbed OS 5.8
2018-02-14 12:44:53 -06:00
Christopher Haster db965c1652
mbr: Added note about limitations 2018-02-14 10:31:14 -06:00
Krzysztof Stachowiak 2e9243f2e1 Expand guards for conditional compilation of ALT MD API 2018-02-14 16:33:58 +01:00
Kevin Bracey d07b9f30eb mbed-mesh-api: add JSON help 2018-02-14 14:29:10 +02:00
Christopher Haster 5b09daf0f9 mbr: Added checks for extended partitions 2018-02-13 14:03:02 -06:00
Vincent Coubard aeb992ee3c BLE: Add unit test for the Generic GattClient.
These tests are build around gtest and gmock and solely run on a host; cmake is
used as a build system:

- cd features/FEATURE_BLE/tests
- mkdir build
- cd build
- cmake ..
- make
- ./gatt-client-tests
2018-02-13 17:01:25 +00:00
paul-szczepanek-arm 2f1e211da1 set entry state on connect 2018-02-13 16:41:36 +00:00
Hasnain Virk d7c22a6b09 A few Cosmetics & methods for mask manipulation
LoRaMacChannelPlan class provides APIs which are not usable for
PHY layer implementations who do not support custom channel plans.
So we had some code in APIs which was explicitely using magic numbers
for the channel mask. Although it turned out to be not a bug as a layer
down we were checking for custom channel support. However, we now
check for custom channel support before going deep into PHY layer that will
make the code run faster and we have done some cosmetics to the code for
readability.

Channel mask is manipulated with inline methods
2018-02-13 15:09:58 +02:00
paul-szczepanek-arm d44af8c40a don't handle event handler memory by the SM 2018-02-13 12:11:17 +00:00
paul-szczepanek-arm 55045010d6 fixed all the compilation errors and recent pal changes 2018-02-13 11:01:30 +00:00
Krzysztof Stachowiak 8c412ed886 Resolve compiler and linker issues in MD APIs
The features/mbedtls/targets/TARGET_STM/* files include constant needed
for the error codes returned from the MD functions.

The features/mbedtls/targets/hash_wrappers.c provides thin redirection
layer for the hardware accelerated MD implementations that rely on the
old API.

The TESTS/mbedtls/multi/main.cpp has been changed to use the new API
as its build environment does not rely on the translation unit
containing the necessary wrappers.
2018-02-13 10:07:28 +01:00
Christopher Haster fd9e4c12fd Added test to catch multiple nested MBRs 2018-02-12 18:57:41 -06:00
Christopher Haster 70cfef8630 fatfs: Removed extra MBR block
Regression after ChanFS update: Due to parameter changes in the f_mkfs
function, the option to use a separate block for MBR (FDISK) was turned
back on. This should be off as it conflicts with an explicit MBR when
using the MBRBlockDevice.
2018-02-12 17:16:10 -06:00
Cruz Monrreal cf60266584
Merge pull request #6058 from pan-/fix-gap-type-static
Ble: fix size function in advertising_data_t and address_t.
2018-02-12 10:28:32 -06:00
Cruz Monrreal bab8cc4de7
Merge pull request #6018 from bmcdonnell-ionx/fix-dir_seek-warn
fix compiler warning
2018-02-12 10:25:54 -06:00
paul-szczepanek-arm 35b4ae4bc7 typos 2018-02-12 14:42:31 +00:00
paul-szczepanek-arm 581b5755b8 removed duplicate event handler, removed redundant using statements 2018-02-12 13:40:04 +00:00
paul-szczepanek-arm 2c1fcc7235 style 2018-02-12 10:27:27 +00:00
Kimmo Vaisanen 90c02f2843 Check correct return value
mib_get_request() returns lorawan_status_t value so comparing
return value to boolean is incorrect.
2018-02-12 12:09:16 +02:00
Jarno Lamsa 8bea5ef438 Add some documentation for the callback 2018-02-12 11:02:07 +02:00
ccli8 03f0ea1117 [M487] Refine internal_mpi_write_eccreg in ECP alter. 2018-02-12 14:11:15 +08:00
paul-szczepanek-arm 90c30c9022 typo 2018-02-11 18:19:56 +00:00
paul-szczepanek-arm c93e800eea missing ref 2018-02-11 18:13:54 +00:00
paul-szczepanek-arm 934d8f9235 pointers changed to references for a consistent PAL 2018-02-11 18:08:21 +00:00
paul-szczepanek-arm 68db4dd52f avoiding compiler issues 2018-02-11 15:37:23 +00:00
Hasnain Virk 7224fbae1c Style Changes in MAC layer
Style changed according to Mbed-OS guidelines.
2018-02-11 00:31:47 +02:00
Hasnain Virk 20bce2f21c Style changes for LoRaWANTimer & a warning fix
Method naming, doxygen style etc are made to follow Mbed-OS guidelines.
A warning fix in LoRaWANstack.
2018-02-11 00:31:47 +02:00
Hasnain Virk f0fe1229cf Moving LoRaRadio and LoRaWANBAse to lorawan
LoRaRadio and LoRaWANBase use to exist under netsocket/.
However, their logical location should be where the actual stack exists.
2018-02-11 00:31:47 +02:00
Hasnain Virk 4432ad9ae7 Major PHY layer modifications
The PHY layer had a lot of duplicated code in various geographic regions.
In this commit we have tried to concentrate all common functionaliy into
one single class which LoRaPHY that provides three kind of methods:

i) Non virtual base methods which are there for upper layer use, e.g.,
   providing access to driver or generic PHY layer functionality which
   needs to be exposed to upper layers.

ii) Virtual methods (no hard limit on implementation) that can be overriden
    in derived classes. Some PHY implementations will need that as they may
    come with very peculiar channel schemes, e.g., dynamic channel schemes
    in US bands.

iii) Protected methods which are only available for the derived PHYs

We have adopted a mechanism for the dervied PHYs to announce their differenmtiating
parameters in their constructors by filling up a data structure known as lora_phy_params_t
which exists at base level. Access modifier for this data structure is protected so it can only be
used by the base or derived classes, i.e., no exposure to upper layers.

For extra functionality and differentiating controls, a derived PHY can override any virual method as necessary.

In addition to that we have adopted the Mbed-OS style guide and have changed data structures and code to reflect that.
Some data structures are removed.

* Algorithm to get alternate DR is modified. Current scheme, works as multiples of 6 as EU and EU like PHYs
provide 6 datarates. We make sure that we try a datarate at least once. If nuber of join retries is a multiple
of 6, we may try multiple times on each data rate.

* Most of the PHYs with dynamic channel plans, always override the above mentioned algorithm as the rules governing
  this algorithm do not hild in their case.

* band_t data structure is enhanced with lower band frequency and higher band frequency. That enables us to validate
  frequency based upon the band and hence we can have a single function for all PHYs to validate frequency.

* In some PHYs, there were some extra channel masks were defined which were not being used. Hence removed.

* EIRP table corrected in some PHYs based upon spec.

* PHY functions in response to Mac commands are renamed to reflect what they exactly do.
  for example accept_rx_param_setup_req() because that's what they do. they can either accept
  the mac command or reject it.# Please enter the commit message for your changes.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen 5d98839092 Improve error handling & robustness
This commit also introduces API change for disconnect(). disconnect() will
now return LORAWAN_STATUS_DEVICE_OFF for successfull disconnect.

 * LoRaWANStack::handle_tx() can be called with NULL buffer when length is 0.
   This commit fixes the case where user has provided NULL buffer and length
   is > max_possible_size.

handle_tx() now always returns LORAWAN_STATUS_PARAMETER_INVALID if given
buffer is NULL pointer and length > 0.

General error checking is added and some asserts are added for events.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen 35045f19cc Implement LoRaMac::disconnect
In order to reset LoRaMac's state in disconnect, we need to implement
an API which can be used to cancel all outstanding requests and reset
LoRaMac's internal state to idle.

This commit introduces LoRaMac::disconnect() which can be used for
this purpose.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen 44bca596c5 Use EventQueue for timers
Instead of initiating own timer objects we can use EventQueue::call_in() method
as we already have handle to EventQueue object.

Also setting timeout and starting timer has been combined to TimerStart method.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen f2bdef8543 Add includes for used data types 2018-02-11 00:31:47 +02:00
Hasnain Virk 7369cbd649 [IOTCELL-346] Removing default value storage
We now save roughly 500 bytes by removing storage of default
parameters in the loramac_params_t data structure. We use Mib to
get default values from PHY whenever needed instead.

loramac_sys_arams_t now contains only the runtime values set during operation
whenever defaults are needed we directly query the PHY layer or via Mib as the
need maybe.
2018-02-11 00:31:47 +02:00
Hasnain Virk c02774343a [IOTCELL-282] Code cleanup/simplification and rules
Baseline is changed to use a single set of data structures that simplifies the
code in the LoRaWANStack and Mac layer. We are now following certian rules for naming
data structures.

- All structures visible outside their domain are prefixed as 'lorawan_'
- All mac structures are prefixed as 'loramac_'
- All subsystem or module strucutures carry their name in prefix, like 'mcps_'

PHY layer still have legacy camel case data structures which will be entertained
later while we will be simplifying PHY layer.
Test cases are also updated with the new data structure naming conventions.

One major difference from the previous baseline is the removal of static buffer
from mcps indication. And we do not copy data from stack buffer to rx_msg buffer.
This saves at least 512 bytes.

It may look like now that if we have received something but the user have not read
from the buffer, then the buffer will be overwritten and we will lose previous frame.
Yes, we will. But the same will happen even if we would have copied the buffer into rx_msg
because then the rx_msg gets overwritten. So we decide to abandon copying the buffer at
multiple locations. We inform the user about reception, if the user doesn't read and
the data gets overwritten, then so be it.
2018-02-11 00:31:47 +02:00
Hasnain Virk 6ea541c054 [IOTCELL-286] Adding Channel Plan subsystem
Channel planning was distributed over LoRaWANStack and LoRaMac previously.
We now centralize it by allocating the service to its own class.

Thus making the workflow consistent, i.e.,

Request for channel plan = Application->Interface->stack->Mac->ChannelPlan

Major change apart from adding the channel plan subsystem are the API changes
in LoRaMac class.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen 34c034dfff Remove duplicate configuration flags
This commit changes code to use directly mbed os configuration system generated
compilation flags.
2018-02-11 00:31:47 +02:00
Hasnain Virk b47c59ce2a [IOTCELL-288] Adding MIB subsystem
As a part of MAC layer breakdown into independent subsystems, we have
introduced a class for MIB service.

Major changes from the baseline are:

- making OpenRxWindow() public in LoRaMac.cpp
- Moving various data structures to central protocol data structure
2018-02-11 00:31:47 +02:00
Hasnain Virk 49885d2bba Changing MLME data access methods to inline
As indicated in one of the reveiws, it makes more sense
to change the data access methods to inline as they are
just one liners.
2018-02-11 00:31:47 +02:00
Hasnain Virk 255bd30a48 [IOTCELL-290] Adding MCPS subsystem
Like MLME, MCPS has also been alloted its own class. This is the
2nd stage of breaking down the MAC services into subsystems.
2018-02-11 00:31:47 +02:00
Hasnain Virk a100ab0226 [IOTCELL-289] Adding Mlme class handle
MAC layer will services will be broken down into independent
subsystems. This is the first of those efforts. We have introduced
LoRaMacMlme class that handles everything related to MLME subsystem or
subservice. To accomodate subsystems we have grouped all protocol level
variables into one big data structure. A pointer to that data structure
will be passed around the subsystems in order to regulate the entire
system.

LoRaMac::Send() and LoRaMac::SetTxContWave*() APIs are made public as
they are needed to be accessed by the subsystems.
2018-02-11 00:31:47 +02:00
Hasnain Virk a3106d2fe6 Timer SingletonPtr & mac protocol data structure
Ticker objects embeded in TimerEvent_t data structure were getting constructed
even for the non LORAWAN builds. And that's what was bloating the builds.
We now lazy initialize them using Mbed-OS utility clas SingletonPtr.

A central data structure has been created that carries all the protocol level
variables for the Mac layer. This is important as we are going to break down
MAC services into subsystems and we will pass around common data using that data structure.
2018-02-11 00:31:47 +02:00
Hasnain Virk f62253ca0e Changing Timer callback to Mbed Callback
Time handler class had a c style callback attached to it which
had been hampering us to be fully object oriented.
That particular callback is changed to Mbed Callback which is attatched
to a specific object hence allowing us to be fully object oriented.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen e18d76aa7e Change LoRaWANTimer to a C++ class
LoRaWANTimer is now called as LoRaWANTimeHandler class as this class handles both
current time and timer functionalities.

Some refactoring on how LoRa objects are created was needed:
- LoRaWANTimeHandler object is created by LoRaWANStack and shares with LoRaMac and PHY.
- LoRaPHY object is now member of LoRaWANStack class instead of static variable in source file.
2018-02-11 00:31:47 +02:00
Hasnain Virk b634ca49dd Architecture rework, bug fixing & missing features
MAC layer is now a class rather than being a blob.
In addition to that Mac commands are now being handled in
a seperate subsystem (a class of its own). In future we
will do the same with othe sublayers of MAC like MLME, MCPS etc.

The drive behind this exercise is to make MAC and supporting layers
into an object oriented system.

Major bug fixes include:

- last join time inclusion in band parameters
- disabling rx2 window if we missed the slot already
- MLME uplink schdule hook
- nbRep according to spec
- maintaining datarate after successful joining
- suppressing MLME requests if MAC is in TX_DELAYED state
- Uplink dwell time verification

Some missing features are implemented. Details are as follows.

Support for LinkCheckRequet:

An application API is added, add_link_check_request() to delegate a
request for Link Check Request MAC command.

* Application provides a callback function that needs to be called on reception of
  link check response.

* Mac command is piggybacked with data frames.

This API makes the sticky MAC command stick with the application payloads until/unless
the application un-sticks the said mac command using remove_link_check_request() API.

Handling fPending bit:

If in the Downlink, we get the fPending bit set in fctrl octet,
we attempt to send an empty message back to Network Server to
open additional Receive windows. This operation is independent
of the application. An RX_DONE event is queued bedore generating
the said empty message. Specification does not mention what can be the
type of that empty message. We have decided it to be of CONFIRMED
type as it gives us an added benefit of retries if the corresponding
RX slots are missed.

Radio event callbacks as Mbed callbacks:

radio_events_t structure has been carrying C-style callbacks which was
inherited from the legacy code. These callbacks has now been changed to
Mbed Callbacks that makes sure that we can be object oriented from now
on.
2018-02-11 00:31:47 +02:00
Kimmo Vaisanen 1eedadd52d Change region configuration help format
New mbed os configuration parser no longer seems to allow multiline help description.
2018-02-11 00:31:47 +02:00
Hasnain Virk 5e8d8e1c08 Bug fix in setting data rate
Setting up user defined data rate was found broken maybe because of
some rebase issue. Code has been setting always the default data rate
and ignoring used defined values.
2018-02-09 11:00:56 -06:00
Hasnain Virk f7c0ce6221 Making static objects SingletonPtr
We had a lot of static objects which would get constructed and hence
pull in some of the LoRaWAN code into the builds for other technologies.
Such objects have been now lazily initialized using utility class
SingletonPtr.
2018-02-09 11:00:56 -06:00
Kimmo Vaisanen 7872b6a29c Use EventQueue for elapsed time
Current implementation uses high resolution timers to calculate elapsed time.
This prevents for example deep sleep completely and causes unnecessary timer
events.

This commit changes implamentation to use EventQueue::tick() to get elapsed time.
2018-02-09 11:00:56 -06:00
Kimmo Vaisanen b0889f7d21 Move all compliance test code inside compilation flag
All compliance test related codes are now inside LORAWAN_COMPLIANCE_TEST
build flag. This will reduce memory usage in when compliance test codes
are not needed.
2018-02-09 11:00:56 -06:00
Hasnain Virk 97f1680586 [IOTCELL-270] Detaching TxNextPacketTimer
TxNextPacketTimer callback was being used for testing only (compliance testing to be precise).
Now there are independent methods and direct calls to automatic timers for the
compliance testing so there is no particular need for this timer anymore.
2018-02-09 11:00:56 -06:00
Hasnain Virk 05e2d29238 Reworking callback API
Application should be able to add some optional callbacks if it needs to.
Ofcourse there is a penalty of 8-12 bytes per callback, but there can be
certain needs of the application that needs to be met for example setting
up a link check request etc.

We have introduced a structure that contains callbacks for the application use.

 - 'events' callback is mandatory, user must assign it. Because this callback brings
   state changes for the application. We cannot segregate this into individual handlers
   because of RAM penalty.
- Other calbacks (none of them are implemented yet are optional).

Example of using the API is provided with doxygen
2018-02-09 11:00:56 -06:00
Hasnain Virk e60227cf4d Receive API typo fix
Receive API should return the length of data written to the user buffer
as the Posix APIs suggest rather than sending the pending length of data
back.
That has actually been a typo mistake which actually wnt in even with doicumentation :)
2018-02-09 11:00:56 -06:00
Hasnain Virk 6281073d8b [IOTCELL-279] Using Application provided EventQueue
The EventQueue thread in LoRaMac.cpp is disbanded and the LoRaWAN
protocol is redesigned to store a pointer for an application
provided EventQueue. It means that now the stack runs in the
same thread as application. Application provided EventQueue is used
to defer ISRs from radio driver and timer callbacks as well as the
application events are queued to the same event loop.
2018-02-09 11:00:56 -06:00
Hasnain Virk 29353a8380 Adding license text and BSD-Clause 3 2018-02-09 11:00:56 -06:00
Hasnain Virk f33ef6528b Adding LoRaWANInterface - implementing, LoRaWANBase
This class is the doorway for the user application into the
Mbed-OS implementation of LoRaWAN protocol. It implements LoRaWANBase
and hence would work with any stack implementation underneath, ensuring
seemless portability for applications.

It takes a pre-constructed object of LoRaRadio and delegates it in the
downward direction. Before calling connect() user must call initialize() function
in order to initialize stack and mac layers.

connect() APIs can be used to either provide relevent keys and connection method at
runtime or compile time (using Mbed config system).

enable_adaptive_datarate() and disable_adaptive_datarate() are used to turn on/off
automatic rate control. Otherwisem set_datarate() could be used to set a particular
data rate on the current channel.

set_confirmed_msg_retries() is valid only for CONFIRMED messages. It means that the stack will
retry for a given number of times before timing out.

set_channel_plan() and get_channel_plan() are used to set or get a particular channel plan.
These APIs are particularly useful in case of ABP (activation by personalization). Because
in case of OTAA(over the air activation), by default the stack takes in a CF List (carrier frequency list)
sent by the base station in conjunction with Network server. This list overwrites all user configured
channels or channel plan. set_channel_plan() can be used to set a single channel as well by setting the
parameter for number of channels to 1.

remove_channel_plan() or remove_channel() are used to remove a currently active channel plan or a specific
channel.

send() and receive() APIs follow posix design except the socket descriptor is replaced with port number here.

lora_event_callback() API is used to set a callback function from the application side which is used by the stack
to inform user of particular events like CONNECTED, DISCONNECTED, CRYPTO_FAILURE, TX_TIMEOUT etc.
2018-02-09 11:00:56 -06:00
Hasnain Virk 2f860d2be5 Adding LoRaWANStack class to control MAC and PHY
LoRaWANStack class is our controller layer on top of our
current MAC and PHY layer. It provides services to an implementation
of LoRaWANBase class.

It is a singleton class owing to the fact that the mac layer underneath
is not a class object. Instead, it uses the MAC via setting mib, mlme, mcps
requests and getting responses back from the mac layer using confirmations and
indications.

In essense this class is a special handle for
mac layer underneath which is predominantly reference design based.
In future we may refactor the LoRaMac.cpp code to make it object oriented
and cleaner.

At one end, it binds the application selected radio driver with the PHY layer
and at the other end it provides services to upper layers handling the mac via
well defined APIs.

For proper selection of a PHY layer, user must use Mbed config system.
For this purpose an mbed_lib.json is provided which can be overriden by the
user defined mbed_app.json. By default the EU868 band is selected as a PHY layer.
User must set relevant keys for the selected connection mechanism.
2018-02-09 11:00:56 -06:00
Hasnain Virk 5734b57c0a Adding MAC layer for LoRaWAN implementation
The actual mac algorithms are being used as it is in the reference
implementation.

We introduce an internal class that starts a thread and constructs an event queue
to handle deffered calls from interrupt context for RTOS. The code base is
compatible with Mbed-OS 2 as well.

GetPhyEventHandlers() API provides mac callback funtions for PHY layer,
which are in turn delegated to radio driver from the PHY layer.

LoRaMacInitialization() is augmented with LoRaPHY parameter which let's
the MAC layer know which particular PHY layer is in use.

LoRaMacSetTxTimer() and LoRaMacStopTxTimer() are used when duty cycle is
off for testing purpose or to support custom application timers.

If the duty cycle is off, mac and phy layer work togather to figure
out the next possible transmission time.

LoRaMacCrypto APIs are provided which provide seemless integration of
mbedTLS into mac layer for cryptography. User application is supposed to
provide proper mbedTLS configuration file.

All other APIs are retained as it is.
2018-02-09 11:00:56 -06:00
Hasnain Virk c861c321be Adding PHY layer for LoRaWAN
LoRaPHY is the abstract class for the LoRa PHY layer which governs
the LoRaRadio and provides some common functionality to all regional
implementations.
We support 10 regions and every region comes loaded with default parameters.
These parameters can be changed by the Mac layer or explicitely by the stack
controller layer using APIs provided. This layer in essence detaches Mac completely
from PHY and provides more modular approach to the entire system.
Apart from class structure, the internal functionality is directly deduced from
semtech reference implementation that's why most of the internal data structures are
used on 'as is' basis.
In addition to that, the PHY layer provides APIs to control the LoRaRadio layer, i.e.,
the lora radio driver, ensuring that the radio is accessed from a single entry point.
A seperate data structure file is added which is common to PHY layers only.
2018-02-09 11:00:56 -06:00
Hasnain Virk c9804bd167 Adding base class for LoRaWAN interfaces
All network interfaces for LoRaWAN protocol must implement this
class. In order to be compatible with Mbed-OS applications, any
implementation of this class must use the data structures and
Mbed-OS timers provided.

lorawan_data_structures may look repetitive but this is essential
as we have a plan to use a reference implementation for LoRaWAN mac
layer from Semtech. Some of the data structures provide seemless
transition from semtech implementation (as MAC layer) to the Mbed-OS
control layers above.

features/lorawan/lorastack is the placeholder for future items like mac and
phy layers. system/ will contain all the common bits.
2018-02-09 11:00:56 -06:00
Hasnain Virk 69664c5394 Adding base class for all LoRa radio drivers
All Mbed-OS drivers for LoRa radio devices must implement
this pure virtual class in order to be compliant with Mbed-OS
applications.

This class comes loaded with all necessary data structures.
The implementations of this class can come out of tree.
2018-02-09 11:00:56 -06:00
Vincent Coubard 2e64b710a1 Ble: fix size function in advertising_data_t and address_t. 2018-02-09 16:43:29 +00:00
Paul Szczepanek 379c86dd66
Merge pull request #11 from pan-/palsm-orig
Cordio update
2018-02-09 16:40:16 +00:00
paul-szczepanek-arm e91ab466ea doxygen added 2018-02-09 16:39:01 +00:00
paul-szczepanek-arm 18062fc9de GAP integration for connection and disconnection events 2018-02-09 16:35:16 +00:00
paul-szczepanek-arm e7cf1529ec remobed todo, will be handled by db 2018-02-09 14:21:24 +00:00
paul-szczepanek-arm e0c308f8f2 fix buffer not being moved in random number generation 2018-02-09 13:59:03 +00:00