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
```
e5c7437 fixed a bug that was preventing multiple instances of tunslip6 from running. This same commit however broke tunslip6 on Mac OS, as documented in contiki-os/contiki#1560 as well as in contiki-ng/contiki-ng#466
Basically the commit in question merely removed some code. This commit puts that code back in, but makes it conditional for Mac OS.
Fixes#466