pyFirmata¶
- class pyfirmata.pyfirmata.Board(port, layout=None, baudrate=57600, name=None, timeout=None)¶
The Base class for any board.
- add_cmd_handler(cmd, func)¶
Adds a command handler for a command.
- auto_setup()¶
Automatic setup based on Firmata’s “Capability Query”
- exit()¶
Call this to exit cleanly.
- get_firmata_version()¶
Returns a version tuple (major, minor) 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 aPinAlreadyTakenError
.- Parameters
pin_def – Pin definition as described below, but without the arduino name. So for example
a:1:i
.
‘a’ analog pin Pin number ‘i’ for input ‘d’ digital pin Pin number ‘o’ for output
‘p’ for pwm (Pulse-width modulation)
All seperated by
:
.
- 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
: arg data: a bytearray of 7-bit bytes of arbitrary data
- 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
andmax_pulse
default to the arduino defaults.
- setup_layout(board_layout)¶
Setup the Pin instances based on the given board layout.
- exception pyfirmata.pyfirmata.InvalidPinDefError¶
- exception pyfirmata.pyfirmata.NoInputWarning¶
- 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.
- property mode¶
Mode of operation for the pin. Can be one of the pin modes: INPUT, OUTPUT, ANALOG, PWM. or SERVO (or UNAVAILABLE).
- ping(trigger_mode=1, trigger_duration=10, echo_timeout=65000)¶
Trigger the pin and wait for a pulseIn echo.
Used with HC-SR04 ultrasonic ranging sensors (see http://www.micropik.com/PDF/HCSR04.pdf).
- Note: Requires pulseIn compatible Firmata in the arduino board
- Parameters
trigger_mode – Uses value as a boolean, 0 to trigger LOW, 1 to trigger HIGH (default, for HC-SR04 modules).
trigger_duration – Duration (us) for the trigger signal.
echo_timeout – Time (us) to wait for the echo (pulseIn timeout).
- read()¶
Returns the output value of the pin. This value is updated by the boards
Board.iterate()
method. Value is always in the range from 0.0 to 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.
- exception pyfirmata.pyfirmata.PinAlreadyTakenError¶