Commit Graph

59 Commits

Author SHA1 Message Date
Jonathan Hui aaaae937d3 [style] prefer OT_UNUSED_VARIABLE (#3696) 2019-03-19 21:17:33 -07:00
Jonathan Hui cebfdbbeb3 [examples] change sInstance to instance (#3229) 2018-10-29 19:51:56 -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
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
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
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
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
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
Abtin Keshavarzian 41b82d3a89 Fix typos in comments (#1688) 2017-05-01 14:46:30 -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
Nick Banks 1eb61a40f7 Fix Windows x86 Warnings (#1434) 2017-03-07 11:10:06 -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
Jonathan Hui da35770140 CLI API cleanup. 2017-03-02 10:24:55 -08:00
Jonathan Hui 77bc491c56 Tasklet API cleanup. 2017-03-02 10:24:55 -08:00
Shu Chen fc45943f8c Add "--enable-ftd" build option (#1384)
* Add a new build target: ncp-mtd.

* Platform with "--enable-ftd" build option will build both MTD and FTD.

* Platform without "--enable-ftd" build option will only build MTD.
2017-02-24 10:10:53 -08:00
Jorge Vergara f3817e76cf Enable mbedTLS dynamic memory allocation in user mode on Windows (#1373)
* change user mode openthread to enable dynamic memory allocation in mbedtls

* complete merge by adding OPENTHREAD_MULTIPLE_INSTANCE to last file

* remove some extraneous changes that got pulled in accidentally

* fix spacing

* fix crash in existing tests due to this change

* fix x86 build
2017-02-23 22:01:59 -08:00
Seth Rickard 500dada64c Added configure option to limit builds to only mtd (#1340) 2017-02-20 09:56:38 -08:00
Abtin Keshavarzian d12401a649 Change the LDADD order in cli Makefile (#1342)
This commit changes the order of libs in the cli makefile to address
the issue with older gcc tool-chain.
2017-02-19 23:33:51 -08:00
Seth Rickard e8611291d6 Add Support for Texas Instruments CC2650 (#1319)
* initial commit of cc2650 example code

* fixed the build order of cc2650 files

The ccfg struct was not being placed at the end of flash, this caused
the devices to become locked when reset after being programmed or
flashed with FlashProgrammer 2.

* Texas Instruments is not a subsidairy of Qualcomm

* added build instructions for the cc2650 platform

* moved to using 'VerifyOrExit' in cc2650 platform layer to match the rest of the codebase

* fixed build error from using the VerifyOrExit macro

* Using prebuilt gcc lib

* Moved cc26xxware to `thrid_party`

* Using directory based includes

* fixed driverlib name extension error

* refactored cc2650 radio module to use interrupts

The use of volatile structs was being ignored by gcc's size optomization
flag.

Refactored the recieve, transmit, and setup functions to use the
LAST_COMMAND_DONE and LAST_FG_COMMAND_DONE interrupts

* updated function declarations to specify void parameters

* added doxygen comments to the platform layer cc2650

* fixed spelling issue

* Migrated mbedtls to use the hardware AES engine and ROM SHA code for the cc2650 platform

* Add Minimal Thread Device to build.

* Merge pull request #10 in TIOP/openthread from feature/TIOP-10-use-the-ack-reception-functionality to master

TIOP-10  | ack reception.

Squashed commit of the following:

commit 48e7c0f72089b5e670b25d70d3e86929ec5a9a26
Author: Seth Rickard <s-rickard@ti.com>
Date:   Wed Jan 4 14:41:57 2017 -0800

    Added RX ACK command

    Added the IEEE_RX_ACK command as the next operation after a transmit for
    the CC2650 platform. This allows the Radio Core to handle all ACK
    reception instead of the Main Core

* Merge pull request #11 in TIOP/openthread from bugfix/TIOP-16-jenkins-support-v1 to master

TIOP-16 | Jenkins Support

Squashed commit of the following:

commit acb2fa06aa4316adaf077c3bf9d2e260d74b0af4
Author: Duane Ellis <d-ellis@ti.com>
Date:   Wed Jan 4 15:54:28 2017 -0800

    TIOP-16 | fix tabs and sh-bang

commit 82679dc01414155058e9794a0c1b51139706e771
Author: Duane Ellis <d-ellis@ti.com>
Date:   Wed Jan 4 15:07:48 2017 -0800

    TIOP-16 | jenkins support

* Merge pull request #12 in TIOP/openthread from feature/TIOP-9-use-csma-ca-functionality-of-the-cm0 to master

TIOP-9 | using CSMA-CA radio instruction to implement optional radio layer functionality.

Squashed commit of the following:

commit 85d7dbd7eba90d198577aa86c220688f1075f02d
Author: Seth Rickard <s-rickard@ti.com>
Date:   Thu Jan 5 16:26:01 2017 -0800

    Added Retry mechanism

commit 425d8a0bbcaaa025b4ae40c7a5926ccf78e00f21
Merge: 276eec8 d318ac8
Author: Seth Rickard <s-rickard@ti.com>
Date:   Wed Jan 4 16:10:27 2017 -0800

    Merge changes from adding rx ack command for the cc2650

commit 276eec82a6cbcfdfc45cdd9bd30a7413137059be
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 3 15:54:44 2017 -0800

    added CM0 CSMA-CA functionality

* Merge pull request #13 in TIOP/openthread from feature/TIOP-17-astyle-code-style-update to master

Squashed commit of the following:

commit cbe96d89d3326395f086de2644ee86d8010d8bfb
Author: Seth Rickard <s-rickard@ti.com>
Date:   Mon Jan 9 15:55:36 2017 -0800

    ran astyle for cc2650 platform

    added logic to cli and ncp Makefile.am's to ignore configuration files
    in cc26xxware

* updated TI licenses

* Merge pull request #15 in TIOP/openthread from feature/TIOP-19-support-energy-detect-scans to master

TIOP-19 | support energy detect scans on cc2650

Squashed commit of the following:

commit dace7ec3d3214947af9363aaf348ab45da263d8e
Merge: a8f982b d5c4746
Author: Seth Rickard <s-rickard@ti.com>
Date:   Wed Jan 11 16:08:50 2017 -0800

    Merge changes from master

commit a8f982bbbe31a2fba1a514b29dde5947da75e19d
Author: Seth Rickard <s-rickard@ti.com>
Date:   Wed Jan 11 12:56:58 2017 -0800

    added ieee energy detect command

* Merge pull request #14 in TIOP/openthread from bugfix/TIOP-18-fix-source-matching-structure to master

TIOP-18 | Fixed issue with the cc2650 RX command's source match structure. This was used in the autopend functionality

Squashed commit of the following:

commit 081b1e37a7b2c0d64260aa904819a9a2b84b11d6
Merge: bea5ecd d5c4746
Author: Seth Rickard <s-rickard@ti.com>
Date:   Wed Jan 11 15:57:28 2017 -0800

    Merge updates from master

commit bea5ecd727a5c01fd5c735c37d92496d0e4e2454
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 10 18:03:11 2017 -0800

    structure cleanup and implementation of maxRssi

commit fadc29dd178d087fe0d567dcdd22a658d5f3b2a0
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 10 16:37:33 2017 -0800

    fixed structure definitions

* Merge pull request #16 in TIOP/openthread from feature/TIOP-21-match-function-and-variable-naming to master

TIOP-21 | match function and variable naming conventions of OpenThread

Squashed commit of the following:

commit 743206f20a63c225fee12d4d9493600d9c2d89ad
Author: Seth Rickard <s-rickard@ti.com>
Date:   Thu Jan 26 15:25:37 2017 -0800

    added static keyword to static vars

    fixed typo
    changed variables `interrupts_disabled` to `interruptsWereDisabled` to
    increase clarity

commit ff4562352f01a2f199351edb11ece713ba07df22
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 24 18:13:38 2017 -0800

    fixed interrupts_disable early return error

commit 96170fda2c8179425ed57d5135b8ce2ad78770d1
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 24 18:08:24 2017 -0800

    ran astyle

commit 48ee9923804a898a2a0847ee5504190a183ccb4e
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 24 17:57:36 2017 -0800

    removed enabling state

    refactored the functions to syncronously wait for the RAT Start and
    Radio Setup commands to return.

commit 8c709bd912c33cb20f0e8ebead37251c4cc542c8
Author: Seth Rickard <s-rickard@ti.com>
Date:   Tue Jan 24 17:20:02 2017 -0800

    rolled state global booleans into cc2650 state enum

commit 5332494a233eb518399df459791d184533664d3e
Author: Seth Rickard <s-rickard@ti.com>
Date:   Mon Jan 23 18:12:58 2017 -0800

    moved #define to enum

commit cc2dbf184a0df84b930ca2cfc3a771f5eab06eae
Author: Seth Rickard <s-rickard@ti.com>
Date:   Mon Jan 23 16:39:17 2017 -0800

    changed function names and static variables to Hungarian Notation

* Updated license information for cc2650

Chaned author of cc2650 platform adaptation layer to `The OpenThread
Authors`

Moved cc26xxware to ti third_party subfolder and added README.md for
cc26xxware

* Reverted the travis script changes

Removed support for jenkins running travis scripts

* updated licenses and build flow

* updated code style

* removed cc26xxware doccumentation

* added constant assignment structures for radio commands

changed #if styling to match ot conventions

* added cc2650 target in travis scripts

* disabled gcc4.9 build for cc2650

* updated readme to reflect recommended toolchain
2017-02-15 18:16:11 -08:00
Łukasz Duda d724b757cd Add support for Nordic Semiconductor's nRF52840 (#1188) 2017-01-23 23:28:52 -08:00
Jonathan Hui f2bfb7c8ec Minor cleanup of DA15000 build files. (#1111) 2017-01-05 17:08:48 -08:00
JakubBrachTieto 9c12733366 Added support for DA15000. (#919) 2017-01-04 20:48:42 -08:00
Jonathan Hui 64d49153bd Add callback to indicate when joiner operation completes. (#1094) 2016-12-27 08:06:18 -08:00
Jonathan Hui 257e418b21 Add Minimal Thread Device to build. (#973) 2016-11-17 01:02:40 +08:00
Nick Banks 74a95f042d Windows API DLL (#882)
* VS Solution files and minor fixes.

* Move Tasklet into platform include file

* Refactor data path APIs into openthread-ip6.h
2016-11-04 09:28:17 -07:00
Jonathan Hui 6d0cfceadb Remove Link Reject and link-local RLOC. (#913) 2016-11-02 21:16:26 -07:00
Fabrice Fontaine e3fe9885bf Add --enable-builtin-mbedtls flag (#900)
Currently mbedtls has been integrated into openthread. However, this
package could be already present in the system so add a flag to enable
or disable the builtin version of mbedtls. By default, the builtin
version is enabled to keep the current behaviour.

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
2016-10-28 15:06:02 -07:00
Jonathan Hui 7325d2edf4 Process all currently queued tasklets in one shot. (#735) 2016-09-30 15:21:03 -07:00
Hubert Miś aeba71b1a1 Pr/slaac utility (#698)
* Provide utility for IPv6 SLAAC (#651)

* Semantically Opaque Interface Identifier with IPv6 SLAAC (#651)
2016-09-29 08:37:10 -07:00
Jonathan Hui 44350178ad Change copyright to The OpenThread Authors. (#583)
- Add a top-level file named AUTHORS which identifies the copyright
holders of the project.
2016-09-13 15:57:11 -07:00
Nick Banks 6d2dfa5bb0 Support #define to overwrite what openthread-config file to use, since Windows does support autoconf. (#578) 2016-09-13 09:27:11 -07:00
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