class mpf.platforms.p3_roc.HardwarePlatform(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(config, callback)

Configure the accelerometer on the P3-ROC.


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 a GI driver on the P3-Roc.

GIs are coils in P3-Roc


Configure a matrix light in P3-Roc.


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 reference to the switch object that was just created. proc_num : Integer of the actual hardware switch number the P3-ROC
uses to refer to this switch. Typically your machine configuration files would specify a switch number like SD12 or 7/5. This proc_num is an int between 0 and 255.
Return type:switch

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)

i2c_read16(address, register)

Read an 16-bit value from the I2C bus of the P3-Roc.

i2c_read8(address, register)

Read an 8-bit value from the I2C bus of the P3-Roc.

i2c_write8(address, register, value)

Write an 8-bit value to the I2C bus of the P3-Roc.

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.