|
| | P3Controller (NetProc.Tools.ILogger logger, bool fakePROC) |
| | Initializes a new instance of the Multimorphic.P3.P3Controller class.
|
|
void | SetDefaultSimSwitchStates (Dictionary< string, bool > defaultSwitchStates) |
| override bool | LoadConfig (string PathToFile) |
| | Create a new machine configuration representation in memory from a file on disk.
|
| override bool | LoadConfigs (List< string > FilePaths) |
|
bool | LoadP3ConfigPlusConfigs (List< string > FilePaths) |
| override void | Reset () |
| | Reset the machine controller.
Re-add wallScoopMode and playfield modes.
|
|
void | Init () |
| override void | end_run_loop () |
| | Set the exit condition for the run loop causing P3Controller to terminate.
|
| override void | enable_flippers (bool enable) |
| | Enable flippers with default pulse lengths.
|
| override void | enable_flippers (bool enable, int pulse_width) |
| | Enable flippers with the specified pulse length.
|
| override void | enable_bumpers (bool enabled) |
| | Enable bumpers (all items in the PRBumpers section of the machine config file)
|
|
void | ClearGrid () |
| | Force clear of balltracking grid lines.
|
|
P3HardwareInfo | GetP3HardwareInfo () |
|
void | initMachineController (NetProc.MachineType machineType, NetProc.Tools.ILogger logger, bool Simulated) |
| void | parseSwitchConfig (MachineConfiguration config) |
| | Parse only the switch config. Use this if switch states can affect what configuration should be loaded later.
|
| void | parseConfig (MachineConfiguration config) |
| | Parse full config (including switches)
|
| void | parseConfig (MachineConfiguration config, bool parseSwitches) |
| | Either parse the full config including Switches or everything except switches Don't include switches if they were already configured.
|
|
void | ParseEverythingExceptSwitches (MachineConfiguration config) |
|
void | ConfigureSwitches (List< SwitchConfigFileEntry > switchConfigEntries, List< BurstSwitchConfigFileEntry > burstSwitchConfigEntries) |
|
void | ConfigureCoils (List< CoilConfigFileEntry > coilConfigEntries) |
|
void | ConfigureLEDs (List< LEDConfigFileEntry > ledConfigEntries) |
|
void | ConfigureLEDStrings (List< LEDStringConfigFileEntry > ledStringConfigEntries) |
|
void | ConfigureServos (List< ServoConfigFileEntry > servoConfigEntries) |
|
void | ConfigureSteppers (List< StepperConfigFileEntry > stepperConfigEntries) |
|
void | ConfigureBallPaths (List< BallPathDefinition > ballPathConfigEntries) |
|
void | ConfigureLamps (List< LampConfigFileEntry > lampConfigEntries) |
|
void | ConfigureGI (List< GIConfigFileEntry > giConfigEntries) |
|
void | link_flipper_switch (string switch_name, string[] linked_coils) |
|
virtual void | process_accelerometer_event (NetProc.Event evt) |
|
void | update_lamps () |
|
virtual void | burst_event (NetProc.Event evt) |
| virtual Event[] | get_events () |
| | Retrieve all events from the PROC interface board.
|
|
void | tick_virtual_drivers () |
| | Propagate Tick events to all lamps and coils.
|
|
virtual void | tick () |
|
virtual void | dmd_event () |
| | Called by the MachineController when a DMD event has been received.
|
| void | run_loop () |
| | Main run loop of the program. Performs the following logic until the loop ends:
|
|
void | process_events (Event[] events) |
|
void | AddUserSwitchEvent (string swName, EventType evtType, UInt32 time) |
|
void | AddUserSwitchEvent (Event evt) |
|
void | SetSwitchState (string swName, bool swActive) |
|
void | AddMode (Mode mode) |
|
void | RemoveMode (Mode mode) |
|
bool | IsModeInQueue (Mode mode) |
|
void | RecordSwitchesStart (string fileName) |
|
void | RecordSwitchesStop () |
|
bool | IsRecordingSwitches () |
|
void | PlaybackSwitchesStart (string filename, float playbackRate) |
|
void | PlaybackSwitchesStart (string filename) |
|
List< Driver > | GetCoilsWithTag (string tag) |
|
List< Driver > | GetCoilsWithoutTag (string tag) |
|
List< LED > | GetLEDsWithTag (string tag) |
|
List< LED > | GetLEDsWithoutTag (string tag) |
|
List< Switch > | GetSwitchesWithTag (string tag) |
|
List< Switch > | GetSwitchesWithoutTag (string tag) |
|
List< FlipperEntry > | GetFlippers () |
|
List< BumperEntry > | GetBumpers () |
|
void | LogModeClass (string modeClass, bool debug) |
|
|
NetProc.MachineType | _machineType |
| | Machine type used to configure the proc device.
|
|
ProcController | _proc |
| | The _proc controller which manages that hardware interface.
|
|
ModeQueue | _modes |
| | TODO: Implement mode queue logic.
|
|
AttrCollection< ushort, string, Driver > | _coils |
| | TODO: implement coil driver object list.
|
|
AttrCollection< ushort, string, Driver > | _lamps |
| | TODO: implement lamp driver object list.
|
|
AttrCollection< ushort, string, LED > | _leds |
| | TODO: implement LED driver object list.
|
|
AttrCollection< ushort, string, LED > | _specialLEDFeatures |
|
AttrCollection< ushort, string, Servo > | _servos |
|
AttrCollection< ushort, string, Stepper > | _steppers |
|
AttrCollection< ushort, string, BallPathDefinition > | _ballPaths |
|
AttrCollection< ushort, string, Driver > | _gi |
| | List of GI drivers.
|
|
AttrCollection< ushort, string, Switch > | _switches |
| | TODO: implement switch object lists.
|
|
MachineConfiguration | _config |
| | The configuration object loaded by load_config() TODO: implement config handling.
|
|
double | _bootTime = 0 |
| | The date/time when the framework was started (machine powered up)
|
|
object | _machine_data |
| | Contains information specific to the particular location installation (high scores, audits, etc).
|
|
bool | _flippers_enabled = false |
| | Are the flippers and bumpers currently enabled?
|
|
bool | _done = false |
| | Run loop exit condition. This continues until true.
|
|
object | _user_event_lock_object = new object() |
| | Thread synchronization object for coils.
|
|
List< SafeCoilDrive > | _safe_coil_drive_queue = new List<SafeCoilDrive>() |
| | List of coils to drive that is manipulated from outside/UI threads TODO: This is set to be removed in favor of the UI process communication model.
|
|
List< LEDConfigFileEntry > | _named_serial_LEDs = new List<LEDConfigFileEntry>() |
| | Create a list to hold LED configs that map to subsets of serial Strings. For instance, there might be a serial string with serial leds 0-31. Each LED would get mapped to an individual LED. The named_serial_LEDs would be to create a name for a subset of those, such as a building window that might use serial leds 5-11, or some such. The named serial LEDs shouldn't result in new LEDs being added.
|
|
StreamWriter | switchRecordFile |
|
StreamReader | switchPlaybackFile |
|
bool | switchRecordingActive = false |
|
bool | playbackEventsActive = false |
|
float | playbackEventsRate = 1f |
|
Dictionary< double, Event > | playbackEvents |
|
List< double > | playbackTimestamps |
|
|
bool | simulated [get] |
|
LampController | LampController [get, set] |
|
MachineConfiguration | Config [get] |
| | Current machine configuration representation.
|
|
NetProc.ProcController | PROC [get] |
| | PROC device driver wrapper.
|
|
AttrCollection< ushort, string, Driver > | Coils [get, set] |
| | All coils/solenoids.
|
|
AttrCollection< ushort, string, LED > | LEDs [get, set] |
|
AttrCollection< ushort, string, LED > | SpecialLEDFeatures [get, set] |
|
AttrCollection< ushort, string, Servo > | Servos [get, set] |
|
AttrCollection< ushort, string, Stepper > | Steppers [get, set] |
|
AttrCollection< ushort, string, BallPathDefinition > | BallPaths [get, set] |
|
AttrCollection< ushort, string, Driver > | Lamps [get, set] |
| | All lamps.
|
|
AttrCollection< ushort, string, Driver > | GI [get, set] |
| | All GI drivers.
|
|
AttrCollection< ushort, string, Switch > | Switches [get, set] |
| | All switches and optos.
|
Subclass of NetProcMachine's MachineController, enhanced with P3-related functionality.