Welcome to pyFirmata’s documentation!¶

Contents:

pyFirmata¶

class pyfirmata.pyfirmata.Board(port, layout, baudrate=57600, name=None)¶

Base class for any board

add_cmd_handler(cmd, func)¶

Adds a command handler for a command.

exit()¶

Call this to exit cleanly.

get_firmata_version()¶

Returns a version tuple (major, mino) for the firmata firmware on the board.

get_pin(pin_def)¶

Returns the activated pin given by the pin definition. May raise an InvalidPinDefError or a PinAlreadyTakenError.

Parameters:pin_def – Pin definition as described in TODO, but without the arduino name. So for example a:1:i.
iterate()¶

Reads and handles data from the microcontroller over the serial port. This method should be called in a main loop, or in an Iterator instance to keep this boards pin values up to date

pass_time(t)¶

Non-blocking time-out for t seconds.

send_sysex(sysex_cmd, data=[])¶

Sends a SysEx msg.

Parameters:
  • sysex_cmd – A sysex command byte
  • data – A list of 7-bit bytes of arbitrary data (bytes may be already converted to chr’s)
servo_config(pin, min_pulse=544, max_pulse=2400, angle=0)¶

Configure a pin as servo with min_pulse, max_pulse and first angle. min_pulse and max_pulse default to the arduino defaults.

setup_layout(board_layout)¶

Setup the Pin instances based on the given board-layout. Maybe it will be possible to do this automatically in the future, by polling the board for its type.

class pyfirmata.pyfirmata.Pin(board, pin_number, type=2, port=None)¶

A Pin representation

disable_reporting()¶

Disable the reporting of an input pin

enable_reporting()¶

Set an input pin to report values

mode¶

Mode of operation for the pin. Can be one of the pin modes: INPUT, OUTPUT, ANALOG, PWM or SERVO (or UNAVAILABLE)

read()¶

Returns the output value of the pin. This value is updated by the boards Board.iterate() method. Value is alway in the range 0.0 - 1.0

write(value)¶

Output a voltage from the pin

Parameters:value – Uses value as a boolean if the pin is in output mode, or expects a float from 0 to 1 if the pin is in PWM mode. If the pin is in SERVO the value should be in degrees.
class pyfirmata.pyfirmata.Port(board, port_number, num_pins=8)¶

An 8-bit port on the board

disable_reporting()¶

Disable the reporting of the port

enable_reporting()¶

Enable reporting of values for the whole port

write()¶

Set the output pins of the port to the correct state

Indices and tables¶