DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
DirectOutput.Cab.Toys.Hardware.GearMotor Class Reference

GearMotor toy supporting max. and min. power, max. runtime and kickstart settings.
The settings of this toy allow for a detailed definition of the behaviour of the connected motor. More...

Inheritance diagram for DirectOutput.Cab.Toys.Hardware.GearMotor:
Collaboration diagram for DirectOutput.Cab.Toys.Hardware.GearMotor:

Additional Inherited Members

- Public Member Functions inherited from DirectOutput.Cab.Toys.Hardware.Motor
override void UpdateOutputs ()
 Updates the output of the toy. More...
 
override void Init (Cabinet Cabinet)
 Initalizes the Motor toy. More...
 
override void Finish ()
 Finishes the Motor toy and releases used references. More...
 
- Protected Member Functions inherited from DirectOutput.Cab.Toys.Layer.AnalogAlphaToy
int GetResultingValue ()
 Gets the analog value which results from the analog values and alpha values in the dirctionary. More...
 
- Protected Attributes inherited from DirectOutput.Cab.Toys.Layer.AnalogAlphaToy
IOutput Output
 
Curve FadingCurve = null
 
Cabinet Cabinet
 
- Properties inherited from DirectOutput.Cab.Toys.Hardware.Motor
int MaxRunTimeMs [get, set]
 Gets or sets the max run time for the toy in milliseconds.
Default value of this property is 30000 (5 minutes).
Set value to 0 for infinite runtime. More...
 
int KickstartPower [get, set]
 Gets or sets the kickstart power for the motor.
If motor are run with low power they might not start to rotate without some initial kickstart. KickstartPower will only be applied if the motor is started with a power setting below the defined KickstartPower.
Default value of this setting is 255.
Set value to 0 to skip kickstart. More...
 
int KickstartDurationMs [get, set]
 Gets or sets the kickstart duration (time during which the KickstartPower is applied) in milliseconds.
Property defaults to 100 milliseconds.
Set value to 0 to skip kickstart. More...
 
int MinPower [get, set]
 Gets or sets the minimal power for the toy when it is active. More...
 
int MaxPower [get, set]
 Gets or sets the max power for the toy. More...
 
- Events inherited from DirectOutput.General.Generic.NamedItemBase
EventHandler< NameChangeEventArgsAfterNameChanged
 Event is fired after the value of the property Name has changed. More...
 
EventHandler< NameChangeEventArgsBeforeNameChange
 Event is fired before the value of the property Name is changed. More...
 
- Events inherited from DirectOutput.General.Generic.INamedItem
EventHandler< NameChangeEventArgsBeforeNameChange
 Occurs before the name of the item changes. More...
 
EventHandler< NameChangeEventArgsAfterNameChanged
 Occurs when after the name of the item has changed. More...
 

Detailed Description

GearMotor toy supporting max. and min. power, max. runtime and kickstart settings.
The settings of this toy allow for a detailed definition of the behaviour of the connected motor.

  • The KickstartPower and the KickstartDurationMs property allow you to define a initial stronger impulse for the start of the motor. Some hardware, e.g. like the Wolfsoft shaker in my cab, do not start to rotate when they are started with low power, giving them a initial pulse and the reducing to the lower power on the other hand is no problem. These properties allow you to define this behaviour.
  • The MinPower and MaxPower properties allow you to define the range of values which are allowed for the motor power. As a example, the shaker in my cab doesn't rotate with powers lower than 50 and starts to rattle and shake my cab appart with powers above 100. The normal value range for motor powers (0-255) is scaled to the range defined by the MinPower and MaxPower properties, so a value of 1 will result the shaker to operate on MinPower and 255 will result in MaxPower.
  • The FadingCurveName property can be used to specify the name of a predefined or user defined fading curve. This allows for even better fine tuning of the shaker power for different input values. It is recommended to use either the fading curve Linear (default) and the MinPower/MaxPower settings or to use a fading curve and keep the MinPower/MaxPower settings on their defaults. If MinPower/MaxPower and a Fading Curve are combined, the power value for the motor will first be adjusted by the fading curve and the be scaled into the range of the MinPower/MaxPower settings.
  • MaxRunTimeMs allows you to define a maximum runtime for the motor before it is automatically turned off. To get reactivated after a runtime timeout the motor toy must first receive a power off (value=0), before it is reactivated.

The documentation for this class was generated from the following file: