Difference between revisions of "Component: Switch base (Inputs)"
(XML import of components for release) |
(XML import of component help) |
||
Line 7: | Line 7: | ||
|- | |- | ||
| width="20%" style="color: gray;" | Version | | width="20%" style="color: gray;" | Version | ||
− | | 1. | + | | 1.1 |
|- | |- | ||
| width="20%" style="color: gray;" | Category | | width="20%" style="color: gray;" | Category | ||
Line 16: | Line 16: | ||
==[[File:Component Icon 953a042a_b2aa_4f2e_94e2_ee2979cfc92e.png|Image]] Switch base component== | ==[[File:Component Icon 953a042a_b2aa_4f2e_94e2_ee2979cfc92e.png|Image]] Switch base component== | ||
− | + | Base single pin switch with no graphical interface | |
+ | Suitable for building your own switches with custom graphics. If the parent component has | ||
+ | properties 'pin', 'polarity', 'debounce' and/or 'operation', they will automatically be forwarded | ||
+ | to the base component. | ||
Line 59: | Line 62: | ||
==Examples== | ==Examples== | ||
− | + | The following files provide examples of how to use this component: | |
+ | [[Media:Example_Switch Array TEST.fcfx|Switch Array TEST.fcfx | ||
+ | |||
+ | [[Media:Example_Simple Motor TEST.fcfx|Simple Motor TEST.fcfx | ||
+ | |||
+ | [[Media:Example_Collision Detector Test.fcfx|Collision Detector Test.fcfx | ||
==Downloadable macro reference== | ==Downloadable macro reference== |
Revision as of 17:02, 11 November 2013
Author | Matrix Ltd |
Version | 1.1 |
Category | Inputs |
Contents
Switch base component
Base single pin switch with no graphical interface Suitable for building your own switches with custom graphics. If the parent component has properties 'pin', 'polarity', 'debounce' and/or 'operation', they will automatically be forwarded to the base component.
This component can be used as a base to create child components
The following components all inherit the traits of Switch base:
Examples
The following files provide examples of how to use this component:
[[Media:Example_Switch Array TEST.fcfx|Switch Array TEST.fcfx
[[Media:Example_Simple Motor TEST.fcfx|Simple Motor TEST.fcfx
[[Media:Example_Collision Detector Test.fcfx|Collision Detector Test.fcfx
Downloadable macro reference
ReadState
Reads the button state as 0 for released or 1 for pressed
Performs debounce if required
Parameters
- This macro has no parameters
Return value
WaitUntilHigh
Waits until the switch is in state 'high'
The interpretation of 'high' depends on the polarity
Parameters
- This macro has no parameters
Return value
- This call does not return a value
WaitUntilLow
Waits until the switch is in state 'low'
The interpretation of 'high' depends on the polarity
Parameters
- This macro has no parameters
Return value
- This call does not return a value
Simulation macro reference
This component does not contain any simulation macros
Property reference
Connection
This property is of type Single digital pin and can be referenced with the variable name pin.
The chip pin to which the switch connects.
Polarity
This property is of type Fixed list of ints and can be referenced with the variable name polarity.
Set the polarity of states sent to the chip pin.
'Active High' -> Pressed = On, Released = Off
'Active Low' -> Pressed = Off, Released = On
Debounce (ms)
This property is of type Signed integer and can be referenced with the variable name debounce.
Sets the time in milliseconds to allow a pin change to settle into a stable state.
NB) Debouncing is only used when reading the button state using the component macros.
Chip pins are NOT debounced.
Moving part
This property is of type Panel object and can be referenced with the variable name target.
Sets a panel object or group to be the moving part of the switch model.
Make sure that the object is in the 'Off' position at the time of linking.
Pivot object
This property is of type Panel object and can be referenced with the variable name pivot.
When using the 'Rotary' switch type, the 'Moving part' will rotate about the object set here.
The moving part will rotate around its own axes if this property is left 'Unconnected'.
Type
This property is of type Fixed list of ints and can be referenced with the variable name movetype.
Sets whether the motion of the 'Moving part' will be 'Push/Slide' (linear motion) or
'Rotary' (e.g. toggle switches).
Operation
This property is of type Fixed list of ints and can be referenced with the variable name operation.
'Latching' = click to trun on, click again to turn off.
'Momentary' = click to turn on, release to turn off.
Axis
This property is of type Fixed list of ints and can be referenced with the variable name axis.
For 'Push/Slide' switches, the axis that the 'Moving part' will move along.
For 'Rotary' switches, the axis around which 'Moving part' will rotate.
Movement
This property is of type Floating point and can be referenced with the variable name move.
For 'Push/Slide' switches, the distance (in local units) to move along the axis.
For 'Rotary' switches, the angle (in degrees) to rotate around the axis.
Notify on change
This property is of type True or false and can be referenced with the variable name notify.
When enabled, a 'System.User' event will be sent for each change of switch state.
The event is sent to the 'parent' component in which this 'Swict base' instance is used.