* Added platform/toolchain.h toolchain abstraction layer via macros:
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_END
OT_TOOL_DEPRECATED(symbol)
* Make pretty. Rekick travis-ci.
* Added doxygen. Resolved review comments.
* Fixed doxygen sample for OT_TOOL_PACKED to include type name.
* Renamed OT_TOOL_PACKED_FIELD to simplify code searches for usage. Fixed all nested instances to use new naming.
* Fixed OT_TOOL_PACKED_FIELD renaming in doxygen.
* Make pretty.
* Documentation clarifications.
* Moved example into overview section.
* Fixed sdcc comment.
* Revised sdcc comment.
* Fix code style in toolchain packed doxygen example.
* Fixed example. Moved toolchain test to better match code style.
* Added test for OT_TOOL_PACKED_FIELD.
* Added support for clang. Just routes to gcc __attributes__. Verified by running unit test through clang on macos.
Some radio chips have memory-mapped regions for transmit and receive buffers.
This change allows the radio driver to pass those buffers, when available,
directly to upper layers and avoid unnecessary copies.
* Add an LQI field to the radio packet structure.
* Add an LQI field to the ThreadMessageInfo.
* Add an LQI field to the scan result.
* Print LQI value in CLI scan result.
In addition to the "SoC/CLI" implementation that is already included,
OpenThread needs a Network Control Processor (NCP) implementation to
facilitate applications where the Host Controller is logically
separate from the controller that implements the Thread stack (Which
is the NCP). This task also necessitates the definition of the
protocol that the Host Controller and the NCP use to communicate with
each other.
This commit represents a functional starting point for both of these.
The initial name of the line protocol is "Spinel" (Named after the
[gemstone][1]). The long-term goal is to standardize the Spinel
protocol to be the official line protocol for host-to-NCP comunication
for Thread.
A [draft of the Spinel protocol document][2] is included in this
commit. At this point everything is subject to change, but as-is the
protocol has been demonstrated to work fairly well.
The NCP implementation in the has been tested and is working well
enough for basic connectivity, but it is far from complete. A Host
implementation is not yet provided in the tree, but will eventually be
included. A separate host implementation for Linux has been written
and is anticipated to be released as a separate project over the next
few weeks.
[1]: https://en.wikipedia.org/wiki/Spinel
[2]: https://github.com/openthread/openthread/blob/feature/ncp-spinel/src/ncp/PROTOCOL.md#spinel-host-controller-interface
* Add 'pretty' target to reformat sources to be compliant with code style.
* Add 'pretty-check' target to check if sources are compliant with code style.
* Update travis-ci script to use 'pretty-check' and enforce code style.
* The 'pretty' and 'pretty-check' targets rely on the 'astyle' tool.
* travis: Do a `make distcheck` instead of just `make check`
Doing a `make distcheck` instead of just a `make check` ensures that
the build system is sane and that the results from `make dist` have
everything needed.
* build-system: Fixes for `make distcheck`
This commit fixes the `distcheck` target by addressing the following
issues:
* Repaired ability to perform builds when the build directory is not
the source directory.
* Addressed an issue with the tarball name that occurs the very
first time `make` is run.
* posix: logging: Use `stderr` instead of `stdout` for debug logging.
* posix: serial: Restore socket `termios` settings for `stdin` and `stdout` at exit.