/pyioio

Python library to access the IOIO board

Primary LanguagePython

An IOIO python module

This is very very alpha.

Basic Usage
------

import ioio
i = ioio.open('/dev/ttyACM0')


Module layout:
------

    ioio.IOIO : main class
        Contains a board, interface, and protocol (see below)

    ioio.boards : IOIO boards
        Contains information about what a given board supports
        Stores information about board state

    ioio.interfaces : IOIO communication interfaces
        Different ways to communicate with an IOIO board
        Each must support:
            connect/disconnect
            read/write

    ioio.protocols : IOIO protocols
        Abstraction to (hopefully) support multiple IOIO protcol versions


TODO
------

IOIO Functions
- Digital I/O
    - Input
        - Change Notify : (test: digital_in.py)
        - Periodic Sampling : is this implemented in firmware?
    - Output (test: led.py)
- Analog Input (test: analog_in.py)
    - !! how do I store number of analog pins? for report_analog_in_status
- PWM Output (not working test: pwm.py) !! need to store state for this too
- Incap/Pulse Input (test: pulse_in.py)
- UART (test: uart.py)
- SPI
- TWI/I2C
- ICSP

Notes
------

Function uses: (all = config)
- digital out : write
- digital in : callback
- analog in : callback
- pwm output : write
- incap/pulse input : callback
- uart : write & callback
- spi : ...
- twi/i2c : ...
- icsp : ...