mbed-os/features
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
..
FEATURE_BLE BLE: Fix inclusion of BLE.h (case) 2018-01-17 11:31:50 +00:00
FEATURE_COMMON_PAL Update mbed-coap to version 4.2.0 2018-02-07 13:03:12 +02:00
FEATURE_LWIP/lwip-interface Add the function declarations of WEAK attribute to use LWIP on GR-LYCHEE 2018-01-11 18:11:37 +09:00
FEATURE_UVISOR Update uvisor-tests.txt to disable EFM32 in Jenkins 2018-02-06 18:41:19 +02:00
TESTS/filesystem Workaround for insufficient heap on IAR+MTB_xDOT_GT 2018-02-01 10:51:16 -06:00
filesystem Merge pull request #5925 from geky/bd-erase-value 2018-01-31 12:13:54 -06:00
frameworks Unity framework : add float support in error print 2017-11-23 15:22:58 +01:00
lorawan Architecture rework, bug fixing & missing features 2018-02-11 00:31:47 +02:00
mbedtls Merge pull request #6027 from ithinuel/fix-target-names-for-murata-abz-and-adv-wise-1510 2018-02-07 20:06:50 -06:00
nanostack Mesh-api setters for eui64 and pskd 2018-02-07 16:45:39 +02:00
netsocket Architecture rework, bug fixing & missing features 2018-02-11 00:31:47 +02:00
storage/FEATURE_STORAGE Update mbed OS to handle ARMC6 requirements 2017-09-11 13:20:32 -05:00
unsupported Merge pull request #5874 from c1728p9/usb_fixes_and_improvements 2018-01-26 10:37:13 -06:00