dragonfly.implementations.rpi_gpio_provider module

Some template vars

Members: RPiGPIOProvider Functions: Classes:

Summary

class dragonfly.implementations.rpi_gpio_provider.RPiGPIOProvider(pinmap=10, **kwargs)

Bases: dragonfly.implementations.rpi_gpio_provider.RPiGPIOProvider

A Provider class intended for generic control of GPIO pins on Raspberry Pi. Custom configure methods provided for different applications intended for use as setup_calls.

This class is intended to be used with a set of GPIO-related Spime endpoints.

Keyword Arguments:
 
  • pinmap (int) – select GPIO.BOARD (10) or GPIO.BCM (11) mapping of pins
  • name (str) – unique identifier across all dripline services (used to determine routing key)
  • calibration (str||dict) – string use to process raw get result (with .format(raw)) or a dict to use for the same purpose where raw must be a key
  • get_on_set (bool) – flag to toggle running ‘on_get’ after each ‘on_set’

pinmap (int): select GPIO.BOARD (10) or GPIO.BCM (11) mapping of pins

add_endpoint(endpoint)
cmd(target, method_name, value=[], payload={}, lockout_key=False, timeout=None, ignore_retcode=False)
configure_max31856(*args, **kwargs)
Configure max31856 with SPI pin assignments, defaults are:
cs = 8 do = 9 di = 10 clk = 11
configure_pins(*args, **kwargs)

Configure basic input/output GPIO pins.

configure_pud(*args, **kwargs)

Configure GPIO pins with PUD event

endpoint(endpoint)
endpoint_names
endpoints
get(target, timeout=None, ignore_retcode=False)
handle_request(channel, method, properties, request)
is_locked
list_endpoints()
lock(*args, **kwargs)
lockout_key
logging_status
on_cmd(*args, **kwargs)

WARNING! if you override this method, you must ensure you deal with lockout properly

on_config(attribute, value=None)

configure a property again

WARNING! if you override this method, you must ensure you deal with lockout properly

on_send(*commands)
on_set(*args, **kwargs)
ping(*args, **kwargs)

ignore all details and respond with an empty message

schedule_status
set(target, value, lockout_key=False, timeout=None, ignore_retcode=False)
set_condition(*args, **kwargs)

To actually do something inside a class, the set_condition should be implemented in the class itself.

unlock(*args, **kwargs)

End of modules condition

Data:

End of data condition