-
Notifications
You must be signed in to change notification settings - Fork 7
Home
The software for the CBLA Test Bed was written to enable both reliable local functions and complex inter-node functions. The main microcontroller used in the current version of the CBLA Test Bed is Teensy 3.1. All Teensy devices are connected to computer through USB connection. The computer is acting as a master node and the Teensy are acting as slave nodes. The main function of the computer is to enable complex behaviours that requires co-ordinations of multiple Teensy slave nodes.
There are mainly two types of software. The first type of software is the firmware. They are the software that get uploaded onto the Teensy. They are written in Arduino and C++ and compiled using the compiler bundled with the Teensyduino add-on. They perform low-level and local functions. These functions should continue to function even if the connection to the computer is severed. The firmware is mainly responsible for routines that require high update rates, such as controlling the timing pattern of the brightness of an LED. The second type of software is the Python script. They perform high-level functions such as coordinating all Teensy devices connected to the computer, controlling Teensy devices from the computer, and displaying sensor readings. To run those Python scripts, the software packages listed under System Requirements must be installed and set up appropriately.
- Python 3.3+
- PyUSB
- [libusb1.0] (http://www.libusb.org/) - for Unix systems
- libusb-win32 - for Windows systems
- [numpy] (http://www.scipy.org/scipylib/download.html)
- [matplotlib] (http://matplotlib.org/downloads.html) - for visualization purposes
- [scikit-learn] (http://scikit-learn.org/stable/install.html) - for running CBLA
- Arduino IDE - only for programming the Teensy's firmware
- Teensyduino add-on - only for programming the Teensy's firmware
Software Architecture
[PC-to-Teensy Communication Modules] (https://github.com/tuzzer/CBLA-Test-Bed/wiki/PC-to-Teensy-Communication-Modules)
Quality Assurance Tools
Manual Control Tools
Preset Behaviours
CBLA Behaviours
- Control Module
- Device Module
- Extension Board
- Illumination Module