Jump to content

Component: Pedestrian Crossing (Scenarios): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(9 intermediate revisions by 2 users not shown)
Line 5: Line 5:
|-
|-
| width="20%" style="color:gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.0
| 7.7
|-
|-
| width="20%" style="color:gray;" | Category
| width="20%" style="color:gray;" | Category
Line 15: Line 15:
A set of pedestrian crossing lights complete with manual light control, a simple state machine and an automatic mode to allow the lights to take care of themselves.
A set of pedestrian crossing lights complete with manual light control, a simple state machine and an automatic mode to allow the lights to take care of themselves.


==Component Source Code==
==Version information==
 
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/PedestrianCrossing.fcfx FC_Comp_Source_temp/PedestrianCrossing.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/PedestrianCrossing.fcfx FC_Comp_Source_temp/PedestrianCrossing.fcfx]
Library Version, Component Version, Date, Author, Info
3, 3.0, 18-09-24, MW, Changed appearance by adding a separate button with a wait indicator
4, 4.0, 25-09-24, MW, Changed when WAIT indictor is switched off
7, 7.0, 28-02-25, MW, Fixed bug which shows both red and green on solid
7, 7.0, 28-02-25, MW, Changed green flash rate so it remains constant during the flash time duration
7, 7.0, 28-02-25, MW, Fixed state 3 as green was not flashing
7, 7.0, 28-02-25, MW, Fixed so Wait is not lit on button press when not required
7, 7.0, 28-02-25, MW, Added tool tip text to SetLightState


==Detailed description==
==Detailed description==
Line 48: Line 53:


''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''




Line 60: Line 69:


===AutomaticMode===
===AutomaticMode===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AutomaticMode'''
| width="90%" class="mtx-class-macrohead" | '''AutomaticMode'''
|-
|-
| colspan="2" | Enables or Disables automatic mode where the lights will automatically cycle between modes.&nbsp;
| colspan="2" | Enables or Disables automatic mode where the lights will automatically cycle between modes.&nbsp;
Line 79: Line 88:


===GetLightState===
===GetLightState===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLightState'''
| width="90%" class="mtx-class-macrohead" | '''GetLightState'''
|-
|-
| colspan="2" | Reads the state of one of the light sets. Returns the state as a number.  0=Red, 1=Red+Wait, 2=Green, 3=FlashingGreen, 4=Unknown State&nbsp;
| colspan="2" | Reads the state of one of the light sets. Returns the state as a number.  0=Red, 1=Red+Wait, 2=Green, 3=FlashingGreen, 4=Unknown State&nbsp;
Line 93: Line 102:


===GetStopGo===
===GetStopGo===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetStopGo'''
| width="90%" class="mtx-class-macrohead" | '''GetStopGo'''
|-
|-
| colspan="2" | Reads one of the light sets to determine if it is safe to go through the lights. Returns 1 for a Green light, otherwise returns 0.&nbsp;
| colspan="2" | Reads one of the light sets to determine if it is safe to go through the lights. Returns 1 for a Green light, otherwise returns 0.&nbsp;
Line 107: Line 116:


===ReadSwitch===
===ReadSwitch===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitch'''
| width="90%" class="mtx-class-macrohead" | '''ReadSwitch'''
|-
|-
| colspan="2" | Check to see if switch is currently pressed. Return: 0 = Not Pressed, 1 = Pressed&nbsp;
| colspan="2" | Check to see if switch is currently pressed. Return: 0 = Not Pressed, 1 = Pressed&nbsp;
Line 121: Line 130:


===SetLightState===
===SetLightState===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLightState'''
| width="90%" class="mtx-class-macrohead" | '''SetLightState'''
|-
|-
| colspan="2" | Follows the standard pedestrian crossing light sequence.&nbsp;
| colspan="2" | Follows the standard pedestrian crossing light sequence. 0=Red, 1=Red+Wait lit, 2=Green, 3=Green flashing for the duration in properties&nbsp;
|-
|-
|-
|-
Line 140: Line 149:


===SetLights===
===SetLights===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLights'''
| width="90%" class="mtx-class-macrohead" | '''SetLights'''
|-
|-
| colspan="2" | Direct control over all 3 of the lights.&nbsp;
| colspan="2" | Direct control over all 3 of the lights.&nbsp;
Line 170: Line 179:
==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Colours
| width="90%" class="mtx-class-propfolder" | Colours
|-
|-
|-
|-
Line 194: Line 203:
|-
|-
| colspan="2" | Colour Picker to set the Colour of the Wait indicator. &nbsp;
| colspan="2" | Colour Picker to set the Colour of the Wait indicator. &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Button Colour
|-
| colspan="2" | Colour Picker to set the Colour of the push button. &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
Line 200: Line 214:
| colspan="2" | Colour Picker to set the Colour of all indicators when they are switched off. &nbsp;
| colspan="2" | Colour Picker to set the Colour of all indicators when they are switched off. &nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Timings - Automatic Mode
| width="90%" class="mtx-class-propfolder" | Timings - Automatic Mode
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Wait Time
| width="90%" | Wait Time (ms)
|-
|-
| colspan="2" | Amount of time to wait in milliseconds the pedestrians have to wait before being allowed to cross.&nbsp;
| colspan="2" | Amount of time to wait in milliseconds the pedestrians have to wait before being allowed to cross.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Crossing Time
| width="90%" | Crossing Time (ms)
|-
|-
| colspan="2" | Amount of time to wait in milliseconds for the pedestrians to cross the road.&nbsp;
| colspan="2" | Amount of time to wait in milliseconds for the pedestrians to cross the road.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Flash Time
| width="90%" | Flash Time (ms)
|-
|-
| colspan="2" | Amount of time to wait in milliseconds to warn pedestrians to finish crossing the road.&nbsp;
| colspan="2" | Amount of time to wait in milliseconds to warn pedestrians to finish crossing the road.&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| width="90%" class="mtx-class-propfolder" | Button Callback
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-22-icon.png]]
| width="90%" | Switch
| width="90%" | Button Pressed Macro
|-
|-
| colspan="2" | Pin connection assigned to the pedestrian waiting to cross switch.&nbsp;
| colspan="2" | Calls a user macro when the button is pressed allowing for interrupt style callback functionality.&nbsp;
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_PedestrianCrossing_GDI.fcfx FC_Comp_Source_PedestrianCrossing_GDI.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_PedestrianCrossing_GDI.fcfx FC_Comp_Source_PedestrianCrossing_GDI.fcfx]

Latest revision as of 14:36, 13 July 2026

Author Matrix TSL
Version 7.7
Category Scenarios


Pedestrian Crossing component

A set of pedestrian crossing lights complete with manual light control, a simple state machine and an automatic mode to allow the lights to take care of themselves.

Version information

Library Version, Component Version, Date, Author, Info
3, 3.0, 18-09-24, MW, Changed appearance by adding a separate button with a wait indicator
4, 4.0, 25-09-24, MW, Changed when WAIT indictor is switched off
7, 7.0, 28-02-25, MW, Fixed bug which shows both red and green on solid
7, 7.0, 28-02-25, MW, Changed green flash rate so it remains constant during the flash time duration
7, 7.0, 28-02-25, MW, Fixed state 3 as green was not flashing
7, 7.0, 28-02-25, MW, Fixed so Wait is not lit on button press when not required
7, 7.0, 28-02-25, MW, Added tool tip text to SetLightState

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

AutomaticMode

AutomaticMode
Enables or Disables automatic mode where the lights will automatically cycle between modes. 
- BOOL Mode
0 = Auto Mode Disabled, 1 = Auto Mode Enabled 
- VOID Return


GetLightState

GetLightState
Reads the state of one of the light sets. Returns the state as a number. 0=Red, 1=Red+Wait, 2=Green, 3=FlashingGreen, 4=Unknown State 
- BYTE Return


GetStopGo

GetStopGo
Reads one of the light sets to determine if it is safe to go through the lights. Returns 1 for a Green light, otherwise returns 0. 
- BOOL Return


ReadSwitch

ReadSwitch
Check to see if switch is currently pressed. Return: 0 = Not Pressed, 1 = Pressed 
- BOOL Return


SetLightState

SetLightState
Follows the standard pedestrian crossing light sequence. 0=Red, 1=Red+Wait lit, 2=Green, 3=Green flashing for the duration in properties 
- BYTE SequenceNumber
0 = Red, 1 = Red+Wait, 2 = Green, 3 = Green Flashing 
- VOID Return


SetLights

SetLights
Direct control over all 3 of the lights. 
- BOOL Red
0 = Off, 1 = On 
- BOOL Green
0 = Off, 1 = On 
- BOOL Wait
0 = Off, 1 = On 
- VOID Return


Property reference

Properties
Colours
Red Colour
Colour Picker to set the Colour of the Red indicator.  
Green Colour
Colour Picker to set the Colour of the Green indicator.  
Wait Colour
Colour Picker to set the Colour of the Wait indicator.  
Button Colour
Colour Picker to set the Colour of the push button.  
Off Colour
Colour Picker to set the Colour of all indicators when they are switched off.  
Timings - Automatic Mode
Wait Time (ms)
Amount of time to wait in milliseconds the pedestrians have to wait before being allowed to cross. 
Crossing Time (ms)
Amount of time to wait in milliseconds for the pedestrians to cross the road. 
Flash Time (ms)
Amount of time to wait in milliseconds to warn pedestrians to finish crossing the road. 
Button Callback
Button Pressed Macro
Calls a user macro when the button is pressed allowing for interrupt style callback functionality. 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_PedestrianCrossing_GDI.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_PedestrianCrossing_GDI.fcfx