![]() |
DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
|
The PacLed64 is a output controller with 64 outputs all supporting 256 pwm levels with a PWM frequency of 100khz. Since the outputs of the unit are constant current drivers providing 20ma each, leds can be connected directly to the outputs (no resistor needed), but booster circuits must be used to driver higher loads (e.g. Cree leds). Up to 4 PacLed64 controllers can be used with the DirectOutput framework. More...
Public Member Functions | |
override void | Update () |
Signals the workerthread that all pending updates for the PacLed64 should be sent to the PacLed64. More... | |
override void | Init (Cabinet Cabinet) |
Initializes the PacLed64 object. This method does also start the workerthread which does the actual update work when Update() is called. This method should only be called once. Subsequent calls have no effect. More... | |
override void | Finish () |
Finishes the PacLed64 object. Finish does also terminate the workerthread. More... | |
PacLed64 () | |
Initializes a new instance of the PacLed64 class. More... | |
PacLed64 (int Id) | |
Initializes a new instance of the PacLed64 class. More... | |
Protected Member Functions | |
override void | OnOutputValueChanged (IOutput Output) |
This method is called whenever the value of a output in the Outputs property changes its value. It updates the internal array holding the states of the PacLed64 outputs. More... | |
Properties | |
int | Id [get, set] |
Gets or sets the Id of the PacLed64. The Id of the PacLed64 must be unique and in the range of 1 to 4. Setting changes the Name property, if it is blank or if the Name coresponds to PacLed64 {Id}. More... | |
![]() | |
virtual OutputList | Outputs [get, set] |
Contains the OutputList object for the outputs of the output controller. More... | |
![]() | |
string | Name [get, set] |
Name of the named item. Triggers BeforeNameChange before a new Name is set. Triggers AfterNameChanged after a new name has been set. More... | |
![]() | |
string | Name [get, set] |
Gets or sets the name of the item. Must fire the BeforeNameChange and AfterNameChange events when the value of the property is changed. More... | |
![]() | |
new string | Name [get, set] |
Name of the IOutputController. This property is fully implemented in the abstract OutputControllerBase class. More... | |
OutputList | Outputs [get, set] |
OutputList containing the IOutput objects for a IOutputController. More... | |
Additional Inherited Members | |
![]() | |
EventHandler< NameChangeEventArgs > | AfterNameChanged |
Event is fired after the value of the property Name has changed. More... | |
EventHandler< NameChangeEventArgs > | BeforeNameChange |
Event is fired before the value of the property Name is changed. More... | |
![]() | |
EventHandler< NameChangeEventArgs > | BeforeNameChange |
Occurs before the name of the item changes. More... | |
EventHandler< NameChangeEventArgs > | AfterNameChanged |
Occurs when after the name of the item has changed. More... | |
The PacLed64 is a output controller with 64 outputs all supporting 256 pwm levels with a PWM frequency of 100khz. Since the outputs of the unit are constant current drivers providing 20ma each, leds can be connected directly to the outputs (no resistor needed), but booster circuits must be used to driver higher loads (e.g. Cree leds). Up to 4 PacLed64 controllers can be used with the DirectOutput framework.
The framework supports auto detection and configuration of these units. If auto config is used, two LedWizEquivalent toys are added for each connected PacLed64. The numbers of the LedWizEquivalents are based on the Id of the PacLed64. Id1=LedwizEquivalent 20+21, Id2=LedwizEquivalent 22+23, Id3=LedwizEquivalent 24+25, Id4=LedwizEquivalent 26+27. If the numbers of ini files used for the configuration match these numbers, they will be used to set up the effects for the table.
This unit is made and sold by Ultimarc.
The implemention of the PacLed64 driver uses a separate thread per connected unit to ensure max. performance.
DirectOutput.Cab.Out.Pac.PacLed64.PacLed64 | ( | ) |
Initializes a new instance of the PacLed64 class.
DirectOutput.Cab.Out.Pac.PacLed64.PacLed64 | ( | int | Id | ) |
override void DirectOutput.Cab.Out.Pac.PacLed64.Finish | ( | ) |
Finishes the PacLed64 object.
Finish does also terminate the workerthread.
Implements DirectOutput.Cab.Out.IOutputController.
override void DirectOutput.Cab.Out.Pac.PacLed64.Init | ( | Cabinet | Cabinet | ) |
Initializes the PacLed64 object.
This method does also start the workerthread which does the actual update work when Update() is called.
This method should only be called once. Subsequent calls have no effect.
Implements DirectOutput.Cab.Out.IOutputController.
|
protectedvirtual |
This method is called whenever the value of a output in the Outputs property changes its value.
It updates the internal array holding the states of the PacLed64 outputs.
Output | The output. |
System.Exception | The OutputValueChanged event handler for PacLed64 unit {0} (Id: {2:0}) has been called by a sender which is not a OutputNumbered. or PacLed64 output numbers must be in the range of 1-64. The supplied output number {0} is out of range. |
Reimplemented from DirectOutput.Cab.Out.OutputControllerBase.
override void DirectOutput.Cab.Out.Pac.PacLed64.Update | ( | ) |
Signals the workerthread that all pending updates for the PacLed64 should be sent to the PacLed64.
Implements DirectOutput.Cab.Out.IOutputController.
|
getset |
Gets or sets the Id of the PacLed64.
The Id of the PacLed64 must be unique and in the range of 1 to 4.
Setting changes the Name property, if it is blank or if the Name coresponds to PacLed64 {Id}.
The unique Id of the PacLed64 (Range 1-4).
System.Exception | PacLed64 Ids must be between 1-4. The supplied Id {0} is out of range. |