Commit Graph

99 Commits

Author SHA1 Message Date
Yakun Xu 617f8958dd [mesh-forwarder] verify data request is ack with fp=1 (#3785) 2019-04-30 18:37:48 -07:00
Jeff Bumgardner d912393c7f [docs] add STMicroelectronics to the list of supporters (#3627) 2019-02-25 16:01:54 -08:00
Jeff Bumgardner 3101ba7f0e [docs] Update README logo soup (#3528) 2019-01-29 08:54:50 -08:00
Yakun Xu e0c802569e [meshcop] correct UDP_PROXY in script and doc (#3420) 2018-12-29 12:45:41 -08:00
Abtin Keshavarzian 8e28b626a9 [spinel] add a section for MeshCop properties and update documentation (#2885)
This commit updates the documentation of spinel property sections
and also adds a new range 0x080 - 0x08F, 0x1800 - 0x18FF allocated
for MeshCop related properties.
2018-07-20 13:50:09 -05:00
Abtin Keshavarzian 758e647d91 [dataset] update dataset SendMgmtGet APIs and add support in spinel/NCP (#2866)
This commit updates the APIs `otDatasetSendMgmtActiveGet` and
`otDatasetSendMgmtPendingGet` to be similar to MgmtSet APIs and use an
`otOperationalDatasetComponents` as input to specify the Dataset
components to be requested. The implementation of APIs in
`DatasetManager` and their use in in CLI is also updated.

It also defines new spinel properties `MGMT_GET_ACTIVE_DATASET` and
`THREAD_MGMT_GET_PENDING_DATASET` (with their set handlers) to add
support for sending `MGMT_GET` meshcop command for Active/Pending
Operational Dataset. It also renames the existing properties used for
sending `MGMT_SET` (include `MGMT_SET` in the property name).

It also adds a new property to allow an optional destination IPv6
address to be specified (for sending `MGMT_GET` command) as part of
spinel dictionary representation of Dataset instance.
2018-07-19 16:33:49 -05:00
Abtin Keshavarzian f065438111 [ncp] add UDP_PROXY_STREAM to dispatcher list and update documents (#2879) 2018-07-11 20:16:56 -05:00
Abtin Keshavarzian 52354e73c7 [ncp] add new fields (age, rssi, etc) to PARENT spinel property (#2854)
This commit appends new fields to format of `PROP_THREAD_PARENT`
spinel property. The new fields provide age, avrerage RSSI and
last RSSI, etc. This commit also updates the spinel documentation.
2018-07-04 15:40:40 -05:00
Abtin Keshavarzian 13a40c8bcf [ncp] adding new spinel property to get EID address cache table (#2788)
This commit adds a new spinel property `THREAD_ADDRESS_CACHE_TABLE`
to get the Thread EID IPv6 Address cache table.
2018-06-15 10:25:36 -07:00
Jeff Bumgardner e4f5f240eb [docs] update OpenThread logos (#2699) 2018-05-07 20:47:19 -07:00
Abtin Keshavarzian df45240665 [channel-monitor] use "channel occupancy" instead of "quality"
This commit changes the API names (and spinel properties and
documentation) related to "channel monitor" feature to use "channel
occupancy" instead of the term "channel quality" to represent the
rate/percentage of RSSI samples which are higher than a threshold.
2018-04-16 14:07:19 -07:00
Abtin Keshavarzian ecd28458ec [ncp] add support for controlling power state of NCP MCU (#2635)
This commit adds a configuration option to enable NCP power state
control `OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL`.
When enabled, the platform is expected to provide two functions:
`otPlatSetMcuPowerState()` and `otPlatGetMcuPowerState()`. Host
can then control the power state using the newly added spinel
property `SPINEL_PROP_MCU_POWER_STATE`.
2018-04-05 10:20:47 -07:00
Jeff Bumgardner ef5d1afe2c [docs] add Project Zephyr logo to README (#2644) 2018-03-28 23:17:25 +01:00
Jonathan Hui f602dcd5e7 [icmp6] allow config of echo handling for unicast/multicast separately (#2609)
Previously, ICMPv6 Echo Request handling was either enabled or disabled.
This commit allows enabling/disabling the handler for ICMPv6 Echo Requests
sent to unicast and multicast destinations separately.

This commit also adds an associated spinel property and NCP implementation.
2018-03-13 18:10:28 +00:00
Abtin Keshavarzian 10f6c4f0cd [ncp] add support to get the frame/message error rate of neighbors (#2525)
This commit adds `SPINEL_PROP_THREAD_NEIGHBOR_TABLE_ERROR_RATES`
as a new spinel property to get the frame and message error rates
for all neighbors. This property requires the presence of a newly
added Spinel capability `CAP_ERROR_RATE_TRACKING` which indicates
if the error-tracking feature is enabled in OpenThread.
2018-02-02 18:29:52 +00:00
Abtin Keshavarzian 171c951eaf [ncp] add new spinel property SPINEL_PROP_MAC_CCA_FAILURE_RATE (#2500)
This commit adds new spinel property corresponding to the MAC CCA
failure rate, and its get handler in `NcpBase`.
2018-01-23 17:10:13 +00:00
Abtin Keshavarzian ba5317a957 [ncp] channel monitoring properties and public OT API (#2462)
This commits contains the following changes related to channel
monitoring feature:

- It adds OT public APIs for this feature.
- It defines new spinel properties (and their documentation).
- It implements `NcpBase` get handlers for the new properties.
2018-01-13 21:37:04 +00:00
Abtin Keshavarzian fb5faeb6f8 [ncp] adding CHILD_TABLE_ADDRESSES spinel property and its get handler (#2434)
This property provides the list of all addresses associated with
every child including any registered IPv6 addresses.
2017-12-21 18:31:29 +00:00
Jeff Bumgardner 6047a94dce [docs] add Android Things logo, remove old images (#2423) 2017-12-16 00:19:53 +00:00
Abtin Keshavarzian 07f4ae1ff3 [ncp] update JAM_DETECT_HISTORY_BITMAP to spinel uint64_t (#2404)
This commit changes the `JAM_DETECT_HISTORY_BITMAP` format to use
spinel primitive type of `uint64_t` instead of two `uint32_t`.
2017-12-07 18:22:24 +00:00
Abtin Keshavarzian ed2112a19a [ncp] new spinel property to trigger/test watchdog (#2374) 2017-11-29 20:57:58 +00:00
Jonathan Hui 741941e271 [radio] remove transmit power config from core (#2352)
Thread (and OpenThread) does not employ any form of transmit power control.
As a result, while OpenThread provides APIs to control transmit power, it
simply buffers and passes the transmit power value straight through to the
radio.

Currently, the transmit power APIs allow specifying an int8_t in units of
dBm.  This is overly constraining for platforms that have more advanced ways
of configuring the transmit power.

This commit removes the transmit power configuration from the core.  This
provides better flexibility in platform-specific ways to configure transmit
power.
2017-11-28 17:33:32 +00:00
Abtin Keshavarzian 134071d814 [spinel] update docs - property formats (#2349)
This commit updates the docs in spinel header file to provide
info about format (struct fields) of some properties.
2017-11-17 10:11:03 +00:00
Abtin Keshavarzian 4e060e4dd3 [ncp] add Thread Dataset related spinel properties and their get/set handlers in NCP (#2327)
This commit adds new spinel properties related to Thread Operational
Dataset and implements the corresponding get/set handlers for the
new properties in `NcpBase`.
2017-11-16 13:43:13 +00:00
Jonathan Hui 74b3160f9d [meshcop] use IEEE EUI-64 rather than Joiner ID on user input (#2311) 2017-11-07 09:41:46 -08:00
Abtin Keshavarzian 1e6658b3ad [spinel] add support for 64-bit long signed/unsigned integer (#2309)
This commit adds support for encoding/decoding `uint64_t`/`int64_t`
to spinel as primitive types. `X` and `x` are used as format ASCII
character associated with `uint64_t` and `int64_t` respectively.
This commit also updates the `SpinelEncoder` and `SpinelDecoder`
to add methods related to 64-bit long integer. The related unit test
are also updated.
2017-11-01 21:46:09 -07:00
Abtin Keshavarzian 07647ababc [ncp] add support for new Spinel property THREAD_ROUTER_TABLE (#2303)
This commit adds a new property `SPINEL_PROP_THREAD_ROUTER_TABLE` and
its corresponding get handler to `NcpBase`. The spinel documentation
is also updated. Some of the documentations for the related APIs are
also updated.
2017-10-31 10:57:23 -07:00
Jeff Bumgardner 79f8a5a82b [docs] updated ARM logo, added Thread Group attribution (#2186) 2017-09-12 18:59:18 -07:00
Jonathan Hui f1cd0ce491 [doxygen] add builddir to include path (#2098) 2017-08-14 08:37:34 -07:00
Abtin Keshavarzian 1e61811e70 [network-data] iterate over all external routes or on-mesh prefix entries (#2073)
The same external route or on-mesh prefix can be registered by
different devices with different flags (e.g., different preference
level). This info is stored in network data as part of the
BorderRouterEntry TLV. This commit changes the methods
`GetNextOnMeshPrefix()` and `GetNextExternalRoute()`  to ensure that
different entries corresponding to the same prefix are provided
separately when iterating over all entries (i.e., without giving
a specific RLOC16).

To implement this the `otNetworkDataIterator` is changed to track
both the index into the `mTlvs` buffer and the entry index.

This commit also appends an RLOC16 field to the struct packing
format of `SPINEL_PROP_THREAD_ON_MESH_NETS and `OFF_MESH_ROUTES`
spinel properties and updates the implementation and documentation
accordingly.
2017-08-09 21:48:57 -07:00
Abtin Keshavarzian 5ba896266c [ncp] Support for multicast address table (#2001)
This commit adds a new spinel property (along with its prop handlers)
`SPINEL_PROP_IPV6_MULTICAST_ADDRESS_TABLE` to provide the list of
multicast IPv6 addresses.

It also adds `OT_CHANGED_IP6_MULTICAST_SUBSRCRIBED` and
`OT_CHANGED_IP6_MULTICAST_UNSUBSRCRIBED` to flags used in
`NetifCallback` to indicate changes in multicast address list.
2017-07-17 20:58:56 -07:00
Jonathan Beri 3c66ad874e Add Qorvo logo (#1980) 2017-07-11 12:32:00 -07:00
Abtin Keshavarzian 10b72cfa5d [ncp] Add new spinel property MAC_DATA_POLL_PERIOD and its get/set handlers (#1952)
The spinel-protocol draft is also updated.
2017-07-05 14:53:14 -07:00
james woodyatt d05b8157cc [spinel] recognize previous change to specification provided by Yakun Xu (#1911)
* Recognize previous change to specification provided by Yakun Xu.

* Regenerate compiled html and txt files.
2017-06-23 05:55:28 -07:00
Abtin Keshavarzian 566930f7a8 NcpBase: Update getter for OFF_MESH_ROUTES to include NextHopIsThisDevcie field (#1886)
The spinel header file and spinel documentation are also updated
accordingly.
2017-06-09 11:01:38 -07:00
Buke Po 32eb42a157 rename border agent proxy to tmp proxy (#1883) 2017-06-07 08:55:36 -07:00
Abtin Keshavarzian 2debb19046 NcpBase: Add support for Blacklist (#1871)
This commit defines new spinel properties related to blacklist. It
also adds implementation of get/set/insert/remove handlers for the
new properties. The spinel draft documentation is also updated.
2017-06-05 12:32:27 -07:00
Jeff Bumgardner fa552d6b9a Adding Synopsys logo to Readme (#1833)
* Adding Synopsys logo

* Adding Synopsis logo to Readme

* Added Synopsys platform bullet point
2017-05-26 08:35:09 -07:00
Robert Quattlebaum c88707aca8 spinel: Add support for filtering unsolicited property updates. (#1805) 2017-05-26 08:34:32 -07:00
Abtin Keshavarzian 047b1980df Ncp: Update the get handler for list of off-mesh routes (from network data) (#1812)
This commit renames the spinel property `THREAD_LOCAL_ROUTES` to
`THREAD_OFF_MESH_ROUTES` and updates the get handler for this property
to include `isLocal` flag which specifies if the route is from local
network data or partition's network data (this change makes the
`OFF_MESH_ROUTES` behavior similar to property `ON_MESH_NETS`). The
spinel draft documentation is also updated.
2017-05-25 14:42:19 -07:00
Jeff Bumgardner 24abf91f85 Adding NXP logo to README (#1801)
* Added NXP contributor logo

* Added NXP logo to README
2017-05-22 13:21:37 -07:00
Robert Quattlebaum 64544d0cee Spinel Changes (#1777)
* spinel: Updates in preparation for IETF submission.

* spinel: Use revision number instead of hash

* spinel: James is the editor
2017-05-22 12:07:01 -07:00
Robert Quattlebaum 08e52e55a5 spinel: Introduce PROP_HOST_POWER_STATE (#1722)
Introduces a new core property (`PROP_HOST_POWER_STATE`) which is used
by the host to inform the NCP of the power state of the *host*.
The NCP can then use this state to determine which properties need
asynchronous updates. The states are defined in similar terms to
those used for the `PROP_POWER_STATE` property.
2017-05-12 10:02:53 -07:00
Abtin Keshavarzian c28e2ff070 Spinel: Define properties for discover scan operation (#1703)
This commit define new spinel properties related to Thread's
discover scan operation. It also updates the spinel draft
documentation.
2017-05-08 14:45:10 -07:00
Shu Chen 66f6e7088d Add otPlatRadioGetReceiveSensitivity() API (#1715)
* 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
2017-05-04 20:38:37 -07:00
james woodyatt c6e597556e [Spinel protocol spec] Update the Copyright Notice. (#1690)
* [Spinel protocol spec] Update the Copyright Notice.

To prepare for submission of draft-rquattle-spinel-unified to IETF as an Internet
Draft, the Status of This Memo and Copyright Notice sections are updated to be in
full conformance with BCP 78, BCP 79 and the IETF Trust's Legal Provisions.

* Update the doc/Makefile.am with new filenames.
2017-05-02 12:19:46 -07:00
Robert Quattlebaum 8bf14cfbbd Spinel: Thread Border Agent Support (#1545)
This commit updates the Spinel protocol to support a host-based
border-agent.
2017-04-27 19:52:04 -07:00
Buke Po 024c44de5c Add PSKc API (#1635)
* 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
2017-04-27 16:32:34 -07:00
Buke Po 7705bf4c22 Border agent proxy (#1590)
* initial commit for border agent proxy
2017-04-27 10:13:00 -07:00
james woodyatt 988648f3cb Initial preparation to post I-D.rquattle-spinel-unified to Internet D… (#1596)
* Initial preparation to post I-D.rquattle-spinel-unified to Internet Draft queue.

- Rename draft-spinel-protocol to draft-rquattle-spinel-unified.
- Starting point for I-D.rquattle-spinel-basis, i.e. the non-Thread basis of Spinel.
- Change IID to NLI (issue #1488)
- Move the glossary to {spinel-basis-glossary.md} so it can be included from both drafts.
- Correct a character encoding problem in {spinel-data-packing.md}.

* Add a comment to note the IPR category.
2017-04-26 15:21:10 -07:00