Commit Graph

220 Commits

Author SHA1 Message Date
Abtin Keshavarzian d38a329eb9 New radio capability to indicate CSMA backoff support by radio layer (#1395)
- This commit adds a new radio capability `kRadioCapsCsmaBackOff` to
  indicate that the radio supports CSMA backoff logic for frame
  transmission (but no frame retry).

- The existing capability `kRadioCapsTransmitRetries` is not changed
  and still indicates that the radio supports transmission retry logic
  along with collision avoidance (CSMA).

- `Mac` implementation is updated accordingly.
2017-02-27 14:28:20 -08:00
Hubert Miś df3c775e17 Implementation of platform usec-alarm API to support correct delays in CSMA/CA. (#1379) 2017-02-27 10:29:23 -08:00
Nick Banks e39d96a797 Build otCli for Windows (#1239)
* Initial changes

* Clean up for CLI design on Windows

* Use smart pointer instead of otFreeMemory directly.
2017-02-27 09:28:43 -08:00
Giedrius b8ae672251 Implement more CoAP Options (#1362)
* Implement more CoAP Options

* Observe
* Max-Age
* Uri-Query
2017-02-27 09:08:50 -08:00
Łukasz Duda 4f35cdb854 [ICMPv6] Allow application to register ICMPv6 handler. (#1380) 2017-02-24 12:13:59 -08:00
Adam Eliot ab1bfa99fa Parent Info (#1370)
* Expanded otGetParentInfo to populate the entire aParentInfo structure

* Added otGetParentAverageRssi function

* Use GetRouterId from rloc function instead of doing it manualy, and corrected documentation
2017-02-23 11:23:27 -08:00
Giedrius 88ab0d51a5 Fix CoAP not handling certain types of ACKs (#1352)
* Fix CoAP not handling certain types of ACKs

ACK's with piggyback data and 2.00-2.03 response codes were ignored.
2017-02-22 05:42:00 -08:00
Nick Banks 64f5ab43fc Add Thread Auto Start Support (#1268)
* Add Thread Auto Start Support

* Add compile-time option

* Return error in Windows API
2017-02-20 17:29:20 -08:00
Abtin Keshavarzian 61c277ccac Change comments (fix typos) (#1343) 2017-02-19 23:33:13 -08:00
rongli fa04f1c4cb THCI: setMinDelayTimer() API (#1329) 2017-02-17 12:09:36 -08:00
Nick Banks 8ca35de7b8 Persist Settings in Regsitry on Windows (#1242)
* Implement OpenThread Setting Interface

* Update the otPlatSettingDelete comment to indicate it doesn't maintain order.
2017-02-16 13:52:44 -08:00
Jonathan Hui 87bbf4a83a Move PSKc generation functionality to Commissioner role. (#1327) 2017-02-15 23:10:44 -08:00
Shu Chen bf21420cd0 Add PSKc generation feature support (#1165)
* implement PBKDF2 using AES-CMAC-PRF-128

* generate PSKc using PBKDF2, AES-CMAC-PRF-128

* expand "dataset pskc" cli to input PSKc source (passphrase, network name, extended panid)
2017-02-15 19:57:33 -08:00
Abtin Keshavarzian d236546304 Add return error case NotFound to otGetChildInfo (#1321)
- The method `otGetChildInfoByIndex()` is changed to return thread
  error `NotFound` when there is no valid child with given index.
- Usage of this method is updated in `NcpBase` and `cli` to iterate
  over all children.
2017-02-15 13:07:11 -08:00
pvanhorn 177b572c87 move types to openthread-types.h (#1299) 2017-02-10 09:16:09 -08:00
Jonathan Hui efc4599d62 Have router make two separate attempts to reconnect to current partition. (#1276) 2017-02-09 11:05:35 -08:00
Kamil Sroka b293954a67 Add more flexibility to diagnostic module (#1238)
* Add more flexibility to diagnostic module

- Pass otInstance to otPlatDiagProcess
- Add handler for channel change in diag.c
- Add handler for tx power change in diag.c
- Add handler for frame received in diag.c
- Add handler for alarm fired in diag.c
- Add support for new diag.c handlers in diag_process.cpp

* Add custom diagnostic commands to nrf52840

* Minor fixes
2017-02-04 16:46:12 -08:00
Abtin Keshavarzian 93f29a5fea New ot API to set a message to use direct tx (#1245)
- New OpenThread API `otMessageSetDirectTransmission()` to force
  a message to forwarded using direct transmission even if the
  destination is a sleepy-node.

- The new API is used from `NcpBase` from set handler of insecure
  network stream spinel `STREAM_NET_INSECURE` property.
2017-02-02 13:51:54 -08:00
Abtin Keshavarzian 6558087d70 Add new mac counter mTxErrAbort to track number of tx abort failures. (#1241)
- Defines a new mac counter to track number of frame transmission
  failures due to abort error `kThreadError_Abort`.

- Adds a corresponding spinel property `CNTR_TX_ERR_ABORT` and its
  get handler.
2017-02-01 11:26:03 -08:00
Hubert Miś ded722ed7b Allow SED to reattach to it's parent if the link was lost before timeout. (#1234)
* Note in API description that SED poll period is separated from child timeout.

* Allow reattach of SED that detached from it's parent but did not timeout.
2017-01-31 09:33:02 -08:00
Adam Eliot 5ba516f960 Make mNumFreeBuffers unsigned (#1204)
* Make mNumFreeBuffers a uint rather then an int since the number of free buffers should never be negative.
2017-01-26 17:58:53 -08:00
Nick Banks 53bcbb9012 Add otLinkRaw* API (#1181) 2017-01-24 11:16:32 -08:00
pvanhorn 7c177492f3 Add config option and otPlat API to govern assert behavior. (#1193) 2017-01-23 17:19:48 -08:00
Vaas Krishnamurthy 5a6f10d1e7 Adding a helper function to determine if node is commissioned or not. (#1190) 2017-01-23 12:00:27 -08:00
pvanhorn a3e9e33678 Improve Platform MessagePool support. (#1171) 2017-01-19 16:04:08 -08:00
Abtin Keshavarzian ab13e718c6 Update the NCP code to use otMessage and otMessageQueue APIs (#1151)
This change updates the NCP related files to use `otMessage` and
`otMessageQueue` APIs to replace the direct calls into OpenThread
internal `Message` and `MessageQueue` classes.
2017-01-18 22:03:42 -08:00
Jonathan Hui ab866eed92 Add Network Key Sequence TLV to the Joiner Entrust message. (#1148) 2017-01-13 19:05:54 -08:00
Jonathan Hui c943da9b4b Add vendor information to JOIN_FIN.req message. (#1140) 2017-01-13 09:10:17 -08:00
Jonathan Hui 2bdea5fad1 Eliminate unncessary MLE Child Update Request transmissions. (#1141)
- Separate IPv6 RLOC changed event from IPv6 added/removed.
- Avoid unnecessary side effects when Mle::SetMeshLocalPrefix().
2017-01-12 20:14:45 -08:00
Abtin Keshavarzian 6db94b6c27 Change API name: otNetworkSettingErase -> otPersistentInfoErase (#1126) 2017-01-10 15:18:44 -08:00
Abtin Keshavarzian 8173b134ac Add OpenThread API to erase network settings (#1123)
This commit makes the following changes:

- It adds a new OpenThread API named `otNetworkSettingsErase()` to
  allow caller to erase all the settings stored on non-volatile
  memory.

- It exposes the same functionality through `SPINEL_CMD_NET_CLEAR`
  spinel command. It also makes `SPINEL_CMD_NET_CLEAR` implementation
  non-optional (not tied to `CAP_NET_SAVE` capability).
2017-01-10 10:05:26 -08:00
Abtin Keshavarzian 3fbba0eced Adding otMessageQueue OpenThread C APIs and their unit test (#1115) 2017-01-09 08:33:26 -08:00
Jonathan Hui d61b878d34 Remove Preferred and Valid Lifetimes from otNetifAddress. (#1110)
- Replace Preferred and Valid Lifetimes with a flag.
- Introduce new otDhcpAddress type for maintaining Preferred and Valid Lifetimes.
- Reduces RAM usage by 128 bytes.
2017-01-04 13:37:25 -08:00
Łukasz Duda 85ee5e6493 DIAG: Add support for DIAG_GET.qry message. (#1099) 2017-01-04 06:05:59 -08:00
Nick Banks 40df448702 Add Dhcp6 Client/Server Support to Windows Driver (#1084) 2017-01-03 18:29:05 -08:00
Abtin Keshavarzian 2bce9557e6 Fix typos (in comments) and alignments (#1105) 2017-01-03 13:04:48 -08:00
Jonathan Hui 64d49153bd Add callback to indicate when joiner operation completes. (#1094) 2016-12-27 08:06:18 -08:00
Marcin K Szczodrak 5dec993626 fix error logging; add otThreadErrorToString (#1085) 2016-12-16 12:56:20 -08:00
Jonathan Hui e3daefae05 Add API for sending an IEEE 802.15.4 MAC Data Request message. (#1069) 2016-12-13 22:01:42 -08:00
Łukasz Duda dbc1384db2 DIAG: Add CLI support for Diagnostic DIAG_GET.rsp message. (#1062)
* DIAG: Add CLI support for Diagnostic DIAG_GET.rsp message.
2016-12-13 10:22:57 -08:00
Nick Banks b38faa8fa0 Default Logging Support (#1054)
* Add support for NCP passing logs up in the SPINEL_PROP_STREAM_DEBUG command.
2016-12-12 09:18:04 -08:00
Robert Lubos d095cf884e Pass message info in CoAP response handler. (#1059) 2016-12-09 09:00:50 -08:00
Nick Banks 4ddb76d366 CC2538 Radio Logging (#1057)
* Add CC2538 Platform Logging

* Disable platform logs by default
2016-12-09 08:48:37 -08:00
Jonathan Hui cb44b1102f Explicitly specify the void type keyword for all void functions/methods. (#1042) 2016-12-05 21:38:31 -08:00
Nick Banks 55e17533b9 Fix otNetifAddress declaration to work between C & C++ (#1037)
* Fix otNetifAddress declaration to work between C & C++
2016-12-05 16:23:30 -08:00
rongli d2695ab5f4 fix diagnostic feature and code cleanup (#1030)
* fix diagnostic feature and code cleanup
2016-12-02 09:02:16 -08:00
Abtin Keshavarzian 78462001e1 Jam-detection: Add new debug property to get the history bitmap (#1033)
This commit adds support to get history-bitmap value from
jam-detection module. It also adds a corresponding spinel property
and a get handler for the new property in `NcpBase`.

The history bitmap provides information about current state of jamming
detection module for monitoring/debugging purpose. It returns a 64-bit
value where each bit corresponds to one second interval starting with
bit 0 for the most recent interval and bit 63 for the oldest intervals
(63 sec earlier). The bit is set to 1 if the jamming detection module
observed/detected high signal level during the corresponding one second
interval.
2016-12-01 21:27:34 -08:00
Nick Banks 24b98dbb85 Windows Cert Testing (#943)
* PR for cert test interface for Windows driver model.
2016-11-29 12:10:34 -08:00
Abtin Keshavarzian 4c0cc27754 Fix typos in comments (#1014) 2016-11-28 10:58:54 -08:00
Jonathan Hui b1c19ed091 Apply realm-local scope to mesh-local addresses for source address selection. (#1000) 2016-11-22 08:43:22 -08:00