* Add support for the Host Power State feature.
* Fix compiler ewrrors.
* Fix compiler errors round 2.
* Add newlines to end of file.
* Address review comments.
* Arrange to send the power state response again if the first attempt fails.
* Fix compiler issue.
* Add otPlatRadioGetReceiveSensitivity() API
* Add a new otPlatRadioGetReceiveSensitivity() API to get sensitivity value;
* Use the receive sensitivity value as the noise floor for link metric computation;
* Remove some unused noise floor related functions.
* Add SPINEL_PROP_PHY_RX_SENSITIVITY Spinel/NCP property
Enable OPENTHREAD_CONFIG_ENABLE_STEERING_DATA_SET_OOB to be able to set
steering data out of band on FFDs.
On joining device, enable filtering MLE discovery responses based on Factory assigned EUI64.
* add pskc api
* add pskc cli
* add NCP api of PSKc
* apply PSKc from network
* implement PSKC api for windows
* add name for pskc property
* clear active and pending dataset when settings pskc
- Invalidate Active and Pending Datasets when configs are changed via APIs.
- Do not allow client to change network configurations while Thread is enabled.
* Fixes some Spinel usage in otLwf and some logging in the core library.
* Undo cc2538 config logging change
* Fix build error for nrf52840 with all logging enabled.
* Update minor version check based off feedback
* Fix otSendMacDataRequest API
* Add otSendMacDataRequest declaration to API headers
* Move otSendMacDataRequest from thread to link API
* Update otSendMacDataRequest to otLinkSendDataRequest
The data packing format that I designed for Spinel was a bit too
clever for its own good. While elegant from a certain perspective, the
behavior of the data blob (`D`), array (`A(...)`), and structure
(`T(...)`) types was way too confusing. I thought that I was (as the
guy who came up with it) immune from such confusion, but after taking
the time to go through all the code and address all of the mishaps in
the code it seems that the subtleties befuddled even its creator on a
time or two.
The specific issue that made me realize I needed to prioritize making
this fix was #1393.
As far as packing types go, this commit makes the following changes:
* **New type `DATATYPE_DATA_WLEN` (`d`)**: Just like `DATATYPE_DATA`
except that it ALWAYS prepends the length, irrespective of the
type's location in the type string. Think of WLEN as being "With
LENgth". Unless you are adding a property that has a type which is
just a single data blob, you should use this type instead of
`DATATYPE_DATA` (`D`). `DATATYPE_DATA` is still useful, so it will
be sticking around.
* **Changed type `DATATYPE_STRUCT` (was `T`, now `t`)**: The new
struct type, ALWAYS prepends the length of the contents of the
struct, just like `DATATYPE_DATA_WLEN`. The old `T` style struct
still works and behaves the same way, but its use is now
deprecated.
* **Changed type `DATATYPE_ARRAY` (`A`)**: This type has changed in
documentation only, as no one is currently using it in the way
that it was originally specified. The change is that this type
NEVER prepends the length of the entire array, and using it
alongside other types is now unspecified (it should only be used
alone).
I also added some convenient macros for building up datatype signature
strings that include structs.
One of the goals of these changes was to make this commit a change in
specification only, not to change what was currently on-the-wire.
However, after updating the spec and then going through and updating
all of the code to use the new nomenclature, I was horrified to find
that, due to the confusing nature of the previous datatype signature
string format, many properties that are arrays were not implemented
correctly --- making them impossible to update or add fields to
without breaking backward compatibility. To add insult to injury, some
of these instances were written by me!
This change updates all of the array properties to reflect how they
should have been implemented to begin with.
* Implement automatic Joiner removal feature.
* Save some RAM in JoinerRouter class.
* Specify timeout for each Joiner separately.
* Update Windows API files.
* Initial new API helpers
* Finish up API helper
* Update App to use new API helpers
* More cleanup and added support for preferred router ID
* Clean up state change handlers
* Add logging
* Some more clean up and redesign
* Added small readme for Windows App.