Commit Graph

87 Commits

Author SHA1 Message Date
Jonathan Hui aaaae937d3 [style] prefer OT_UNUSED_VARIABLE (#3696) 2019-03-19 21:17:33 -07:00
rongli 328239878d [data-poll-manager] check user-specified poll period (#3401) 2018-12-27 22:35:57 -08:00
Jiacheng Guo 52c06c6858 [build] option to disable executable build (#3391) 2018-12-24 15:10:30 -08:00
Jonathan Hui cebfdbbeb3 [examples] change sInstance to instance (#3229) 2018-10-29 19:51:56 -07:00
Jonathan Hui 5a489836cd [naming] rename FFD to FTD (#3102) 2018-09-27 09:33:03 -07:00
Yakun Xu ed794337e7 [posix] enhance reset implementation to support code coverage (#3071) 2018-09-14 10:59:07 -10:00
Jonathan Hui a638442df8 [configure] separate example apps and ftd/mtd/radio in build config (#3010) 2018-09-05 00:35:52 -07:00
Shu Chen 2d0baf8fc5 [ncp] remove diags module from radio only ncp (#3002)
The diags module runs on host side, radio only ncp will only act as
transceiver and support platform specific diags features.
2018-08-29 09:57:46 -07:00
Jonathan Hui 9d585edc46 [types] move types into specific headers (#2946) 2018-08-08 11:19:41 -07:00
Jonathan Hui f0bb0982ee [examples] change example platform namespacing (#2927) 2018-08-03 14:13:47 -05:00
Abtin Keshavarzian 420813e03d [ncp] adding new log output through NCP spinel property (#2722)
This commit adds a new log output model for NCP to use a newly added
spinel stream log property. `OPENTHREAD_CONFIG_LOG_OUTPUT_NCP_SPINEL`
can be used to be select the new log output model.

This commit defines a new spinel property `SPINEL_PROP_STREAM_LOG`
which provides streaming of formatted log string from NCP along with
an optional metadata structure. OpenThread log level and log region
are included as part of the metadata.

This commit also updates the `toranj` configuration header file to
use the new log output model.
2018-05-23 00:43:09 -07:00
Yakun Xu 96ed7ccd24 [ncp] add radio only mode NCP app (#2085) 2018-04-16 09:28:00 -07:00
Robert Quattlebaum ccb354fb31 [examples] Introducing pseudo resets (#2621)
Pseudo resets allow for `otPlatReset()` to reset the OpenThread state
without resetting the chip. This is important if the SoC is presenting
itself as a USB device.

The build option `OPENTHREAD_PLATFORM_USE_PSEUDO_RESET` can be used to
force this feature to be enabled or disabled by setting it to `1` or
`0` accordingly. Otherwise it will be set to a platform-specified
default value.
2018-03-15 20:53:49 +00:00
Jonathan Hui 69d98d4a53 [code-style] apply clang-format 2018-02-09 21:43:42 +00:00
Jonathan Hui 4453ef5276 [examples] move platform.h into examples (#2541)
The existing platform.h is really a part of the examples and not a part of
OpenThread core.  This commit moves the platform.h out of the public API
and into the examples directory.
2018-02-07 16:55:09 +00:00
Krzysztof Bogucki 6284d5cad6 [ncp] Transforming spinel frames between AP and NCP (#2402)
* [ncp] Transforming spinel frames between AP and NCP

NCP Spinel Transformer allows to transform spinel frames sent between
Application Processor (AP) and Network Co-Processor (NCP).

Spinel frames can be transformed by using transformer library
(or libraries) implementing spinel_transformer.hpp. Libraries
can be specified using option --with-ncp-spinel-transformer-libs.
Addidionaly, transformer's outbound buffer can be changed if needed,
using option --with-ncp-spinel-transformer-outbound-buffer-size.
2018-01-18 19:21:20 +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
Martin Turon 8bd588301e [build] simplfy platform-specific Makefile configuration (#2111)
Make libtool more tolerant of library link order and cyclical dependencies.
2017-11-28 16:45:46 +00:00
Oleksandr Grytsov f0d3512317 [platforms] add support for Microchip SAMR21 (#2297)
* Add support for Microchip SAMR21

Signed-off-by: Oleksandr Grytsov <al1img@gmail.com>
2017-11-09 12:25:32 -08: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
JakubBrachTieto 831fd9b173 [da15000] misc improvements for Dialog platform (#2216)
* New Platform Startup
        * Flash memory handling improved
        * Ramdom generator improved
        * Faster platform reboot
        * UART based on interrupts intruduced
        * ARM core and linker related files moved to "third_party" folder
        * Radio Sleep Fixed
        * TLS config fixed
        * Software FIFO for UART added
2017-09-25 23:10:05 -07:00
JakubBrachTieto 0a82741e86 [commissioning] changing CPU clock for commissioning process (#2041) 2017-09-01 21:24:36 -07:00
DuaneEllis-TI e937542990 [debug] add debug uart (#2082) 2017-08-24 10:28:01 -07:00
Seth Rickard 6a1851106a [platform] support for Texas Instruments cc2652 (#2011)
* Add support for cc2652

Updated CC26XXware to latest release.
Moved CC26XXware to match the SimpleLink cc26x2 SDK directory structure.
Added CC2652 Platform support
2017-07-25 10:04:42 -07:00
Jonathan Hui 028368e4ee [build] create separate linker map files for each application binary (#1992)
Previously, a global 'map.map' filename was used.  However, when
building FTD and MTD versions of a given application, the 'map.map'
files would overwrite each other.  This commit gives different filenames
to each .map file for a given binary.
2017-07-14 12:00:32 -07:00
erja-gp 3078359e38 [platforms] new platform Qorvo GP712. (#1942) 2017-07-11 09:10:00 -07:00
Xiao Ma ee84e1f83c [EFR32] Upgrade to RAIL Lib 1.6.0. (#1946) 2017-07-05 09:42:20 -07:00
Abtin Keshavarzian bbab3074ed [instance] single OpenThread instance optimizations (#1926)
This commit new configuration option `enable-multiple-instances` and
its corresponding option `OPENTHREAD_ENABLE_MULTIPLE_INSTANCES`. When
enabled OpenThread supports handling of multiple instances. By default
this is disabled.

This commit also adds two optimizations for single instance case to
simplify the code and also help reduce memory/RAM usage:

(1) OpenThread objects/classes typically keep a reference to a higher
level object (e.g., many classes keep track of owning `ThreadNetif`)
to be able to access other objects/methods within OpenThread class
hierarchy. In single instance mode, the reference member variables are
removed and instead global functions are used to access the singleton
objects from one class to the other. To implement this, a group of
`<Object>Locator` classes are defined (e.g., `ThreadNetifLocator`,
etc.) which are then used as base class of other OpenThread classes.

(2) OpenThread objects which provide a callback/handler (e.g.,
`Timer`, `Tasklet`, etc.) have `void *mContext` member variable which
is used to keep track of the owner of the object. In single instance
mode the `mConext` member variables are removed since the owner is
expected to be a singleton and can be uniquely determined from the
callback function.

To implement this, two changes are made: First the handler methods are
modified to provide a reference to the object (e.g., `Timer` handler
will provide a `Timer &aTimer` as a parameter of its handler
callback). Second, a new base class `Context` is introduced which
hides the implementation providing an arbitrary context information. A
new static method `GetOwner(aContext)` is added to classes which own a
callback providing objects. This method help convert a `Context` to
the reference of the owner class object.
2017-06-30 11:48:26 -07:00
Mike 8dc31d6e27 Enable defines (#1877)
* Add dhcp6 client define, and update openthred-config include scheme

* #1663 - update include to use quotes instead of angle brackets

* #1663 - update file to use underscore instead of dash

* #1663 - remove extra space

* #1663 - update location of new header file and update files to point to it

* #1663 - update location of new header file and update files to point to it

* #1663 update makefile.am to include new header

* update for make pretty changes

* more pretty fixes

* cleanup, and remove automatic mbedtls change

* remove debugging change

* #1663 - Remove extra space, and change include to use angle brackets instead of quotes.

* rename the enable defines file to openthred_config

* #1663 clean up for code review

* #1663 - clean up last nits

* #1663 - missed merge conflicts - file openthread-config.h -> openthread/openthread_config.h
2017-06-12 13:26:44 -07:00
Jonathan Hui 2304e4d5ac Clean up state changed names. (#1887) 2017-06-08 08:50:00 -07:00
Shu Chen 473b83b02f Add --enable-border-router configure option (#1834)
* Use `OPENTHREAD_ENABLE_BORDER_ROUTER` feature flag to wrap Border Router related features

* MTD devices could also act as a Border Router
2017-06-02 21:49:07 -07:00
Jonathan Hui 48b9299544 Clean up error names. (#1764) 2017-05-23 09:34:35 -07:00
Qiang Gu ac416b4fd4 Add support for ARC EMSK (#1549)
* Add embARC EMSK BSP in third_party folder.

* Add synopsys in Makefile.am for embARC BSP

* Add platform implementation on ARC EMSK

* Add EMSK in Makefile.am and Makefile-emsk

* Add EMSK support in apps

* Modify configure.ac to add ARC EMSK.
2017-05-22 09:09:18 -07:00
georgecpr 5da57a3a8b Add support for NXP KW41Z4 (#1774)
* NXP KW41Z4 OpenThread support
2017-05-19 12:44:59 -07:00
Jonathan Hui fbfd76a990 Apply #include code style. (#1723) 2017-05-05 11:28:29 -07:00
Jonathan Hui da7ba8ba19 Require Thread Master Key to be 16 bytes. (#1724)
- Update code to use `otMasterKey` type.
2017-05-05 09:21:43 -07:00
Abtin Keshavarzian 41b82d3a89 Fix typos in comments (#1688) 2017-05-01 14:46:30 -07:00
Shu Chen 90d62a4e22 Remove some Leader/Router related features from MTD build (#1680)
* Unify the location of "#if OPENTHREAD_FTD" which include/exclude the whole file

Also correct some comments in xxx_api.cpp

* Remove Address Resolver related features from MTD build

* Remove some Leader/Router related features from MTD build

* Remove Leader/Router related APIs from MTD build

* Remove Leader/Router related functions from MTD build
2017-04-30 20:46:22 -07:00
Jonathan Hui 1eabda6a08 Change top-level namespace from 'Thread' to 'ot'. (#1664) 2017-04-27 22:29:05 -07:00
Xiao Ma b83f644cb3 Add support for SiLabs EFR32. (#1592)
* Add support for SiLabs EFR32.
2017-04-24 10:48:18 -07:00
DuaneEllis-TI 358ca8ee77 Support #1619 - MTD vrs FTD builds, and Makefile.am If/Else/Endif issues (#1620)
* Convert FTD/MTD methods and remove if/else/endif from Makefiles
2017-04-20 20:55:40 -07:00
Robert Quattlebaum 812cc838eb build: Fixes for cross-compilation. (#1527)
This commit includes two changes:

*   Removes existing `AC_NO_EXECUTABLES` from `configure.ac`, since it
    is a hack only intended to be used by the GCC project.
*   Adds a new configure argument: `--enable-no-executables-hack`,
    which restores `AC_NO_EXECUTABLES` for broken build environemnts
    which require it.
*   Removes `--target` from example makefiles, since it is only
    appropriate when compiling compilers.

As a side effect of the second change, cross compiling with the
makefiles now no longer causes the `arm-none-eabi-` prefix to be
prepended to all built executables. This change updates all of the
documentation accordingly.
2017-03-29 13:22:07 -07:00
Nick Banks 303d0ba0ad Fix Warnings in Windows Build (#1518)
* Fix WinRT function overloading

* Default Spinel Struct parameter
2017-03-28 09:20:13 -07:00
jjlee9 36ff8022dc Win/app updates2 (#1473)
* add talk functionality to OpenThread.vcxproj

* update README.md

* fixed according to Section 4 of RFC 5952 (CR by aeliot)

* fix removing an empty context bug (can't remove twice)
2017-03-21 08:44:35 -07:00
Nick Banks 5db5caddc9 Update Windows App Images (#1489)
* Update Windows App Images

* Make Windows App Background color White
2017-03-20 17:11:04 -07:00
Nick Banks 1eb61a40f7 Fix Windows x86 Warnings (#1434) 2017-03-07 11:10:06 -08:00
Nick Banks 974421da98 Windows App Updates (#1431)
* 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.
2017-03-07 10:29:30 -08:00
Jonathan Hui a6dac9270c Diag API cleanup. 2017-03-02 10:24:55 -08:00
Jonathan Hui e919576978 Move include/platform to include/openthread/platform. 2017-03-02 10:24:55 -08:00
Jonathan Hui d0c687505b Move openthread.h to openthread/openthread.h. 2017-03-02 10:24:55 -08:00