class mpf.platforms.p_roc.HardwarePlatform(machine)

Bases: mpf.platforms.p_roc_common.PROCBasePlatform, mpf.core.platform.DmdPlatform

Platform class for the P-ROC hardware controller.

Parameters:machine -- The MachineController instance.

The MachineController instance.

Accessing the p_roc platform via code

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

Methods & Attributes

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


Configure a hardware DMD connected to a classic P-ROC.


Create a P-ROC driver.

Typically drivers are coils or flashers, but for the P-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.


Configure a matrix light.


Configure a P-ROC switch.

Parameters:config -- Dictionary of settings for the switch. In the case of the P-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 P-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)


Check the P-ROC for any events (switch state changes or notification that a DMD frame was updated).

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