This documentation is for an unreleased version of MPF!

This is the developer documentation for MPF 0.51, which is the “dev” (next) release of MPF that is a work-in-progress. Use the “Read the Docs” link in the lower left corner to view the developer docs for the version of MPF you’re using.


class mpf.platforms.p3_roc.P3RocHardwarePlatform(machine)

Bases: mpf.platforms.p_roc_common.PROCBasePlatform, mpf.core.platform.I2cPlatform, mpf.core.platform.AccelerometerPlatform

Platform class for the P3-ROC hardware controller.

Parameters:machine – The MachineController instance.

The MachineController instance.

Accessing the p3_roc platform via code

Hardware platforms are stored in the self.machine.hardware_platforms dictionary, so the p3_roc platform is available via self.machine.hardware_platforms['p3_roc'].

Methods & Attributes

The p3_roc platform has the following methods & attributes available. Note that methods & attributes inherited from base classes are not included here.

configure_accelerometer(number, config, callback)

Configure the accelerometer on the P3-ROC.

configure_driver(config: mpf.core.platform.DriverConfig, number: str, platform_settings: dict)

Create a P3-ROC driver.

Typically drivers are coils or flashers, but for the P3-ROC this is also used for matrix-based lights.

Parameters:config – Dictionary of settings for the driver.
Returns:A reference to the PROCDriver object which is the actual object you can use to pulse(), patter(), enable(), etc.
configure_i2c(number: str)

Configure I2C device on P3-Roc.

configure_switch(number: str, config: mpf.core.platform.SwitchConfig, platform_config: dict)

Configure a P3-ROC switch.

Parameters:config – Dictionary of settings for the switch. In the case of the P3-ROC, it uses the following:

Returns: A configured switch object.


Connect to the P3-Roc.


Read in and set the initial switch state.

The P-ROC uses the following values for hw switch states: 1 - closed (debounced) 2 - open (debounced) 3 - closed (not debounced) 4 - open (not debounced)


Dump infos about boards.

classmethod scale_accelerometer_to_g(raw_value)

Convert internal representation to g.


Check the P3-ROC for any events (switch state changes).

Also tickles the watchdog and flushes any queued commands to the P3-ROC.