Commit Graph

80 Commits

Author SHA1 Message Date
Nick Banks ffbe65c6dd otInstance Declarations (#473)
* Add otInstance type declaration and update ot APIs to take it as input.
2016-09-12 14:29:43 -07:00
Robert Quattlebaum 9b1de7bbb2 posix/uart: Fixes for failure to terminate (#568)
These changes address various issues found in the POSIX platform UART
driver which lead to the process not terminating properly when the
parent dies or closes `stdin`/`stdout`. Some of the errors could even
lead to unexpected program termination.

Among the various errors corrected are:

*   Using `assert()` to terminate under normal operating conditions.
*   `posixUartProcess()` only checked `s_in_fd` for readability and
    did not check `s_out_fd` for writability. It also caused data
    corruption if `write()` ever returned less than all of the bytes
    sent.
*   `ISIG` was being set on the termios flags. This can cause problems
    when the serial API is used for binary data (Like when used with
    the NCP app). (This requires the CLI be explicitly able to be able
    to handle CTRL-C when built for POSIX)
*   Socket errors weren't being tracked on `select()`.
*   The platform main loop would (possibly) terminate if `select()`
    failed with `EINTR`, which makes it difficult to attach to the
    process with a debugger.
2016-09-12 13:47:18 -07:00
Lu Wang 25755849d0 Fix networkname TLV and mesh local prefix TLV (#563) 2016-09-12 08:52:52 -07:00
Lu Wang 7a807e99fa Add support for PSKc TLV and Security Policy TLV (#558)
* Add support for PSKc TLV and Security Policy TLV
2016-09-12 08:42:29 -07:00
Jonathan Hui a78f91ebdf Configure PSKd as part of starting the commissioner/joiner role. (#547) 2016-09-08 20:33:26 -07:00
Jonathan Hui 563685e187 travis: enable code coverage reporting. (#516) 2016-09-08 14:14:25 -07:00
Jonathan Hui 7c2b818d2e Thread Commissioning. (#399) 2016-09-08 10:23:11 -07:00
Marcin K Szczodrak f153da566a add Cli Console support (#532)
* add Cli Console support
2016-09-07 14:57:27 -07:00
Jonathan Hui e22c123904 Remove globals from message.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 32b6d343c4 Remove globals from timer.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 2029ef62eb Remove globals from icmp6.cpp. 2016-09-07 13:30:22 -07:00
Lu Wang 1e9d3c1dbf Keep input master key checking consistently (#501) 2016-09-05 20:21:05 -07:00
Nick Banks 511ade5293 otAddUnicastAddress Doesn't Hold onto External Pointers (#504)
* Modify ot*UnicastAddress functions to use internal memory instead of holding onto an external memory address.
2016-09-02 16:17:08 -07:00
Lu Wang f4ea00c5f3 Add CLI for sending MGMT_ACTIVE_GET/SET, MGMT_PENDING_GET/SET (Reopen #402) (#474)
* Add CLI for sending MGMT_ACTIVE_GET, MGMT_ACTIVE_SET, MGMT_PENDING_GET and MGMT_PENDING_SET
2016-08-30 10:48:52 -07:00
Jonathan Hui 027e009005 Simplify ICMPv6 Echo Request/Reply implementation. (#481)
- Only support a single ICMPv6 Echo Reply handler.
- Remove large static ICMPv6 Echo Request buffer.
2016-08-29 09:31:26 -07:00
Nick Banks 62f3188081 Dynamic Max Children (#462)
* Add support for dynamically adjusting the maximum number of allowed children.
* Update cli to support max number of children.
2016-08-26 08:42:06 -07:00
Lu Wang fcff3cb018 Add check for CLI argument number (#465)
* Add check for CLI argument number
2016-08-25 22:26:23 -07:00
Jonathan Hui 70bd6af3b8 Fix bugs in retrieving child/router info using an RLOC16. (#475) 2016-08-25 21:09:01 -07:00
Marcin K Szczodrak 20014c72bf add cli promiscuous (#445) 2016-08-22 14:08:45 -07:00
Jonathan Hui ff3aa0c0f7 Do not allow a device to become a leader when the router role is disabled. (#439) 2016-08-19 13:11:51 -07:00
Nick Banks 47dcec0bac Update all callbacks to support a client supplied context pointer. (#425)
* Update all callbacks to support a client supplied context pointer.
2016-08-19 11:38:11 -07:00
Jonathan Hui 139e85f781 Make client responsible for configuring IPv6 addresses. (#410)
* OpenThread no longer automatically configures IPv6 addresses based on network data.
* Added IPv6 address configuration to CLI to support certification tests.
* Added notification to indicate when the Thread Network Data is updated.
* Added otIp6PrefixMatch API to compute prefix match.
2016-08-17 16:11:46 -07:00
Marcin K Szczodrak a0c6f50051 Feature/ot plat rssi (#411)
* rename otPlatRadioGetNoiseFloor to otPlatRadioGetRssi

* update cli README with singleton command
2016-08-17 16:11:06 -07:00
rongli a4d3d801bf cli: route fix (#401) 2016-08-17 08:37:35 -07:00
Marcin K Szczodrak 8c48712617 add IsSingleton to OT's application API (#398) 2016-08-16 19:15:29 -07:00
Jonathan Hui 5755f99cae Provide an API to retrieve the list of on-mesh prefixes. (#392) 2016-08-16 19:10:41 -07:00
rongli 1144982a06 cli: pollperiod fix (#387) 2016-08-16 09:08:50 -07:00
Jonathan Hui 8252cd6277 Ensure that Network Name strings are NULL-termianted for client code. (#368)
* otGetNetworkName() no longer returns a pointer into a beacon message.
* Scan results no longer point into a beacon message.
2016-08-12 11:07:09 -07:00
Xiao Ma 8f3279e3e0 Feature/extra clis for thci support (#345)
Update feature extra clis for thci support.

* cli: add set/get PartitionId
* cli: add get information about thread device's parent.
* cli: add set/get the data poll period for sleepy end device.
* cli: add blacklist relative commands to support network topology defined in Harness test case.
* cli: add set/get assigned linkquality during parent selection of attaching.
* cli: add reset to trigger a platform reset.
* Add link-local 16 only for sleepy end device.
2016-08-12 08:58:55 -07:00
Shu Chen 7130798123 Add diagnostics module in OpenThread (#343)
* Add diagnostics module in OpenThread

  - provide the same diagnostics interface for both CLI and NCP usage
  - implement common diagnostics features based on existing platform interface defined in 'include/platform/'
  - other more platform specific diagnostics features will be processed under platform layer
  - update CLI interface to support diagnostics feature
  - update both Posix and CC2538 platform to support diagnostics feature

* Add diagnostics module unit test

   - move platform.h from "examples/platform" to "include/platform"
   - add test_diag.cpp to test diagnostics module

* Add a configuration option that would enable/disable diagnostics module

Add --enable-diag configuration option to enable/disable diagnostics module when building OpenThread.
2016-08-11 10:26:51 -07:00
Shu Chen cefea1a3c6 Include platform details in version information (#347)
- add --with-platform-info configuration option to specify platform information
- add otGetVersionString() interface to get OpenThread version
2016-08-10 20:02:29 -07:00
Jonathan Hui 4050c68577 Enable -Wconversion on clang and fix all warnings. (#358) 2016-08-10 11:52:22 -07:00
Jonathan Hui 90eac68ff5 Use placement-new to initialize static variables in CLI. (#341) 2016-08-05 11:56:01 -07:00
Jonathan Hui b665529dac Add OT APIs for manipulating the active and pending datasets. (#336) 2016-08-05 11:44:24 -07:00
Jonathan Hui 2a493e7ec0 Support meshcop datasets and propagation. (#330) 2016-08-04 09:46:48 -07:00
Jonathan Hui b326f01821 Implement MLE Discovery Request and Response. (#322) 2016-08-03 13:16:35 -07:00
rongli 2fe487f0e8 cli: fix wrong error info when display ifconfig status (#324) 2016-08-02 21:18:26 -07:00
Jonathan Hui 6879e829a7 Update Valid Prefix Set configuration and Border Router TLV. (#316) 2016-08-02 09:42:52 -07:00
Jonathan Hui 143ea37a0a Add API to set the IEEE 802.15.4 Extended Address. (#289) 2016-07-28 10:55:23 -07:00
Jonathan Hui 083b5f59de Change scanChannels to 32 bits. (#297) 2016-07-28 10:49:26 -07:00
Marcin K Szczodrak 318fe4b415 turn on warnings and errors (#280) 2016-07-25 21:19:07 -07:00
Jonathan Hui 8c39011d9c Separate out interface up/down from Thread start/stop. (#278)
* Redefine otEnable/otDisable to just initialize/uninitialize the OpenThread stack.
* Remove otInit API since it is replaced by otEnable.
* Add otInterfaceUp/otInterfaceDown APIs to bring up/down IPv6 interface.
* Add otThreadStart/otThreadStop APIs to start/stop Thread protocol operation.
* Updated NCP implementation to utilize new APIs.
2016-07-25 17:52:47 -07:00
Jonathan Hui 9baa18e6e6 Rename otPlatSerial* to otPlatUart*. (#253) 2016-07-07 12:18:58 -07:00
Jonathan Hui a7d69c1726 Add macros for the channel bit-vector used with otActiveScan. (#236) 2016-07-06 18:53:45 -07:00
Jonathan Hui 0abde2e2cc Add version command. (#237) 2016-07-04 10:12:25 -07:00
Jonathan Hui 8f8b332fd6 Add API to retrieve Leader Data information. (#231) 2016-07-04 10:11:47 -07:00
Jonathan Hui 6a815e147a Fix compiler warnings. (#234) 2016-07-01 17:52:27 -07:00
Jonathan Hui 4b487f1aa6 Add API to retrieve EID cache diag information. (#229) 2016-07-01 13:27:50 -07:00
Jonathan Hui 51e5609456 Add API to retrieve whitelist diag information. (#228) 2016-07-01 13:10:57 -07:00
Jonathan Hui 510f1d57f1 Add API to retrieve child diag information. (#226) 2016-07-01 12:10:52 -07:00