This commit adds contiki-ng/motelist as a submodule under tools/motelist.
The tool aims to automatically detect and output a list of sensor/IoT devices connected to a computer. It has been developed and tested in OSX and Ubuntu. There is currently no support for Cygwin, nor does the tool's author plan to provide such in the future :). The tool is expected to work with Python 2.7 and 3+. It has been tested and successfully detects CC26xx Launchpads and Zolertia RE-Mote and Firefly devices.
Motelist's ultimate goal is to replace vendor-specific motelist-foo tools under the respective tools/ subdirectories, with a single tool that can detect as many devices as possible and that provides its output in a homogenous and script-friendly format. This pull does not remove anything until the new motelist has been tested and found useful.
Unless stated otherwise within individual files, motelist sources are distributed under the terms of the 3-clause BSD license.
Some parts of motelist.py (especially the Linux backend), are based on ideas and original work done by Janis Judvaitis and Atis Elsts.
## Usage
```bash
$ python motelist.py -h
usage: motelist.py [-c] [-o] [-b] [-h] [-v]
Automatically detect and print out a list of motes connected to this computer
optional arguments:
-c, --csv Print list in CSV format
-o, --omit-header Omit header row
-b, --brief Only print serial port paths
-h, --help Show this message and exit
-v, --version Prints software version
```
Standard output:
```bash
$ python motelist.py
Port Serial VID PID Product Vendor
------------ ------------------ ------ ------ ----------------------------------- -----------------
/dev/ttyACM0 L200015Z 0x0451 0xBEF3 XDS110 (02.02.05.01) with CMSIS-DAP Texas Instruments
/dev/ttyACM1 L200015Z 0x0451 0xBEF3 XDS110 (02.02.05.01) with CMSIS-DAP Texas Instruments
/dev/ttyUSB0 ZOL-B001-A20000777 0x10C4 0xEA60 Zolertia Firefly platform Silicon Labs
```
You can get the output in CSV format:
```bash
$ python motelist.py -c
Port;Serial;VID;PID;Product;Vendor
/dev/ttyUSB0;ZOL-B001-A20000777;0x10C4;0xEA60;Zolertia Firefly platform;Silicon Labs
/dev/ttyACM0;L200015Z;0x0451;0xBEF3;XDS110 (02.02.05.01) with CMSIS-DAP;Texas Instruments
/dev/ttyACM1;L200015Z;0x0451;0xBEF3;XDS110 (02.02.05.01) with CMSIS-DAP;Texas Instruments
```
You can ommit the header row with `-o`. You can also ommit all columns
except the first one with `-b`. You can also combine the `-cob` options:
```bash
$ python motelist.py -ob
/dev/ttyUSB0
/dev/ttyACM0
/dev/ttyACM1
```
This commit:
* Moves all cpu files from cpu/cc26xx to cpu/cc26xx-cc13xx
* Bumps the CC26xxware submodule to the latest TI release
* Adds CC13xxware as a submodule
* Adds support for sub-ghz mode / IEEE 802.15.4g
* Splits the driver into multiple files for clarity. We now have the following structure:
* A common module that handles access to the RF core, interrupts etc
* A module that takes care of BLE functionality
* A netstack radio driver for IEEE mode (2.4GHz)
* A netstack radio driver for PROP mode (sub-ghz - multiple bands)
This commit also adds tick suppression functionality, applicable to all chips of the CC26xx and CC13xx families. Instead waking up on every clock tick simply to increment our software counter, we now only wake up just in time to service the next scheduled etimer. ContikiMAC-triggered wakeups are unaffected.
Laslty, this commit also applies a number of minor changes:
* Addition of missing includes
* Removal of stub functions
* Removal of a woraround for a CC26xxware bug that has now been fixed