<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.flowcode.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SteveT</id>
	<title>Flowcode Help - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.flowcode.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SteveT"/>
	<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Special:Contributions/SteveT"/>
	<updated>2026-06-13T10:46:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Exit_State_Icon_Properties&amp;diff=42234</id>
		<title>Exit State Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Exit_State_Icon_Properties&amp;diff=42234"/>
		<updated>2026-06-12T14:41:24Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconExitState.png|border]]&lt;br /&gt;
&lt;br /&gt;
An Exit State icon is used within a [[State_diagrams|State Diagram macro]] to represent a special [[State_Icon_Properties|State icon]] that exits this macro and returns program control to the macro that originally called this macro.&lt;br /&gt;
&lt;br /&gt;
A State Diagram can include zero, one or several Exit State icons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconExitState.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_ExitState.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Like a normal State icon, an Exit State icon has a display name (i.e. the text displayed on the state within the diagram) and an optional function.&lt;br /&gt;
In addition, an Exit State may pass back a specific return value (if this State Diagram specifies a return type).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the Exit State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters this Exit State icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit...'''&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit...&amp;quot; button to change the details of the selected function. This button will be hidden if the function is set to &amp;quot;Do nothing&amp;quot; and will be labelled &amp;quot;Choose macro...&amp;quot; if the &amp;quot;Call Macro&amp;quot; function is chosen.&lt;br /&gt;
&lt;br /&gt;
This will open another property window that is specific to the selected function. More details are here:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Call macro]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Calculation_Icon_Properties|Calculation]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Delay_Icon_Properties|Delay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Code_Icon_Properties|Code]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Set return value'''&lt;br /&gt;
&lt;br /&gt;
State Diagrams that specify a return type will enable this tick-box, which allows the Exit State to set the return value when it is executed and passed program control to the calling macro.&lt;br /&gt;
&lt;br /&gt;
When ticked, this box will allow a value or variable to be specified in the &amp;quot;Return Value&amp;quot; box.&lt;br /&gt;
&lt;br /&gt;
If left unticked, the return value will be the value of the local &amp;quot;Return&amp;quot; variable (assuming this macro specifies a return) in the same way that a normal macro can set its return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return Value'''&lt;br /&gt;
&lt;br /&gt;
The return value passed to the calling macro can be set here.&lt;br /&gt;
This can be a literal value, an expression, or a variable of a compatible type to this macro's return type.&lt;br /&gt;
&lt;br /&gt;
Clicking the down arrow to the right of the box will allow a global or local variable to be chosen from those available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example of a State Diagram==&lt;br /&gt;
&lt;br /&gt;
[[File:State0.png|State Diagram Overview]]&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Transition_Icon_Properties&amp;diff=42233</id>
		<title>Transition Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Transition_Icon_Properties&amp;diff=42233"/>
		<updated>2026-06-12T14:18:38Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IconTransitionStraight.png|border|link=Transition_Icon_Properties]] [[File:IconTransitionCurved.png|border|link=Transition_Icon_Properties]] &lt;br /&gt;
&lt;br /&gt;
A Transition icon is used within a [[State_diagrams|State Diagram macro]] to represent a transition from one States icon to another. Each Transition icon has a condition that determines the logical flow of the user's program and optional functionality that is executed when the Transition has been activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconTransitionStraight.png|border|link=Transition_Icon_Properties]] / [[File:IconTransitionCurved.png|border|link=Transition_Icon_Properties]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Transition.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Transitions are lines that connect two states in a state diagram.  &lt;br /&gt;
&lt;br /&gt;
These lines have an arrow at one end signifying the direction of program flow through the transition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Condition'''&lt;br /&gt;
&lt;br /&gt;
Transitions have a condition which is an expression that evaluates to true (non-zero) or false (zero).  &lt;br /&gt;
&lt;br /&gt;
The condition is used during program execution to determine if the program flow should proceed along that transition.  When the condition is true, the function of the Transition is executed and program control passes to the attached State icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each transition leaving that state has its condition tested in turn to see which path the program flow should continue along. The order that these are checked is set in the State icon's property page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The condition expression can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters (or remains in) that state icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This function can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit...'''&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit...&amp;quot; button to change the details of the selected function. This button will be hidden if the function is set to &amp;quot;Do nothing&amp;quot; and will be labelled &amp;quot;Choose macro...&amp;quot; if the &amp;quot;Call Macro&amp;quot; function is chosen.&lt;br /&gt;
&lt;br /&gt;
This will open another property window that is specific to the selected function. More details are here:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Call macro]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Calculation_Icon_Properties|Calculation]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Delay_Icon_Properties|Delay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Code_Icon_Properties|Code]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Transition label==&lt;br /&gt;
Transitions have an optional label which can display the name of the transition, its condition, or its function.  &lt;br /&gt;
&lt;br /&gt;
The colour of a transition can be changed by right-clicking the transition and selecting &amp;quot;Set shape colour&amp;quot;.&lt;br /&gt;
This sets the colour of its label. The colour of the transition line and arrow cannot be altered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Entry State Transition==&lt;br /&gt;
The entry state icon includes a special transition leaving it which should point to the first state to be executed in the state diagram (after the entry state itself).  &lt;br /&gt;
&lt;br /&gt;
This transition is always connected to the enter state and cannot be deleted.  &lt;br /&gt;
&lt;br /&gt;
Also, it has no properties and so cannot have a label or code.  &lt;br /&gt;
&lt;br /&gt;
It is always executed as if its transition condition is true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation==&lt;br /&gt;
During program execution (simulation or ICD), the colour of the transition line changes to blue or orange when its condition is being evaluated – blue signifies the condition is false and the transition will be ignored, and orange signifies that the transition is true and the program flow with execute along this transition.  &lt;br /&gt;
&lt;br /&gt;
When the transition is executing, it changes to a thick orange line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example of a State Diagram==&lt;br /&gt;
&lt;br /&gt;
[[File:State0.png|State Diagram Overview]]&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42232</id>
		<title>State Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42232"/>
		<updated>2026-06-12T14:10:03Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconState.png|border]]&lt;br /&gt;
&lt;br /&gt;
A State icon is used within a [[State_diagrams|State Diagram macro]] to represent one of the states. Each State icon will have optional functionality that is executed when the State is entered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconState.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_State.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A State Diagram consists of several state icons interconnected with transitions.  Like a transition, a state icon has a display name (i.e. the text displayed on the state within the diagram) and an optional function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters (or remains in) that state icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit...'''&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit...&amp;quot; button to change the details of the selected function. This button will be hidden if the function is set to &amp;quot;Do nothing&amp;quot; and will be labelled &amp;quot;Choose macro...&amp;quot; if the &amp;quot;Call Macro&amp;quot; function is chosen.&lt;br /&gt;
&lt;br /&gt;
This will open another property window that is specific to the selected function. More details are here:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Call macro]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Calculation_Icon_Properties|Calculation]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Delay_Icon_Properties|Delay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Code_Icon_Properties|Code]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Set transition order'''&lt;br /&gt;
&lt;br /&gt;
States usually have one or more exit transitions: arrows that flow out of the state icon with optional conditions that must be true for program execution to ‘flow’ along that Transition.&lt;br /&gt;
&lt;br /&gt;
These exit Transitions are evaluated in turn until one is found to be true.  The evaluation order of these transitions can be set by clicking “Set transition order” or by reconnecting the start end of the transition to the state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Editing the order of transitions==&lt;br /&gt;
[[File:TransitionOrder.png]]&lt;br /&gt;
&lt;br /&gt;
The order in which transitions are evaluated can be set in this window. Click the required transition to select it and set its position in the list using the up and down arrows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The transitions can be listed here by their Display Name, their specified Condition, or the Function that they perform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special States==&lt;br /&gt;
&lt;br /&gt;
A state without an exit transition will force program execution to remain in that state until the program is stopped by the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each state diagram must contain a single “Entry State” icon which contains the code to be executed when the program enters that macro.&lt;br /&gt;
&lt;br /&gt;
Only one transition can exit this entry state and neither this transition nor the entry state can be deleted from the state diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
State Diagrams can may have one or more [[Exit_State_Icon_Properties|Exit State icons]], which cause the State Diagram to return to its calling macro.&lt;br /&gt;
&lt;br /&gt;
These may have a return value if this State Diagram macro specifies a return type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example of a State Diagram==&lt;br /&gt;
&lt;br /&gt;
[[File:State0.png|State Diagram Overview]]&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42231</id>
		<title>State Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42231"/>
		<updated>2026-06-12T14:06:29Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconState.png|border]]&lt;br /&gt;
&lt;br /&gt;
A State icon is used within a [[State_diagrams|State Diagram macro]] to represent one of the states. Each State icon will have optional functionality that is executed when the State is entered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconState.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_State.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A State Diagram consists of several state icons interconnected with transitions.  Like a transition, a state icon has a display name (i.e. the text displayed on the state within the diagram) and an optional function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters (or remains in) that state icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit...'''&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit...&amp;quot; button to change the details of the selected function. This button will be hidden if the function is set to &amp;quot;Do nothing&amp;quot; and will be labelled &amp;quot;Choose macro...&amp;quot; if the &amp;quot;Call Macro&amp;quot; function is chosen.&lt;br /&gt;
&lt;br /&gt;
This will open another property window that is specific to the selected function. More details are here:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Call macro]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Calculation_Icon_Properties|Calculation]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Delay_Icon_Properties|Delay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Code_Icon_Properties|Code]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Set transition order'''&lt;br /&gt;
&lt;br /&gt;
States usually have one or more exit transitions: arrows that flow out of the state icon with optional conditions that must be true for program execution to ‘flow’ along that Transition.&lt;br /&gt;
&lt;br /&gt;
These exit Transitions are evaluated in turn until one is found to be true.  The evaluation order of these transitions can be set by clicking “Set transition order” or by reconnecting the start end of the transition to the state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Editing the order of transitions==&lt;br /&gt;
[[File:TransitionOrder.png]]&lt;br /&gt;
&lt;br /&gt;
The order in which transitions are evaluated can be set in this window. Click the required transition to select it and set its position in the list using the up and down arrows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The transitions can be listed here by their Display Name, their specified Condition, or the Function that they perform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special States==&lt;br /&gt;
&lt;br /&gt;
A state without an exit transition will force program execution to remain in that state until the program is stopped by the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each state diagram must contain a single “Entry State” icon which contains the code to be executed when the program enters that macro.&lt;br /&gt;
&lt;br /&gt;
Only one transition can exit this entry state and neither this transition nor the entry state can be deleted from the state diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
State Diagrams can may have one or more [[Exit_State_Icon_Properties|Exit State icons]], which cause the State Diagram to return to its calling macro.&lt;br /&gt;
&lt;br /&gt;
These may have a return value if this State Diagram macro specifies a return type.&lt;br /&gt;
&lt;br /&gt;
[[File:State0.png|State Diagram Overview]]&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42230</id>
		<title>State Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42230"/>
		<updated>2026-06-12T11:55:33Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconState.png|border]]&lt;br /&gt;
&lt;br /&gt;
A State icon is used within a [[State_diagrams|State Diagram macro]] to represent one of the states. Each State icon will have optional functionality that is executed when the State is entered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconState.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_State.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A State Diagram consists of several state icons interconnected with transitions.  Like a transition, a state icon has a display name (i.e. the text displayed on the state within the diagram) and an optional function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters (or remains in) that state icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit...'''&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit...&amp;quot; button to change the details of the selected function.&lt;br /&gt;
&lt;br /&gt;
This will open another property window that is specific to the selected function. More details are here:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Call macro]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Calculation_Icon_Properties|Calculation]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Delay_Icon_Properties|Delay]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Code_Icon_Properties|Code]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Set transition order'''&lt;br /&gt;
&lt;br /&gt;
States usually have one or more exit transitions: arrows that flow out of the state icon with optional conditions that must be true for program execution to ‘flow’ along that Transition.&lt;br /&gt;
&lt;br /&gt;
These exit Transitions are evaluated in turn until one is found to be true.  The evaluation order of these transitions can be set by clicking “Set transition order” or by reconnecting the start end of the transition to the state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Editing the order of transitions==&lt;br /&gt;
[[File:TransitionOrder.png]]&lt;br /&gt;
&lt;br /&gt;
The order in which transitions are evaluated can be set in this window. Click the required transition to select it and set its position in the list using the up and down arrows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The transitions can be listed here by their Display Name, their specified Condition, or the Function that they perform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special States==&lt;br /&gt;
&lt;br /&gt;
A state without an exit transition will force program execution to remain in that state until the program is stopped by the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each state diagram must contain a single “Entry State” icon which contains the code to be executed when the program enters that macro.&lt;br /&gt;
&lt;br /&gt;
Only one transition can exit this entry state and neither this transition nor the entry state can be deleted from the state diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
State Diagrams can may have one or more [[Exit_State_Icon_Properties|Exit State icons]], which cause the State Diagram to return to its calling macro.&lt;br /&gt;
&lt;br /&gt;
These may have a return value if this State Diagram macro specifies a return type.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Macro_Icon_Properties&amp;diff=42229</id>
		<title>Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Macro_Icon_Properties&amp;diff=42229"/>
		<updated>2026-06-12T11:54:21Z</updated>

		<summary type="html">&lt;p&gt;SteveT: /* Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconUserMacro.png|border]]&lt;br /&gt;
&lt;br /&gt;
Macros are sections of code that can be used and reused in projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v9 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10821|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconUserMacro.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Macro.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Macros'''&lt;br /&gt;
&lt;br /&gt;
Macros (explained here) are those designed and created by the user.&lt;br /&gt;
&lt;br /&gt;
Macros can be [[Exporting a Macro|exported]] and [[Importing a Macro|imported]] allowing users to build up macro libraries of common or important tasks.&lt;br /&gt;
&lt;br /&gt;
On Macros the outer bands are clear and not hatched.&lt;br /&gt;
&lt;br /&gt;
The macro properties dialog allows users to select and create macros.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a Macro'''&lt;br /&gt;
&lt;br /&gt;
Select the Macro to use from the list, or click on Create new macro to begin [[Creating a New Macro|creating a new macro]] to add to the list.&lt;br /&gt;
&lt;br /&gt;
Add in any parameters required, and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the OK button completes the process and closes the dialog.&lt;br /&gt;
&lt;br /&gt;
Clicking on the OK and edit button completes the process, closes the dialog and opens the selected macro for editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. They can be numeric values or existing variables. Clicking on the down arrow allows you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of the required type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of the specified type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Create New Macro button'''&lt;br /&gt;
&lt;br /&gt;
Select this button to [[Creating a New Macro|create a new macro]] within the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OK &amp;amp; Edit Macro button'''&lt;br /&gt;
&lt;br /&gt;
Clicking this button will open up the chosen macro to allow it to be viewed or edited.&lt;br /&gt;
&lt;br /&gt;
==Macro types==&lt;br /&gt;
Macros are 3 types of macro that can be called using this command icon:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Macros]]&lt;br /&gt;
| Macros designed and created by the user that are created as part of this project.&lt;br /&gt;
|-&lt;br /&gt;
| [[Component_Macro_Icon_Properties|Components]]&lt;br /&gt;
| Pre-defined macros supplied with the components. Only components that have been added to this project are available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation_Macro_Icon_Properties|Built-in Functions]]&lt;br /&gt;
| Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=SlWkK1mwyJQ&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Macros] video to learn how to call a macro from a selection of existing macros and input a macro parameter using the Macro icon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{#ev:youtube|SlWkK1mwyJQ|640}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42228</id>
		<title>State Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42228"/>
		<updated>2026-06-12T11:43:55Z</updated>

		<summary type="html">&lt;p&gt;SteveT: /* Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconState.png|border]]&lt;br /&gt;
&lt;br /&gt;
A State icon is used within a [[State_diagrams|State Diagram macro]] to represent one of the states. Each State icon will have optional functionality that is executed when the State is entered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconState.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_State.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A State Diagram consists of several state icons interconnected with transitions.  Like a transition, a state icon has a display name (i.e. the text displayed on the state within the diagram) and an optional function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters (or remains in) that state icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Set transition order'''&lt;br /&gt;
&lt;br /&gt;
States usually have one or more exit transitions: arrows that flow out of the state icon with optional conditions that must be true for program execution to ‘flow’ along that Transition.&lt;br /&gt;
&lt;br /&gt;
These exit Transitions are evaluated in turn until one is found to be true.  The evaluation order of these transitions can be set by clicking “Set transition order” or by reconnecting the start end of the transition to the state.&lt;br /&gt;
&lt;br /&gt;
[[File:TransitionOrder.png]]&lt;br /&gt;
&lt;br /&gt;
==Special States==&lt;br /&gt;
&lt;br /&gt;
A state without an exit transition will force program execution to remain in that state until the program is stopped by the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each state diagram must contain a single “Entry State” icon which contains the code to be executed when the program enters that macro.&lt;br /&gt;
&lt;br /&gt;
Only one transition can exit this entry state and neither this transition nor the entry state can be deleted from the state diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
State Diagrams can may have one or more [[Exit_State_Icon_Properties|Exit State icons]], which cause the State Diagram to return to its calling macro.&lt;br /&gt;
&lt;br /&gt;
These may have a return value if this State Diagram macro specifies a return type.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42227</id>
		<title>State Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=State_Icon_Properties&amp;diff=42227"/>
		<updated>2026-06-12T11:42:27Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconState.png|border]]&lt;br /&gt;
&lt;br /&gt;
A State icon is used within a [[State_diagrams|State Diagram macro]] to represent one of the states. Each State icon will have optional functionality that is executed when the State is entered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconState.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_State.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A State Diagram consists of several state icons interconnected with transitions.  Like a transition, a state icon has a display name (i.e. the text displayed on the state within the diagram) and an optional function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears in the State icon in the State Diagram.&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Function'''&lt;br /&gt;
&lt;br /&gt;
The function is code that is executed when the program flow enters (or remains in) that state icon.&lt;br /&gt;
&lt;br /&gt;
This can be to call a macro, perform a calculation, delay program execution or execute some custom C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
States will perform their optional function when program flow enters that state through a transition from another state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This can be optionally displayed or hidden on the icon itself when the &amp;quot;Show&amp;quot; tick-box is unticked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Set transition order'''&lt;br /&gt;
&lt;br /&gt;
States usually have one or more exit transitions: arrows that flow out of the state icon with optional conditions that must be true for program execution to ‘flow’ along that Transition.&lt;br /&gt;
&lt;br /&gt;
These exit Transitions are evaluated in turn until one is found to be true.  The evaluation order of these transitions can be set by clicking “Set transition order” or by reconnecting the start end of the transition to the state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special States==&lt;br /&gt;
&lt;br /&gt;
A state without an exit transition will force program execution to remain in that state until the program is stopped by the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each state diagram must contain a single “Entry State” icon which contains the code to be executed when the program enters that macro.&lt;br /&gt;
&lt;br /&gt;
Only one transition can exit this entry state and neither this transition nor the entry state can be deleted from the state diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
State Diagrams can may have one or more [[Exit_State_Icon_Properties|Exit State icons]], which cause the State Diagram to return to its calling macro.&lt;br /&gt;
&lt;br /&gt;
These may have a return value if this State Diagram macro specifies a return type.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Group_Icon_Properties&amp;diff=42226</id>
		<title>Group Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Group_Icon_Properties&amp;diff=42226"/>
		<updated>2026-06-12T11:27:05Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconGroup.png|border]]&lt;br /&gt;
&lt;br /&gt;
Group icons are a collection of consecutive command icons that are grouped together to make the program structure easier to view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38954|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38954|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38954|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconGroup.png|border]]&lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Group.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A group icon cannot be directly added to a macro. Instead, it is created by selecting a group of command icons and grouping them together as explained below.&lt;br /&gt;
&lt;br /&gt;
Like other commands, group icons can be moved within the macro and copied to other macros.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''View contents'''&lt;br /&gt;
&lt;br /&gt;
The contents of the group icon can be viewed by clicking the &amp;quot;View contents&amp;quot; button in the property window, or by right-clicking the command icon and selecting the &amp;quot;Show macro&amp;quot; entry.  The group's icons will be shown in a separate read-only macro window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grouping commands==&lt;br /&gt;
&lt;br /&gt;
Command and component icons can be grouped, if you would like to reduce the flowchart working area space.&lt;br /&gt;
&lt;br /&gt;
For example, if you have several icons above the main loop, e.g.:&lt;br /&gt;
 &lt;br /&gt;
[[File:Group_Icons1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
but you are only interested in simulation within the main loop then you can group the icons you are not interested in so the flowchart will look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Group_Icons2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To group the icons, hold the left mouse button down and drag the icons you wish to group together.&lt;br /&gt;
&lt;br /&gt;
Right-click on the selected group and select group Icons.&lt;br /&gt;
&lt;br /&gt;
You can ungroup the icons by right-clicking on the selected group and selecting Ungroup Icons. &lt;br /&gt;
&lt;br /&gt;
Note, the individual icons within the grouped icons will not be shown during the simulation. Therefore if you are single-stepping, the active simulation outline will remain on the grouped icons until all icons have been accessed.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Macro_Icon_Properties&amp;diff=42225</id>
		<title>Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Macro_Icon_Properties&amp;diff=42225"/>
		<updated>2026-06-12T11:08:41Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconUserMacro.png|border]]&lt;br /&gt;
&lt;br /&gt;
Macros are sections of code that can be used and reused in projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v9 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10821|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconUserMacro.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Macro_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Macros'''&lt;br /&gt;
&lt;br /&gt;
Macros (explained here) are those designed and created by the user.&lt;br /&gt;
&lt;br /&gt;
Macros can be [[Exporting a Macro|exported]] and [[Importing a Macro|imported]] allowing users to build up macro libraries of common or important tasks.&lt;br /&gt;
&lt;br /&gt;
On Macros the outer bands are clear and not hatched.&lt;br /&gt;
&lt;br /&gt;
The macro properties dialog allows users to select and create macros.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a Macro'''&lt;br /&gt;
&lt;br /&gt;
Select the Macro to use from the list, or click on Create new macro to begin [[Creating a New Macro|creating a new macro]] to add to the list.&lt;br /&gt;
&lt;br /&gt;
Add in any parameters required, and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the OK button completes the process and closes the dialog.&lt;br /&gt;
&lt;br /&gt;
Clicking on the OK and edit button completes the process, closes the dialog and opens the selected macro for editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. They can be numeric values or existing variables. Clicking on the down arrow allows you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of the required type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of the specified type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Create New Macro button'''&lt;br /&gt;
&lt;br /&gt;
Select this button to [[Creating a New Macro|create a new macro]] within the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OK &amp;amp; Edit Macro button'''&lt;br /&gt;
&lt;br /&gt;
Clicking this button will open up the chosen macro to allow it to be viewed or edited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Macro types==&lt;br /&gt;
Macros are 3 types of macro that can be called using this command icon:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Macros]]&lt;br /&gt;
| Macros designed and created by the user that are created as part of this project.&lt;br /&gt;
|-&lt;br /&gt;
| [[Component_Macro_Icon_Properties|Components]]&lt;br /&gt;
| Pre-defined macros supplied with the components. Only components that have been added to this project are available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation_Macro_Icon_Properties|Built-in Functions]]&lt;br /&gt;
| Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=SlWkK1mwyJQ&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Macros] video to learn how to call a macro from a selection of existing macros and input a macro parameter using the Macro icon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{#ev:youtube|SlWkK1mwyJQ|640}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Simulation_Macro_Icon_Properties&amp;diff=42224</id>
		<title>Simulation Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Simulation_Macro_Icon_Properties&amp;diff=42224"/>
		<updated>2026-06-12T11:06:07Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IconBuiltinFunction.png|border]]&lt;br /&gt;
&lt;br /&gt;
Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v9 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/11926|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconBuiltinFunction.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Simulation_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_ApiMacro.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Built-in functions (sometimes called API or Simulation Macros) consist of a wide range of [[API Overview|Simulation Functions]] that provide enhanced features for software simulation of your Flowcode project. This means that no code is produced when a project is built (with the exception of a few Web Developer functions).&lt;br /&gt;
&lt;br /&gt;
These internal functions are used to produce advanced systems on software to accurately replicate and simulate existing systems and even demonstrate new concepts by creating simulation-only programs to test the capabilities of potential systems. They are used mainly in the creation of Flowcode components and are rarely suitable for general Flowcode projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a call to a Built-in Function'''&lt;br /&gt;
&lt;br /&gt;
The functions are listed under various categories. Expand each category to manually locate the required function, or right-click near the top of the list and select &amp;quot;Search&amp;quot; to enter a search term.&lt;br /&gt;
&lt;br /&gt;
Select the macro and fill in the parameters required and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. Each can be a literal value or an existing variable. Clicking on the down arrow [[File:Btn_Arrow.png]] brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of a compatible type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of compatible type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Macro types==&lt;br /&gt;
Macros are 3 types of macro that can be called using this command icon:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Macros]]&lt;br /&gt;
| Macros designed and created by the user that are created as part of this project.&lt;br /&gt;
|-&lt;br /&gt;
| [[Component_Macro_Icon_Properties|Components]]&lt;br /&gt;
| Pre-defined macros supplied with the components. Only components that have been added to this project are available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation_Macro_Icon_Properties|Built-in Functions]]&lt;br /&gt;
| Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
Watch the [http://www.youtube.com/watch?v=LSz0p0NqMBw&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Download and Simulation code] video for a demonstration, example and explanation of downloadable and simulation only code and the difference between the two.&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=B_tOeSTeAbw&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Simulation Icon] video for information on the simulation functions available, the video highlights how they are organised and presented and how they can be used.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{#ev:youtube|LSz0p0NqMBw}}&lt;br /&gt;
| width=&amp;quot;100px&amp;quot; |&lt;br /&gt;
|{{#ev:youtube|B_tOeSTeAbw}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component_Macro_Icon_Properties&amp;diff=42223</id>
		<title>Component Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component_Macro_Icon_Properties&amp;diff=42223"/>
		<updated>2026-06-12T11:02:56Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconComponentMacro.png|border]]&lt;br /&gt;
&lt;br /&gt;
Component macros are pre-defined macros supplied with the components. For example LCD macros are used to display numbers and characters on the LCD display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v9 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/41380|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconComponentMacro.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Component_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_CompMacro.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a component macro'''&lt;br /&gt;
&lt;br /&gt;
Components macros are listed in the properties window and are grouped by component.&lt;br /&gt;
&lt;br /&gt;
Find the component from the list of attached components and click the &amp;quot;+&amp;quot; sign to its left to expand the list group to reveal the available component macros.&lt;br /&gt;
&lt;br /&gt;
Select the macro and add in any parameters required, then optionally select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. They can be numeric values, strings or existing variables. Clicking on the down arrow [[File:Btn_Arrow.png]] brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be a compatible type to be accepted, and a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
Expressions can be used as parameters for example (5 + a) where a is a numeric variable. Expressions cannot contain string functions or other functions requiring the use of arrays.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of compatible type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Macro types==&lt;br /&gt;
Macros are 3 types of macro that can be called using this command icon:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Macros]]&lt;br /&gt;
| Macros designed and created by the user that are created as part of this project.&lt;br /&gt;
|-&lt;br /&gt;
| [[Component_Macro_Icon_Properties|Components]]&lt;br /&gt;
| Pre-defined macros supplied with the components. Only components that have been added to this project are available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation_Macro_Icon_Properties|Built-in Functions]]&lt;br /&gt;
| Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=Xh68YXcTdoU&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Component Macro] video to learn how to call component macros, this video features both the [[Component: ID 7aad74d6 b24e 4dab 91eb 5d72a973f12d|ADC]] Dial and [[Component: ID 0953aac0 9c23 4c2f 9843 88954a4191ea|LCD]] EB005 components and their associated Component Macros.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{#ev:youtube|Xh68YXcTdoU|640}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Simulation_Macro_Icon_Properties&amp;diff=42222</id>
		<title>Simulation Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Simulation_Macro_Icon_Properties&amp;diff=42222"/>
		<updated>2026-06-12T10:20:24Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IconBuiltinFunction.png|border]]&lt;br /&gt;
&lt;br /&gt;
Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconBuiltinFunction.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Simulation_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_ApiMacro.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Built-in functions (sometimes called API or Simulation Macros) consist of a wide range of [[API Overview|Simulation Functions]] that provide enhanced features for software simulation of your Flowcode project. This means that no code is produced when a project is built (with the exception of a few Web Developer functions).&lt;br /&gt;
&lt;br /&gt;
These internal functions are used to produce advanced systems on software to accurately replicate and simulate existing systems and even demonstrate new concepts by creating simulation-only programs to test the capabilities of potential systems. They are used mainly in the creation of Flowcode components and are rarely suitable for general Flowcode projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a call to a Built-in Function'''&lt;br /&gt;
&lt;br /&gt;
The functions are listed under various categories. Expand each category to manually locate the required function, or right-click near the top of the list and select &amp;quot;Search&amp;quot; to enter a search term.&lt;br /&gt;
&lt;br /&gt;
Select the macro and fill in the parameters required and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. Each can be a literal value or an existing variable. Clicking on the down arrow [[File:Btn_Arrow.png]] brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of a compatible type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of compatible type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Macro types==&lt;br /&gt;
Macros are 3 types of macro that can be called using this command icon:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Macro_Icon_Properties|Macros]]&lt;br /&gt;
| Macros designed and created by the user that are created as part of this project.&lt;br /&gt;
|-&lt;br /&gt;
| [[Component_Macro_Icon_Properties|Components]]&lt;br /&gt;
| Pre-defined macros supplied with the components. Only components that have been added to this project are available.&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation_Macro_Icon_Properties|Built-in Functions]]&lt;br /&gt;
| Simulation-only macros for advanced Flowcode use such as component creation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
Watch the [http://www.youtube.com/watch?v=LSz0p0NqMBw&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Download and Simulation code] video for a demonstration, example and explanation of downloadable and simulation only code and the difference between the two.&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=B_tOeSTeAbw&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Simulation Icon] video for information on the simulation functions available, the video highlights how they are organised and presented and how they can be used.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{#ev:youtube|LSz0p0NqMBw}}&lt;br /&gt;
| width=&amp;quot;100px&amp;quot; |&lt;br /&gt;
|{{#ev:youtube|B_tOeSTeAbw}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Icon_Properties&amp;diff=42221</id>
		<title>Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Icon_Properties&amp;diff=42221"/>
		<updated>2026-06-12T09:27:17Z</updated>

		<summary type="html">&lt;p&gt;SteveT: /* Flowchart icons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The properties of a command icon defines how it behaves when compiled/assembled and when simulated in Flowcode. As each icon has different properties that the user can edit: see the topic on the particular icon of interest.&lt;br /&gt;
&lt;br /&gt;
To edit an icon's properties, either select the icon and the select the 'Properties' option from the 'Edit' menu (Edit &amp;gt; Properties) or simply double click on the icon in the macro view. The icon's properties can also be displayed by right clicking on the icon to display a context menu and then selecting properties from that menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/41775|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23545|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23545|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flowchart icons==&lt;br /&gt;
&lt;br /&gt;
Flowchart icons are the commands used in most programming paradigms of Flowcode, i.e. Flowcharts, Code, Blocks and Pseudocode.&lt;br /&gt;
&lt;br /&gt;
Click this link for more information on [[Editing Icon Properties]].&lt;br /&gt;
&lt;br /&gt;
For information on specific icons then see the links below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IconInput.png|border|link=Input Icon Properties]] [[Input Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconOutput.png|border|link=Output Icon Properties]] [[Output Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconDelay.png|border|link=Delay Icon Properties]] [[Delay Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconDecision.png|border|link=Decision Icon Properties]] [[Decision Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconSwitch.png|border|link=Switch Icon Properties]] [[Switch Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconLabel.png|border|link=Label Icon Properties]] [[Label Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconJump.png|border|link=Jump Icon Properties]] [[Jump Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconLoop.png|border|link=Loop Icon Properties]] [[Loop Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconUserMacro.png|border|link=Macro Icon Properties]] [[Macro_Icon_Properties|User Macro Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconComponentMacro.png|border|link=Component Macro Icon Properties]] [[Component Macro Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconBuiltinFunction.png|border|link=Simulation Macro Icon Properties]] [[Simulation_Macro_Icon_Properties|Built-in Functions Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconInterrupt.png|border|link=Interrupt Icon Properties]] [[Interrupt Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconCalculation.png|border|link=Calculation Icon Properties]] [[Calculation Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconCode.png|border|link=Code Icon Properties]] [[Code Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconComment.png|border|link=Comment Icon Properties]] [[Comment Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconGroup.png|border|link=Group Icon Properties]] [[Group Icon Properties]]&lt;br /&gt;
&lt;br /&gt;
==State Diagram icons==&lt;br /&gt;
&lt;br /&gt;
A different set of command icons are used for Flowcode's [[State_diagrams|State Diagram]] programming paradigm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:IconState.png|border|link=State_Icon_Properties]] [[State_Icon_Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconExitState.png|border|link=Exit_State_Icon_Properties]] [[Exit_State_Icon_Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconTransitionStraight.png|border|link=Transition_Icon_Properties]] [[File:IconTransitionCurved.png|border|link=Transition_Icon_Properties]] [[Transition_Icon_Properties]]&lt;br /&gt;
&lt;br /&gt;
[[File:IconStateComment.png|border|link=Comment Icon Properties]] [[Comment Icon Properties]]&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Output_Icon_Properties&amp;diff=42220</id>
		<title>Output Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Output_Icon_Properties&amp;diff=42220"/>
		<updated>2026-06-12T09:24:12Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconOutput.png|border]]&lt;br /&gt;
&lt;br /&gt;
Output icon send the value or variable to the specified port and/or bits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23136|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23136|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10816|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconOutput.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Output_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Output1.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Port'''&lt;br /&gt;
&lt;br /&gt;
Select from a list of the ports available on the target microcontroller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variable or value'''&lt;br /&gt;
&lt;br /&gt;
Select the name of the variable or a numeric value that you wish to output to the port. Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
Numeric values can be in decimal (unmarked), HEX (preceded by 0x) or binary format (preceded by 0b). e.g. 255, 0xFF, 0b11111111. Users can also use expressions inside the variable or value box, eg &amp;quot;x + 100&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced==&lt;br /&gt;
&lt;br /&gt;
By selecting the 'Show advanced options' you can individual pins.&lt;br /&gt;
&lt;br /&gt;
[[File:Properties_Output2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Single Bit'''&lt;br /&gt;
&lt;br /&gt;
Use this option to write to a single bit of the port.&lt;br /&gt;
&lt;br /&gt;
If a true (non zero) value is sent to the bit the bit is set (turned on), otherwise the bit is cleared (turned off).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Entire Port'''&lt;br /&gt;
&lt;br /&gt;
Use this option to write the variable or value to the entire port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Use Masking'''&lt;br /&gt;
&lt;br /&gt;
When [[Using Masks|masking]] is used, it is possible to write to only certain bits of a port. This is useful when some bits of the port are configured as inputs and you wish to leave these bits unchanged.&lt;br /&gt;
&lt;br /&gt;
With [[Using Masks|masking]] only the selected bits receive their value, all non selected bits are not affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Use chip references'''&lt;br /&gt;
&lt;br /&gt;
When using target devices that have a mixture of a letter and a number or just a number, for example, on Arduino Uno - A2&lt;br /&gt;
&lt;br /&gt;
If 'Use chip references' is unticked, you can select A2.&lt;br /&gt;
&lt;br /&gt;
If 'Use chip references' is ticked, it will be PORT C2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Output+icon&amp;amp;id=local&amp;amp;wiki=Output_Icon_Properties Output icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:TransitionOrder.png&amp;diff=42219</id>
		<title>File:TransitionOrder.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:TransitionOrder.png&amp;diff=42219"/>
		<updated>2026-06-12T09:18:58Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Transition Order Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Transition Order Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Transition.png&amp;diff=42218</id>
		<title>File:Properties Transition.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Transition.png&amp;diff=42218"/>
		<updated>2026-06-12T09:18:40Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Transition Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Transition Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_ExitState.png&amp;diff=42217</id>
		<title>File:Properties ExitState.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_ExitState.png&amp;diff=42217"/>
		<updated>2026-06-12T09:18:25Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Exit State Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Exit State Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_State.png&amp;diff=42216</id>
		<title>File:Properties State.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_State.png&amp;diff=42216"/>
		<updated>2026-06-12T09:18:11Z</updated>

		<summary type="html">&lt;p&gt;SteveT: State Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
State Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Group.png&amp;diff=42215</id>
		<title>File:Properties Group.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Group.png&amp;diff=42215"/>
		<updated>2026-06-12T09:17:57Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Group Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Group Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_ApiMacro.png&amp;diff=42214</id>
		<title>File:Properties ApiMacro.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_ApiMacro.png&amp;diff=42214"/>
		<updated>2026-06-12T09:17:43Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Built-in Functions Macro Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Built-in Functions Macro Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_CompMacro.png&amp;diff=42213</id>
		<title>File:Properties CompMacro.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_CompMacro.png&amp;diff=42213"/>
		<updated>2026-06-12T09:16:46Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Component Macro Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Component Macro Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Macro.png&amp;diff=42212</id>
		<title>File:Properties Macro.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Macro.png&amp;diff=42212"/>
		<updated>2026-06-12T09:16:31Z</updated>

		<summary type="html">&lt;p&gt;SteveT: User Macro Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
User Macro Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Output2.png&amp;diff=42211</id>
		<title>File:Properties Output2.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Output2.png&amp;diff=42211"/>
		<updated>2026-06-12T09:15:51Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Output Icon Properties Dialog (advanced)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Output Icon Properties Dialog (advanced)&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Output1.png&amp;diff=42210</id>
		<title>File:Properties Output1.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Properties_Output1.png&amp;diff=42210"/>
		<updated>2026-06-12T09:15:26Z</updated>

		<summary type="html">&lt;p&gt;SteveT: Output Icon Properties Dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Output Icon Properties Dialog&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Loop_Icon_Properties&amp;diff=42209</id>
		<title>Loop Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Loop_Icon_Properties&amp;diff=42209"/>
		<updated>2026-06-11T16:28:52Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconLoop.png|border]]&lt;br /&gt;
&lt;br /&gt;
Loop icons are used to repeat a task until specified conditions are fulfilled, or to perform the loop a set number of times.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/17609|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/17609|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/17609|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconLoop.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Loop_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties-loop.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Loop types==&lt;br /&gt;
There are several types of loop as explained below.&lt;br /&gt;
&lt;br /&gt;
===Loop forever===&lt;br /&gt;
Creates an infinite loop where the icons between the start and end of this loop icon are repeated forever. Many embedded programs require an infinite loop because the code running in the microcontroller will never stop.  In versions of Flowcode prior to v11, a condition &amp;quot;While 1&amp;quot; would have been used instead to create an infinite loop.&lt;br /&gt;
&lt;br /&gt;
===Loop while===&lt;br /&gt;
A &amp;quot;while&amp;quot; loop will repeat the icons if the test in the &amp;quot;expression&amp;quot; box is true. This expression can be tested at the start or at the end of the loop and it is at this point that the program decides to continue or abort the loop.&lt;br /&gt;
&lt;br /&gt;
===Loop until===&lt;br /&gt;
An &amp;quot;until&amp;quot; loop is similar to the &amp;quot;while&amp;quot; loop, but this time the loop will repeat until the test in the &amp;quot;expression&amp;quot; box becomes true. Again, this can be tested at the beginning or the end of the loop.&lt;br /&gt;
&lt;br /&gt;
===Loop count===&lt;br /&gt;
This allows a loop to be repeated a set number of times. The number of times to repeat is entered in the &amp;quot;count&amp;quot; box. Note that this value will usually be a constant or a literal value (e.g. &amp;quot;5&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
An internal counter will be set to zero when the loop first begins and will be automatically incremented at the end of each loop iteration. At the beginning of each loop, this internal counter will be checked to see if it is less than the value of the &amp;quot;count&amp;quot;, and if it is not then the loop will be aborted.&lt;br /&gt;
&lt;br /&gt;
This internal counter can be set to an existing variable instead using the '''Count using a variable''' option. This will expose the number of iterations around the loop to the code within the loop start and end icons. This variable will show a value of &amp;quot;0&amp;quot; during the first loop iteration, &amp;quot;1&amp;quot; in the second loop iteration, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
 &lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expression'''&lt;br /&gt;
&lt;br /&gt;
The expression used to determine if the loop should continue or end. This is used by &amp;quot;while&amp;quot; and &amp;quot;until&amp;quot; versions of the loop command.&lt;br /&gt;
&lt;br /&gt;
For a &amp;quot;while&amp;quot; loop, this loops the program while the specified condition is true.&lt;br /&gt;
&lt;br /&gt;
For an &amp;quot;until&amp;quot; loop, this loops the program until the specified condition becomes true.&lt;br /&gt;
&lt;br /&gt;
The expression is tested at the beginning or the end of the loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variables Arrow'''&lt;br /&gt;
&lt;br /&gt;
Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Test the loop at the:'''&lt;br /&gt;
&lt;br /&gt;
Select whether you wish the loop's expression to be tested at the start or at the end of the loop. Testing at the end of the loop means that the code within the loop is guaranteed to execute at least once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Loop count'''&lt;br /&gt;
&lt;br /&gt;
Sets the loop to loop through a set number of iterations. The value should usually be a whole number between 1 and 99999999.&lt;br /&gt;
&lt;br /&gt;
Note that a variable can be used for the &amp;quot;count&amp;quot; rather than a constant value. But be aware because changing the value of this variable within the loop could cause odd behaviour and make your program's execution difficult to predict.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Count using a variable'''&lt;br /&gt;
&lt;br /&gt;
Allows an existing variable to be used as the count variable. When active, this resets the count variable to 0 when the loop first begins and automatically increments the variable at the end of each loop iteration. It is best that the value of this variable should not be altered within the loop by user code, otherwise the loop may behave unexpectedly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Loop+icon&amp;amp;id=local&amp;amp;wiki=Loop_Icon_Properties Loop icon video] to see how this icon is used in a project.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=42208</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=42208"/>
		<updated>2026-06-10T16:22:51Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** About_Flowcode|About Flowcode&lt;br /&gt;
** Flowcode_Embedded|Flowcode Embedded&lt;br /&gt;
** App_Developer|Flowcode App Developer&lt;br /&gt;
** Flowcode_Help_Overview|Using Flowcode&lt;br /&gt;
** Icon_Properties|Command Icons&lt;br /&gt;
** Examples_and_Tutorials|Examples and Tutorials&lt;br /&gt;
** Components|Component Library&lt;br /&gt;
** Flowcode_Debugging|Flowcode Debugging&lt;br /&gt;
** Simulation_Functionality|Simulation Library&lt;br /&gt;
** Component_Creation|Component Creation&lt;br /&gt;
** What's New|What's New&lt;br /&gt;
**Glossary|Glossary&lt;br /&gt;
&lt;br /&gt;
*SEARCH&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Main_Page&amp;diff=42207</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Main_Page&amp;diff=42207"/>
		<updated>2026-06-10T16:11:55Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;border: 1px solid darkgray; float:right; width:300px&amp;quot;&lt;br /&gt;
|+ '''Flowcode'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|[[File:fc-v9-thumb.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;40%&amp;quot;|'''Developer'''&lt;br /&gt;
|[http://matrixtsl.com Matrix TSL]&lt;br /&gt;
|-&lt;br /&gt;
|'''Website'''&lt;br /&gt;
|[http://www.flowcode.co.uk www.flowcode.co.uk]&lt;br /&gt;
|-&lt;br /&gt;
|'''Current version'''&lt;br /&gt;
|v11.0.1.14&lt;br /&gt;
|-&lt;br /&gt;
|'''Initial v11 release'''&lt;br /&gt;
|17/10/25&lt;br /&gt;
|-&lt;br /&gt;
|'''Previous versions'''&lt;br /&gt;
|&lt;br /&gt;
* v10 (2023)&lt;br /&gt;
* v9  (2020)&lt;br /&gt;
* v8  (2018)&lt;br /&gt;
* v7  (2016)&lt;br /&gt;
* v6  (2013)&lt;br /&gt;
* v5  (2011)&lt;br /&gt;
* v4  (2009)&lt;br /&gt;
* v3  (2006)&lt;br /&gt;
* v2  (2003)&lt;br /&gt;
* v1  (2001)&lt;br /&gt;
|-&lt;br /&gt;
|'''Operating system'''&lt;br /&gt;
|[http://en.wikipedia.org/wiki/Microsoft_Windows Windows 10,11]&lt;br /&gt;
|-&lt;br /&gt;
|'''Platform'''&lt;br /&gt;
| [http://en.wikipedia.org/wiki/IA-32 IA-32] and [http://en.wikipedia.org/wiki/X86-64 x86-64]&lt;br /&gt;
|-&lt;br /&gt;
|'''Available in'''&lt;br /&gt;
|English, French, German, Spanish, Italian, Chinese (Traditional)&lt;br /&gt;
|-&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|Advanced graphical programming software&lt;br /&gt;
|-&lt;br /&gt;
|'''License'''&lt;br /&gt;
|[http://en.wikipedia.org/wiki/Proprietary_software Proprietary]&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[File:fc-v9-mainlogo-01.png|center]]&lt;br /&gt;
&lt;br /&gt;
[[File:Fc10 what is flowcode1.jpg]] &amp;amp;ensp;&amp;amp;ensp;   [[File:Web Barometer Web App.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/41232|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/24519|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23678|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[About_Flowcode|About Flowcode]]==&lt;br /&gt;
&lt;br /&gt;
Flowcode is a graphical programming Integrated Development Environment (IDE) that allows you to develop highly functional electrical,&amp;lt;br&amp;gt; &lt;br /&gt;
electronic and electromechanical systems for microcontroller based systems and for Windows PCs and tablets.&lt;br /&gt;
&lt;br /&gt;
==[[Flowcode Embedded]]==&lt;br /&gt;
Flowcode Embedded allows you to easily create highly functional programs for popular microcontrollers.&lt;br /&gt;
&lt;br /&gt;
==[[App Developer|Flowcode App Developer]]== &lt;br /&gt;
Flowcode App Developer allows you to create great Human Machine Interfaces for PCs, tablets and mobile phones using low cost&amp;lt;br&amp;gt;&lt;br /&gt;
input output boards - locally (USB/Buetooth) or remotely (Wi-Fi, LAN, Internet) using Windows or web browsers.&lt;br /&gt;
&lt;br /&gt;
==[[Flowcode Help Overview|Using Flowcode]]==&lt;br /&gt;
Detailed glossary style overview of the aspects of the Flowcode environment broken down into relevant sections to aid in finding the knowledge&amp;lt;br&amp;gt;you require to use Flowcode effectively.&lt;br /&gt;
&lt;br /&gt;
==[[Icon Properties|Command Icons]]==&lt;br /&gt;
A list of the command icons used in Flowcode projects.&lt;br /&gt;
&lt;br /&gt;
==[[Exercises|Examples and Tutorials]]==&lt;br /&gt;
This page contains structured exercises used throughout Flowcode Help section, and further exercises&amp;lt;br&amp;gt;&lt;br /&gt;
which are not featured in the Flowcode Help structure these additional exercises range from expanded exercises&amp;lt;br&amp;gt; &lt;br /&gt;
on camera control and panel navigation to creating, testing, exporting and importing components.&lt;br /&gt;
&lt;br /&gt;
==[[Components|Component Library]]==&lt;br /&gt;
List of components which provide detailed information about individual components as well as examples of them in use.&amp;lt;br&amp;gt;&lt;br /&gt;
The information provided includes component and simulation macro references as well as property references and component functionality.&lt;br /&gt;
&lt;br /&gt;
==[[Flowcode_Debugging|Flowcode Debugging]]==&lt;br /&gt;
Learn how Flowcode can help you debug your programs with a variety of tools and technologies designed to streamline the debugging process.&lt;br /&gt;
&lt;br /&gt;
==[[Simulation_Functionality|Simulation Library]]==&lt;br /&gt;
Structured overview of the library of Simulation Event macros and Simulation Functions.&amp;lt;br&amp;gt; &lt;br /&gt;
The information provided includes simulation macro references as well as event triggers and functionality.&lt;br /&gt;
&lt;br /&gt;
==[[Component_Creation|Component Creation]]==&lt;br /&gt;
Creating your own components in Flowcode gives you massive amounts of flexibility in your projects,&amp;lt;br&amp;gt;this section covers how to create your own components and has some working examples to help.&lt;br /&gt;
&lt;br /&gt;
==[[What's New|What's New]]==&lt;br /&gt;
This page contains all the new exciting features introduced in this latest version of Flowcode.&lt;br /&gt;
&lt;br /&gt;
==[[Glossary|Glossary]]==&lt;br /&gt;
This glossary helps general programmers understand Flowcode-specific terms and concepts.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Interrupt_Icon_Properties&amp;diff=42206</id>
		<title>Interrupt Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Interrupt_Icon_Properties&amp;diff=42206"/>
		<updated>2026-06-10T15:59:27Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IconInterrupt.png|border]]&lt;br /&gt;
&lt;br /&gt;
Interrupts are called to react to an event such as an external stimulus, or a timing event.&lt;br /&gt;
&lt;br /&gt;
When an interrupt is activated it executes a Macro. The macro to be called is specified by the user when creating the interrupt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconInterrupt.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Interrupt_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Interrupt_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The number and types of interrupts available are dependent on the device used. Some devices have a number of interrupts whereas other devices may only have a few.&lt;br /&gt;
&lt;br /&gt;
The exact details, properties and operation of an interrupt vary from interrupt to interrupt. Users will need to refer to the interrupt dialogs for exact details of any particular Interrupt. However there are four main types that Flowcode uses:&lt;br /&gt;
&lt;br /&gt;
*TMR&amp;lt;X&amp;gt; - overflow - reacts to the clocked overflow event from onboard timer X.&lt;br /&gt;
*INT  - reacts to an input change on a specific external interrupt pin.&lt;br /&gt;
*IOC (Interrupt On Change) - reacts to any change on a specified collection of inputs&lt;br /&gt;
*Custom - defines a custom interrupt procedure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Interrupts|Click here for some example programs using Interrupts.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other interrupts may be available depending on the target chip, such as the &amp;quot;Receive&amp;quot; interrupt for chips with a UART available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details of the various interrupts can be found below, along with example of available properties. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating an interrupt==&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Interrupt_Icon_Properties_01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add an Interrupt icon to the program.&lt;br /&gt;
&lt;br /&gt;
Select Enable Interrupt or Disable Interrupt to turn the interrupt on or off respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Select the desired interrupt from the drop down list of interrupts available from that particular device.&lt;br /&gt;
&lt;br /&gt;
Set the properties for that event.&lt;br /&gt;
&lt;br /&gt;
Set the macro to call, or [[Creating a New Macro|create a new macro]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Interrupt properties==&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Interrupt_Icon_Properties_TMR0_Properties.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TMR Timer overflow Interrupt==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TMR0, for example, interrupts when the timer overflows. A count is made internally based on clock inputs and the pre-scaler property (see below for details). &lt;br /&gt;
&lt;br /&gt;
When the count reaches a certain point it overflows back to 0 triggering an Overflow event. This event can then be used to call a macro. Timer overflow interrupts are called repeatedly at the Interrupt time interval making them very useful for time based events, or for frequently needed features such as display updates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Check that the clock speed setting is correct (via the [[Project Options#General Options|Project Options]]) as clock speed affects timer interrupt frequency settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The exact properties available for a timer interrupt are device and timer dependent. As such the timer overflow dialogs may vary from device to device and from timer to timer. The example below is intended to give an idea of the kind of properties available for a Timer overflow interrupt. &lt;br /&gt;
&lt;br /&gt;
Specific details can be found in the Interrupt dialogs, and from Device datasheets.&lt;br /&gt;
&lt;br /&gt;
TMR1 on the 16F877A, for instance, has a smaller set of pre-scaler options than the TMR0 interrupt, and also no source edge settings available unlike the TMR0 interrupt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TMR2 interrupt has an additional setting called the rollover value. This changes the rollover value in the timer register that is responsible for triggering the interrupt which allows for much better control over interrupt frequency. This advanced timeout functionality can be replicated with the other timers by writing to the timer count registers directly using C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Certain Flowcode components such as the PWM and Servo consume some of the timer peripherals. For details on the hardware consumed by a component please refer to the specific [[Component Help Files|component help file]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Example of TMR0 properties:====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Clock source select'''&lt;br /&gt;
&lt;br /&gt;
Select the clock source signal to use for the overflow timing.&lt;br /&gt;
&lt;br /&gt;
Options available are device dependent.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
*Internal clock (CLK0)&lt;br /&gt;
&lt;br /&gt;
*Transition on T0CKI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Source edge select'''&lt;br /&gt;
&lt;br /&gt;
Select the transition edge used for clock signal timing.&lt;br /&gt;
&lt;br /&gt;
*High-to-low transition on T0CKI&lt;br /&gt;
&lt;br /&gt;
*Low-to-high transition on T0CKI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prescaler rate'''&lt;br /&gt;
&lt;br /&gt;
Select a pre-scaler rate for the clock signal.&lt;br /&gt;
&lt;br /&gt;
A prescaler divides down the clock signals used for the timer giving reduced overflow rates.&lt;br /&gt;
&lt;br /&gt;
The rate can be set to a number of possible values. The exact values are chip dependent.&lt;br /&gt;
&lt;br /&gt;
E.g. for the PIC16F877A values area a number of values are available ranging from 1:1 to 1:256.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The prescaler value is used in conjunction with the clock speed to set an overflow frequency.&lt;br /&gt;
&lt;br /&gt;
E.g.&lt;br /&gt;
*Clock speed:- 19660800&lt;br /&gt;
*Prescale value:- 1:256&lt;br /&gt;
*Interrupt frequency 75Hz&lt;br /&gt;
*Clock speed:- 19660800&lt;br /&gt;
*Prescale value:- 1:64&lt;br /&gt;
*Interrupt frequency 300Hz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''INT'''&lt;br /&gt;
&lt;br /&gt;
Triggered when an external stimulus is used on an external interrupt (INT) pin (e.g. a Button press)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The interrupt can be set to trigger on the:&lt;br /&gt;
&lt;br /&gt;
Falling edge of INT&lt;br /&gt;
&lt;br /&gt;
Rising edge of INT&lt;br /&gt;
&lt;br /&gt;
INT interrupts can be useful in setting interrupts to occur on signal on or signal off events, such as an emergency shut off switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Port change'''&lt;br /&gt;
&lt;br /&gt;
Interrupts when an input signal occurs on any of a selected group of port inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Port change interrupt may have properties allowing the interrupt I/O pins to be enabled or disabled as interrupt pins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Custom interrupts==&lt;br /&gt;
&lt;br /&gt;
The Custom option allows the creation of custom interrupt code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many of the chips available in Flowcode support hardware driven interrupts that are not provided in the standard set of Flowcode interrupts. To allow users to add their own interrupts to suit their application Flowcode has the option to add your own custom interrupt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Interrupt Property page'''&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Interrupt_Icon_Properties_Custom.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Custom Interrupt property page'''&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Custom_Interrupt_Properties.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A range of different custom interrupts are available for each chip:&lt;br /&gt;
&lt;br /&gt;
* [[Custom Interrupts - PICmicro|PICmicro Custom Interrupts]]&lt;br /&gt;
* [[Custom Interrupts - AVR|AVR Custom Interrupts]]&lt;br /&gt;
* [[Custom Interrupts - ARM|ARM Custom Interrupts]]&lt;br /&gt;
* [[Custom Interrupts - dsPIC/PIC24|dsPIC/PIC24 Custom Interrupts]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
See the [http://www.youtube.com/watch?v=2a1UUrfxGFE&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Adding an Interrupt] video for an introduction of interrupts, you can learn how to use interrupts as well as what they can be used for, this video also provides a brief overview of different types of interrupts and mentions that different interrupts are available on different devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{#ev:youtube|2a1UUrfxGFE|640}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Simulation_Macro_Icon_Properties&amp;diff=42205</id>
		<title>Simulation Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Simulation_Macro_Icon_Properties&amp;diff=42205"/>
		<updated>2026-06-10T15:55:22Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IconBuiltinFunction.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconBuiltinFunction.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Simulation_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Simulation_Macro_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As well as calling simulation-only [[Component Macro Icon Properties|Component macros]], Simulation Macros can also call [[API Overview|Simulation Functions]] which provide enhanced software simulation although do not download code or compile to hardware.&lt;br /&gt;
&lt;br /&gt;
These simulation functions are used to produce advanced systems on software to accurately replicate and simulate existing systems and even demonstrate new concepts by creating simulation-only programs to test the capabilities of potential systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a simulation macro'''&lt;br /&gt;
&lt;br /&gt;
Select the component and then [[Selecting Component Macros|select the Simulation Macro icon.]]&lt;br /&gt;
&lt;br /&gt;
Select the component name from the list of attached components to expand the list group to reveal the available component macros to choose from.&lt;br /&gt;
&lt;br /&gt;
Select the macro and add in any parameters required, and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
Select the Simulation Macro icon and click the 'Functions' section.&lt;br /&gt;
&lt;br /&gt;
Select filter through the categories and search through the list of all available functions.&lt;br /&gt;
&lt;br /&gt;
Select the macro and fill in the parameters required and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. They can be numeric values or existing variables. Clicking on the down arrow [[File:Btn_Arrow.png]] brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of the required type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of the specified type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other macro types==&lt;br /&gt;
Macros are split into (user) Macros, Component macros and Built-in Functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Component_Macro_Icon_Properties|Component macros]] are pre-defined macros supplied with the components. For example LCD macros are used to display numbers and characters on the LCD display.&lt;br /&gt;
&lt;br /&gt;
Component macros are only available for use with that particular component. &lt;br /&gt;
&lt;br /&gt;
Component macros have hatched outer bands on the icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Built-in Functions are simulation-only macros for advanced Flowcode use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Macro_Icon_Properties|User Macros]] are those designed and created by the user.&lt;br /&gt;
&lt;br /&gt;
Macros can be [[Exporting a Macro|exported]] and [[Importing a Macro|imported]] allowing users to build up macro libraries of common or important tasks.&lt;br /&gt;
&lt;br /&gt;
On Macros the outer bands are clear and not hatched.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
Watch the [http://www.youtube.com/watch?v=LSz0p0NqMBw&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Download and Simulation code] video for a demonstration, example and explanation of downloadable and simulation only code and the difference between the two.&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=B_tOeSTeAbw&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Simulation Icon] video for information on the simulation functions available, the video highlights how they are organised and presented and how they can be used.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{#ev:youtube|LSz0p0NqMBw}}&lt;br /&gt;
| width=&amp;quot;100px&amp;quot; |&lt;br /&gt;
|{{#ev:youtube|B_tOeSTeAbw}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component_Macro_Icon_Properties&amp;diff=42204</id>
		<title>Component Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component_Macro_Icon_Properties&amp;diff=42204"/>
		<updated>2026-06-10T15:49:42Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconComponentMacro.png|border]]&lt;br /&gt;
&lt;br /&gt;
Component macros are pre-defined macros supplied with the components. For example LCD macros are used to display numbers and characters on the LCD display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconComponentMacro.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Component_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Component_Macro_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a component macro'''&lt;br /&gt;
&lt;br /&gt;
Select the component and then [[Selecting Component Macros|select the Component Macro icon.]]&lt;br /&gt;
&lt;br /&gt;
Select the component from the list of attached components to expand the list group to reveal the available component macros to choose from.&lt;br /&gt;
&lt;br /&gt;
Select the macro and add in any parameters required, and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. They can be numeric values, strings or existing variables. Clicking on the down arrow [[File:Btn_Arrow.png]] brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of the required type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
Expressions can be used as parameters for example (5 + a) where a is a numeric variable. Expressions cannot contain string functions or other functions requiring the use of arrays.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of the specified type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other macro types==&lt;br /&gt;
&lt;br /&gt;
[[Creating a New Macro|User macros]] are those designed and created by the user.&lt;br /&gt;
&lt;br /&gt;
Macros can be [[Exporting a Macro|exported]] and [[Importing a Macro|imported]] allowing users to build up macro libraries of common or important tasks.&lt;br /&gt;
&lt;br /&gt;
On Macros the outer bands are clear and not hatched.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Simulation Macro Icon Properties|Simulation macros]] are simulation-only Component macros - they provide a similar purpose, although they can only be used in simulation and cannot be run on hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=Xh68YXcTdoU&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Component Macro] video to learn how to call component macros, this video features both the [[Component: ID 7aad74d6 b24e 4dab 91eb 5d72a973f12d|ADC]] Dial and [[Component: ID 0953aac0 9c23 4c2f 9843 88954a4191ea|LCD]] EB005 components and their associated Component Macros.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{#ev:youtube|Xh68YXcTdoU|640}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Macro_Icon_Properties&amp;diff=42203</id>
		<title>Macro Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Macro_Icon_Properties&amp;diff=42203"/>
		<updated>2026-06-10T15:46:35Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconUserMacro.png|border]]&lt;br /&gt;
&lt;br /&gt;
Macros are sections of code that can be used and reused in projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconUserMacro.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Macro_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Macro_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Macros'''&lt;br /&gt;
&lt;br /&gt;
Macros (explained here) are those designed and created by the user.&lt;br /&gt;
&lt;br /&gt;
Macros can be [[Exporting a Macro|exported]] and [[Importing a Macro|imported]] allowing users to build up macro libraries of common or important tasks.&lt;br /&gt;
&lt;br /&gt;
On Macros the outer bands are clear and not hatched.&lt;br /&gt;
&lt;br /&gt;
The macro properties dialog allows users to select and create macros.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Adding a Macro'''&lt;br /&gt;
&lt;br /&gt;
Select the Macro to use from the list, or click on Create new macro to begin [[Creating a New Macro|creating a new macro]] to add to the list.&lt;br /&gt;
&lt;br /&gt;
Add in any parameters required, and select a return value if required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the OK button completes the process and closes the dialog.&lt;br /&gt;
&lt;br /&gt;
Clicking on the OK and edit button completes the process, closes the dialog and opens the selected macro for editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
If the device macro requires any parameters then these can be entered in this field. They can be numeric values or existing variables. Clicking on the down arrow allows you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
The parameter details will list the parameter type. Parameters must be of the required type to be accepted.&lt;br /&gt;
&lt;br /&gt;
Note that a full set of parameters must be provided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
If the device macro returns a value then you can assign that value to an existing variable for use later in the flowchart. If the function returns a value but you do not wish to retrieve it then leave this field empty.&lt;br /&gt;
&lt;br /&gt;
The [[Variable Types|variable type]] of the return value will be listed. A variable of the specified type must be used to accept the return value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Create New Macro button'''&lt;br /&gt;
&lt;br /&gt;
Select this button to [[Creating a New Macro|create a new macro]] within the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OK &amp;amp; Edit Macro button'''&lt;br /&gt;
&lt;br /&gt;
Clicking this button will open up the chosen macro to allow it to be viewed or edited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other macro types==&lt;br /&gt;
[[Component Macro Icon Properties|Component macros]] are pre-defined macros supplied with the components. For example LCD macros are used to display numbers and characters on the LCD display.&lt;br /&gt;
&lt;br /&gt;
Component macros are only available for use with that particular component. &lt;br /&gt;
&lt;br /&gt;
Component macros have hatched outer bands on the icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Simulation Macro Icon Properties|Simulation macros]] are simulation-only Component macros - they provide a similar purpose, although they can only be used in simulation and cannot be run on hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=SlWkK1mwyJQ&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Macros] video to learn how to call a macro from a selection of existing macros and input a macro parameter using the Macro icon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{{#ev:youtube|SlWkK1mwyJQ|640}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Switch_Icon_Properties&amp;diff=42202</id>
		<title>Switch Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Switch_Icon_Properties&amp;diff=42202"/>
		<updated>2026-06-10T15:38:43Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconSwitch.png|border]]&lt;br /&gt;
&lt;br /&gt;
Switch icons are similar to [[Decision Icon Properties|decision icons]] only instead of two possible outcome branches (Yes, No) there are up to eleven. &lt;br /&gt;
&lt;br /&gt;
They are particularly useful for tailoring your program to react in different ways based on an input variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconSwitch.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Switch_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Switch_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Switch'''&lt;br /&gt;
&lt;br /&gt;
This is the input parameter variable that is used to determine the branch of the switch that will be executed at run time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variables Arrow'''&lt;br /&gt;
&lt;br /&gt;
Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Case options'''&lt;br /&gt;
&lt;br /&gt;
Up to ten branches can be defined for the switch icon. The switch branches are enabled by ticking the tick boxes next to the values. &lt;br /&gt;
&lt;br /&gt;
The value in the case box is the value that is used to trigger that particular branch of the switch icon. If none of the values match the input parameter variable then the default branch of the switch case is used.&lt;br /&gt;
&lt;br /&gt;
Case values need to be contestants/literals i.e values that cannot be modified&lt;br /&gt;
Examples include '''5 'H' 0x23'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.youtube.com/watch?v=Op-l1YntjqY&amp;amp;list=PLQDWBb7bxuCgg6aJgPJcfXBMzZdLILceQ Switch] video to learn how to use the Switch icon to create various paths with different outcomes which are executed depending on the value of a variable.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Decision_Icon_Properties&amp;diff=42201</id>
		<title>Decision Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Decision_Icon_Properties&amp;diff=42201"/>
		<updated>2026-06-10T15:20:14Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconDecision.png|border]]&lt;br /&gt;
&lt;br /&gt;
Decision icons allow you to test a condition and redirect the flow according to the outcome.&lt;br /&gt;
Icons can be placed in either branch from the decision icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/13001|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/13001|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/13001|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconDecision.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Decision_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Decision_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Condition'''&lt;br /&gt;
&lt;br /&gt;
The decision box tests this condition to see which branch to continue down. If the condition evaluates to 0 or false then the 'No' branch is chosen. If the condition evaluates to a non zero number or true then the 'Yes' branch is chosen. Conditions can be made up from numbers, variables and operators:&lt;br /&gt;
&lt;br /&gt;
See [[Calculation Icon Properties]] for a list of valid operators.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Numeric values can be in decimal (unmarked) or in HEX format (preceded by 0x) or in Binary format (preceded by 0b) e.g. 255 or 0xFF or 0b01010101.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assuming that the variables have been previously defined, all the following are valid conditions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DELAY = DELAY + 1&lt;br /&gt;
&lt;br /&gt;
DELAY = (MYVAR + 3) * 3&lt;br /&gt;
&lt;br /&gt;
NEXTBIT = LASTBIT &amp;gt;&amp;gt; 2 &amp;amp; MASK&lt;br /&gt;
&lt;br /&gt;
AANDB = PORT_A AND PORT_B&lt;br /&gt;
&lt;br /&gt;
INVX = NOT X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To test for two or more conditions, write tests for the individual conditions and combine them with logical operators. &lt;br /&gt;
&lt;br /&gt;
When both conditions must be true: condition1 &amp;amp;&amp;amp; condition2&lt;br /&gt;
&lt;br /&gt;
When one condition being true suffices: condition1 || condition2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assuming that the variables have been previously defined, all the following are valid conditions.&lt;br /&gt;
&lt;br /&gt;
(DELAY = 1) &amp;amp;&amp;amp; (X = 0)&lt;br /&gt;
&lt;br /&gt;
(DELAY = 1) || (DELAY = 4)&lt;br /&gt;
&lt;br /&gt;
(DELAY = 1) || ( (DELAY = 3) &amp;amp;&amp;amp; (X = 0) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variables Arrow'''&lt;br /&gt;
&lt;br /&gt;
Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Swap Yes and No'''&lt;br /&gt;
&lt;br /&gt;
Normally the 'Yes' path of execution goes off to the right of the decision icon and the 'No' path carries on down the flowchart. Select this option to swap the two branches around.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Boolean values'''&lt;br /&gt;
&lt;br /&gt;
Flowcode treats zero as false and any non-zero value as true.&lt;br /&gt;
&lt;br /&gt;
This allows the use of variables in a true or false context.&lt;br /&gt;
&lt;br /&gt;
For example 'If TIMEUP' would execute the 'Yes' path if TIMEUP was non-zero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Decision+icon&amp;amp;id=local&amp;amp;wiki=Decision_Icon_Properties Decision icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Delay_Icon_Properties&amp;diff=42200</id>
		<title>Delay Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Delay_Icon_Properties&amp;diff=42200"/>
		<updated>2026-06-10T15:16:14Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconDelay.png|border]]&lt;br /&gt;
&lt;br /&gt;
Delay icons are used to slow down program execution and for program timing.&lt;br /&gt;
&lt;br /&gt;
They are particularly useful in slowing program execution speed down to allow for human interaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10817|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10817|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10817|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconDelay.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Delay_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Delay_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Delay value or variable'''&lt;br /&gt;
&lt;br /&gt;
This is the length of the delay that you wish to create. Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microseconds/Milliseconds/Seconds options'''&lt;br /&gt;
&lt;br /&gt;
Delays can be specified in units of microseconds, milliseconds or seconds. When simulating delays in seconds, a dialog box will appear showing how much of the delay has elapsed. A cancel button on the dialog allows the execution of the flowchart to continue before the entire delay has passed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow Flowcode to correctly program your chip with the correct delay setting you will need to [[Changing the Speed of a Simulation|select a clock speed]] for your chip. The clock speed setting must correctly reflect the [[Configuring the Chip|settings and configuration]] of the hardware used. The dialog box for this can be seen by selecting Build &amp;gt; Project Options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Delay+icon&amp;amp;id=local&amp;amp;wiki=Delay_Icon_Properties Delay icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Output_Icon_Properties&amp;diff=42199</id>
		<title>Output Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Output_Icon_Properties&amp;diff=42199"/>
		<updated>2026-06-10T15:12:55Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconOutput.png|border]]&lt;br /&gt;
&lt;br /&gt;
Output icon send the value or variable to the specified port and/or bits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23136|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/23136|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10816|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconOutput.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Output_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Output_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variable or value'''&lt;br /&gt;
&lt;br /&gt;
Select the name of the variable or a numeric value that you wish to output to the port. Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
Numeric values can be in decimal (unmarked), HEX (preceded by 0x) or binary format (preceded by 0b). e.g. 255, 0xFF, 0b11111111. Users can also use expressions inside the variable or value box, eg &amp;quot;x + 100&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Port'''&lt;br /&gt;
&lt;br /&gt;
Select from a list of the ports available on the target microcontroller&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Single Bit'''&lt;br /&gt;
&lt;br /&gt;
Use this option to write to a single bit of the port.&lt;br /&gt;
&lt;br /&gt;
If a true (non zero) value is sent to the bit the bit is set (turned on), otherwise the bit is cleared (turned off).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Entire Port'''&lt;br /&gt;
&lt;br /&gt;
Use this option to write the variable or value to the entire port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Use Masking'''&lt;br /&gt;
&lt;br /&gt;
When [[Using Masks|masking]] is used, it is possible to write to only certain bits of a port. This is useful when some bits of the port are configured as inputs and you wish to leave these bits unchanged.&lt;br /&gt;
&lt;br /&gt;
With [[Using Masks|masking]] only the selected bits receive their value, all non selected bits are not affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Output+icon&amp;amp;id=local&amp;amp;wiki=Output_Icon_Properties Output icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Input_Icon_Properties&amp;diff=42198</id>
		<title>Input Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Input_Icon_Properties&amp;diff=42198"/>
		<updated>2026-06-10T15:07:44Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconInput.png|border]]&lt;br /&gt;
&lt;br /&gt;
Input icons check the specified port and/or bits for their value and then place the resulting value into the specified variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/29624|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10815|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10815|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconInput.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Input_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Input_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name''' &lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Port'''&lt;br /&gt;
&lt;br /&gt;
Select from a list of the ports available on the target microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variable'''&lt;br /&gt;
&lt;br /&gt;
Select the name of the variable that you wish to input the port state into. Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Advanced==&lt;br /&gt;
&lt;br /&gt;
By selecting the 'Show advanced options' you can individual pins.&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Input_Icon_Properties2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Single Bit'''&lt;br /&gt;
&lt;br /&gt;
Use this option to read the state of a single bit of the port.&lt;br /&gt;
&lt;br /&gt;
When the state of a single bit is true the value of that bit is passed as its value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Entire Port'''&lt;br /&gt;
&lt;br /&gt;
Use this option to read the value of the entire port into the variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Use Masking'''&lt;br /&gt;
&lt;br /&gt;
When [[Using Masks|masking]] is used, it is possible to read only certain bits into a variable. This is useful when some bits of the port are configured as outputs.&lt;br /&gt;
&lt;br /&gt;
When a [[Using Masks|mask]] is used only the values of the selected bits are read.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Use chip references'''&lt;br /&gt;
&lt;br /&gt;
When using target devices that have a mixture of a letter and a number or just a number, for example, on Arduino Uno - A2&lt;br /&gt;
&lt;br /&gt;
If 'Use chip references' is unticked, you can select A2.&lt;br /&gt;
&lt;br /&gt;
If 'Use chip references' is ticked, it will be PORT C2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Input+icon&amp;amp;id=local&amp;amp;wiki=Input_Icon_Properties Input icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Jump_Icon_Properties&amp;diff=42197</id>
		<title>Jump Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Jump_Icon_Properties&amp;diff=42197"/>
		<updated>2026-06-10T15:06:18Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconJump.png|border|link=]]&lt;br /&gt;
&lt;br /&gt;
Jump icons are added to a Flowcode project macro to allow program execution to unconditionally jump to another location in the macro.&lt;br /&gt;
&lt;br /&gt;
In earlier versions of Flowcode, these were called &amp;quot;Connection Points&amp;quot; and the only type of jump supported was the &amp;quot;Goto&amp;quot; jump. Since v11.0.2, Flowcode now supports other types of unconditional jump: &amp;quot;Break&amp;quot;, &amp;quot;Continue&amp;quot; and &amp;quot;Return&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that in previous versions of Flowcode, the Label/Jump icons were called &amp;quot;Connection Points&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconJump.png|border|link=]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Goto_Connection_Point_Flowchart_Icon.png]] &lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Jump.png|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Goto / Break / Continue / Return'''&lt;br /&gt;
&lt;br /&gt;
The type of jump. More information on each jump type is below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jump to label'''&lt;br /&gt;
&lt;br /&gt;
The label to jump to if using the &amp;quot;Goto&amp;quot; type of jump.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jump Types==&lt;br /&gt;
&lt;br /&gt;
===Goto===&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Goto&amp;quot; jump is used to link program flow from one part of a macro to another. To achieve this, the macro must already have a [[Label_Icon_Properties|Label]] command icon. When program execution reaches the Jump command, it will unconditionally jump to the corresponding Label command that is set in the &amp;quot;Jump to label&amp;quot; dropdown.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Using Jump::Goto commands is generally seen as bad programming practice and they should be avoided where possible. It makes projects more difficult to debug, and most well written programs will usually not need to use this icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Break===&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Break&amp;quot; jump prematurely exits a [[Loop_Icon_Properties|Loop]] or [[Switch_Icon_Properties|Switch]] command. Program execution will continue with the command immediately after the end of the Loop or Switch that contains the &amp;quot;Break&amp;quot; jump command.&lt;br /&gt;
&lt;br /&gt;
It must occur within a Loop or Switch command, otherwise an error will occur. If it is contained within multiple 'levels' of Loop or Switch commands, it will jump out of the inner-most command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Continue===&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Continue&amp;quot; jump prematurely exits the current iteration of a [[Loop_Icon_Properties|Loop]].  If the Loop's test remains true, the next iteration of the Loop will be performed.  Otherwise, program execution will exit the Loop and continue with the command directly following the end of the Loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Return===&lt;br /&gt;
&lt;br /&gt;
A 'Return' jump command can be located anywhere in a macro. When the program executes this command, it will immediately exit the current macro and will not execute any other code in the macro.  If this macro returns a value, the current value of the return variable is returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Jump+icon&amp;amp;id=local&amp;amp;wiki=Jump_Icon_Properties Jump icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Label_Icon_Properties&amp;diff=42196</id>
		<title>Label Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Label_Icon_Properties&amp;diff=42196"/>
		<updated>2026-06-10T15:04:54Z</updated>

		<summary type="html">&lt;p&gt;SteveT: /* Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconLabel.png|border]]&lt;br /&gt;
&lt;br /&gt;
Label icons can be added anywhere in a Flowcode project and provide a way of identifying a particular location within the code.&lt;br /&gt;
&lt;br /&gt;
Their main use is to link program flow from one part of a macro to another. This is achieved by using the [[Jump_Icon_Properties|Jump::Goto]] command icon, which performs an unconditional jump from the Jump command to an associates Label command.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Using Jump::Goto commands is generally seen as bad programming practice and they should be avoided where possible. It makes projects more difficult to debug, and most well written programs will usually not need to use this icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that in previous versions of Flowcode, the Label/Jump icons were called &amp;quot;Connection Points&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
When the program execution reaches the jump point, it jumps to the matching label and then continues execution. &lt;br /&gt;
&lt;br /&gt;
Labels and Jump::Goto commands are used in pairs, part one is the Label icon - the point in the flowchart to jump to. Part two is the Jump::Goto icon - the point in the flowchart to jump from. Both parts share a connection letter - in this case 'A'. Several jump points can reference the same label.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Part one: the label icon ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconLabel.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Connection_Point_Flowchart_Icon.png]] &lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Label.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Label'''&lt;br /&gt;
&lt;br /&gt;
The text that will be displayed on the connection point allowing for meaningful labels to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Part two: the jump icon ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconJump.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Goto_Connection_Point_Flowchart_Icon.png]] &lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Jump.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jump to Connection Point'''&lt;br /&gt;
&lt;br /&gt;
Select the connection point definition that you wish to jump to. This option is not available if the icon is the definition of the connection point rather than a jump.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
[[File:JumpToLabelExample.png|border]]&lt;br /&gt;
&lt;br /&gt;
This simple example shows an infinite loop.&lt;br /&gt;
&lt;br /&gt;
When the program execution reaches the Jump command, it will unconditionally jump to the &amp;quot;My Label&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
Any command icons below the Jump icon will not be executed, unless there is another jump to those locations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Label+and+Jump-Goto+icons&amp;amp;id=local&amp;amp;wiki=Label_Icon_Properties Label and Jump::Goto video] to see how Labels and Jumps can be used in your Flowcode projects.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Label_Icon_Properties&amp;diff=42195</id>
		<title>Label Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Label_Icon_Properties&amp;diff=42195"/>
		<updated>2026-06-10T15:03:43Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconLabel.png|border]]&lt;br /&gt;
&lt;br /&gt;
Label icons can be added anywhere in a Flowcode project and provide a way of identifying a particular location within the code.&lt;br /&gt;
&lt;br /&gt;
Their main use is to link program flow from one part of a macro to another. This is achieved by using the [[Jump_Icon_Properties|Jump::Goto]] command icon, which performs an unconditional jump from the Jump command to an associates Label command.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Using Jump::Goto commands is generally seen as bad programming practice and they should be avoided where possible. It makes projects more difficult to debug, and most well written programs will usually not need to use this icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10814|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that in previous versions of Flowcode, the Label/Jump icons were called &amp;quot;Connection Points&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
When the program execution reaches the jump point, it jumps to the matching label and then continues execution. &lt;br /&gt;
&lt;br /&gt;
Labels and Jump::Goto commands are used in pairs, part one is the Label icon - the point in the flowchart to jump to. Part two is the Jump::Goto icon - the point in the flowchart to jump from. Both parts share a connection letter - in this case 'A'. Several jump points can reference the same label.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Part one: the label icon ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconLabel.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Label.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Label'''&lt;br /&gt;
&lt;br /&gt;
The text that will be displayed on the connection point allowing for meaningful labels to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Part two: the jump icon ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconJump.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Jump.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jump to Connection Point'''&lt;br /&gt;
&lt;br /&gt;
Select the connection point definition that you wish to jump to. This option is not available if the icon is the definition of the connection point rather than a jump.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
[[File:JumpToLabelExample.png|border]]&lt;br /&gt;
&lt;br /&gt;
This simple example shows an infinite loop.&lt;br /&gt;
&lt;br /&gt;
When the program execution reaches the Jump command, it will unconditionally jump to the &amp;quot;My Label&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
Any command icons below the Jump icon will not be executed, unless there is another jump to those locations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Label+and+Jump-Goto+icons&amp;amp;id=local&amp;amp;wiki=Label_Icon_Properties Label and Jump::Goto video] to see how Labels and Jumps can be used in your Flowcode projects.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Calculation_Icon_Properties&amp;diff=42194</id>
		<title>Calculation Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Calculation_Icon_Properties&amp;diff=42194"/>
		<updated>2026-06-10T15:02:17Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconCalculation.png|border]]&lt;br /&gt;
&lt;br /&gt;
Calculation icons allow the modification of variables. They can be used to check inputs and to create outputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/40298|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15396|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15396|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconCalculation.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Calculation_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Calculation_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Display Name===&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Calculations===&lt;br /&gt;
&lt;br /&gt;
One or more lines of calculations can be entered into this box.&lt;br /&gt;
&lt;br /&gt;
All calculations must consist of the name of an existing variable, and equals sign and an expression made up from numbers, variables and the following operators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! '''Operator''' !! '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|   ( ) || Parentheses&lt;br /&gt;
|-&lt;br /&gt;
|   =    == || Equal to&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;&amp;gt;    != || Not equal to&lt;br /&gt;
|-&lt;br /&gt;
| +   -   *   / || Addition, Subtraction, Multiplication, Division&lt;br /&gt;
|-&lt;br /&gt;
|MOD   % || Modulus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;    &amp;lt;= || Less than, Less than or equal to&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;    &amp;gt;= || Greater than, Greater than or equal to&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;    &amp;lt;&amp;lt; || Shift right, Shift left&lt;br /&gt;
|-&lt;br /&gt;
| NOT    ~ || Bitwise NOT&lt;br /&gt;
|-&lt;br /&gt;
| AND    &amp;amp; || Bitwise AND&lt;br /&gt;
|-&lt;br /&gt;
| OR &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; || Bitwise OR&lt;br /&gt;
|-&lt;br /&gt;
| XOR    ^ || Bitwise Exclusive OR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp; || Logical AND&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; || Logical OR&lt;br /&gt;
|-&lt;br /&gt;
| ! || Logical NOT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flowcode generally uses the same basic operators as C, but also has English equivalents such as NOT, OR and MOD as shown in the table above. The other difference is a single '=' or a double '==' can be used to compare two values, whereas C always uses double '=='.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Numeric values can be in decimal (unmarked) or in HEX format (preceded by 0x) or in Binary format (preceded by 0b) e.g. 85 or 0x55 or 0b01010101.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
Assuming that the variables have been previously defined, all the following are valid calculation lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DELAY = DELAY + 1&lt;br /&gt;
&lt;br /&gt;
DELAY = (MYVAR + 3) * 3&lt;br /&gt;
&lt;br /&gt;
NEXTBIT = LASTBIT &amp;gt;&amp;gt; 2 &amp;amp; MASK&lt;br /&gt;
&lt;br /&gt;
AANDB = PORT_A AND PORT_B&lt;br /&gt;
&lt;br /&gt;
INVX = NOT X&lt;br /&gt;
&lt;br /&gt;
$PORTA = $PORTA + 1&lt;br /&gt;
&lt;br /&gt;
$pin39 = $A2&lt;br /&gt;
&lt;br /&gt;
$pin2 = 1&lt;br /&gt;
&lt;br /&gt;
The $ donates a pin or a port that can now be used within calculations. &lt;br /&gt;
&lt;br /&gt;
If any of the variables don't exist, then Flowcode will ask if you would like to create the missing variable.&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Calculation_Flowchart_Icon_02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Variable and Function Box==&lt;br /&gt;
&lt;br /&gt;
This section is used to either select a variable or access a list of the available functions. You can reference ports directly or select from a list of available Global or Local variables. &lt;br /&gt;
You can also view the list of available functions for [[Mathematical Functions|mathematical]] and [[String Manipulation Functions|string]] functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IO Ports===&lt;br /&gt;
Allows you to drirectly drag a poin or port for assigning a value or wihtin calulations.&lt;br /&gt;
For example:&lt;br /&gt;
 $PORTA = 10&lt;br /&gt;
 $PORTC.2 = 1&lt;br /&gt;
 $C1 = 1&lt;br /&gt;
 $PORTA.3 = $PORTB.1&lt;br /&gt;
From Flowcode V10 With Arduino that uses different pin references the following can be used:&lt;br /&gt;
 $pin3 = 1&lt;br /&gt;
 &lt;br /&gt;
===Globals===&lt;br /&gt;
Globals will allow you to create and drag global ''constants'' or [[Variable_Types|variables]] into the calculation window.&lt;br /&gt;
&lt;br /&gt;
As the variables are global, they can be seen within any [[Using_the_Project_Explorer#Macros|user macro's]]&lt;br /&gt;
&lt;br /&gt;
===Locals===&lt;br /&gt;
Locals will allow you to create and drag local ''constants'' or [[Variable_Types|variables]] into the calculation window.&lt;br /&gt;
&lt;br /&gt;
As the variables are ''local'', they will only be seen within the [[Using_the_Project_Explorer#Macros|user macro]] it was created in.&lt;br /&gt;
&lt;br /&gt;
Outside the user macro, any local variables get destroyed.&lt;br /&gt;
&lt;br /&gt;
===Macros===&lt;br /&gt;
Allows you to drag any [[Using_the_Project_Explorer#Macros|user macro]] into the calculation icon so they can be accessed from within it.&lt;br /&gt;
&lt;br /&gt;
===Components=== &lt;br /&gt;
Allows you to drag a component function to control it within a calculation icon.&lt;br /&gt;
&lt;br /&gt;
For example, if using the 2D potentiometer with a variable called ReadADC, the integer value is required, then with a calculation icon:&lt;br /&gt;
 ReadADC = Potentiometer1 :: GetInt ()&lt;br /&gt;
There might be component functions that require an input parameter, then the parameter/s are entered within the brackets. &lt;br /&gt;
&lt;br /&gt;
For example, required the average value after 100 samples and using a 20-microsecond delay:&lt;br /&gt;
 ReadADC = Potentiometer1 :: GetAverageInt (100,20)&lt;br /&gt;
It is easier to read the potentiometer via Components of the [[Using_the_Project_Explorer#Components|Project Explorer]] rather than the Calculation icon&lt;br /&gt;
&lt;br /&gt;
===fx Built-in Functions===&lt;br /&gt;
This is where all the [[Mathematical_Functions|Mathematical Functions]] can be found for dragging on the calculation icon.&lt;br /&gt;
&lt;br /&gt;
===f$ Built-in Functions===&lt;br /&gt;
This is where all the [[String_Manipulation_Functions|string manipulation functions]] can be found for dragging on the calculation icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
The [http://www.flowcode.co.uk/videos/videoview/?name=The+Calculation+icon&amp;amp;id=local&amp;amp;wiki=Calculation_Icon_Properties Calculation icon video] shows how this icon can be used.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Comment_Icon_Properties&amp;diff=42193</id>
		<title>Comment Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Comment_Icon_Properties&amp;diff=42193"/>
		<updated>2026-06-10T15:00:23Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IconComment.png|border]]&lt;br /&gt;
&lt;br /&gt;
Stand-alone comments can be added to macros with the Comment icon to make the code easier to understand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconComment.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Comment_Flowchart_Icon.png]] &lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Comment_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Drag the icon to where you want it and add your comments in the icons property box.&lt;br /&gt;
&lt;br /&gt;
Comments allow users to leave notes in their code explaining functions, explaining variable settings etc., or for any other documentation task that they feel is needed. &lt;br /&gt;
&lt;br /&gt;
Leaving comments is a good idea as it helps others understand your code, but they should be accurate and up-to-date because otherwise the comments could be misleading.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Info==&lt;br /&gt;
Each individual command icon in Flowcode can have its own comment (the &amp;quot;Display Name&amp;quot;), so this Comment icon is best used to provide additional detail for a section of code.&lt;br /&gt;
&lt;br /&gt;
Comments that include &amp;quot;TODO:&amp;quot; will be automatically added to the [[Using_the_Icon_Lists_Pane#TODO_List|TODO List]], providing a convenient way method to list uncompleted parts of a project.&lt;br /&gt;
&lt;br /&gt;
There is a separate comment icon - [[File:Icon_State_Diagram_Comment.png]] - that can be added to [[State_diagrams|State Diagrams]]&lt;br /&gt;
&lt;br /&gt;
Commenting code is not essential, and the use of well-named variables and macros can be more important to make your program easy to understand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
The [http://www.flowcode.co.uk/videos/videoview/?name=The+Comment+icon&amp;amp;id=local&amp;amp;wiki=Comment_Icon_Properties Comment icon video] shows how comments can be used in your programs.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=C_Code_Icon_Properties&amp;diff=42192</id>
		<title>C Code Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=C_Code_Icon_Properties&amp;diff=42192"/>
		<updated>2026-06-10T14:59:32Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconCode.png|border]]&lt;br /&gt;
&lt;br /&gt;
The Code icon allows experienced users to add their own C or JavaScript code into their Flowcode projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38600|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38600|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15269|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconCode.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_C_Code_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_C_Code_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flowcode is designed to allow those new to microcontroller programming to design programs with little knowledge of other programming languages. However it is possible to embed code written in other languages into Flowcode programs. Programs written in C and Assembly code can be embedded in Flowcode using the Code icon. This means that it is possible to take complex programs (you will find lots of programs on the internet) written in C or assembly and embed them into your designs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The code can not always be simulated by Flowcode, but is passed on to the microcontroller during compilation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variable Box'''&lt;br /&gt;
&lt;br /&gt;
Quickly browse the variables defined in your project. You can reference ports directly or select from a list of available Global or Local variables. Dragging and dropping the variables into the C Code box will automatically add the correct Flowcode specific prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Code'''&lt;br /&gt;
&lt;br /&gt;
Enter any C code you wish to include in the flowchart. The code is not checked by Flowcode but is passed straight to the C compiler when the flowchart is compiled. It is important to verify that the code entered is correct, as syntax errors will cause the compilation of the whole flowchart to fail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When creating a Web Developer project, the code entered into this box will be JavaScript rather than C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To access Flowcode global variables, local variables, macro functions and connection points, it is necessary to &amp;quot;colour&amp;quot; the variable in your C code with the prefixes FCV_, FCL_, FCM_ and FCC_MacroName_ respectively.  Dragging the variable into your code will automatically add the appropriate prefix. Variables should also be written in uppercase in code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, to use a global variable called &amp;quot;Delay&amp;quot; in your code, you must refer to it using &amp;quot;FCV_DELAY&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call a Flowcode macro called Test in your C code, you must call FCM_Test();&lt;br /&gt;
&lt;br /&gt;
Note that for Flowcode versions up to Flowcode 6, all Flowcode macro names are upper case.&lt;br /&gt;
For Flowcode v7 and above they are case-sensitive, meaning the case of the macro names much match.&lt;br /&gt;
&lt;br /&gt;
To jump to a connection point called A, defined in a Flowcode macro called TEST, the users C code must be goto FCC_TEST_A;. Connection points defined in the main flowchart of a Flowcode file are prefixed FCC_Main_.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Assembly Code===&lt;br /&gt;
&lt;br /&gt;
For embedded projects, assembly code can be added into the code field in a C assembly code wrapper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a single line of code use the asm operator in front of each instruction and use all upper case, e.g.&lt;br /&gt;
&lt;br /&gt;
 asm(&amp;quot;MOVLW 0x04&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or enclose several statements within an asm block, tow methods can be used for PIC8&lt;br /&gt;
Either &lt;br /&gt;
 #asm&lt;br /&gt;
 MOVLW 0x04&lt;br /&gt;
 MOVWF TRISA&lt;br /&gt;
 #endasm''&lt;br /&gt;
&lt;br /&gt;
Or&lt;br /&gt;
 asm(&amp;quot;MOVLW 0x04&amp;quot;);&lt;br /&gt;
 asm(&amp;quot;MOVWF TRISA&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=Using+custom+code&amp;amp;id=local&amp;amp;wiki=C_Code_Icon_Properties Using custom code video] to see how to add code into your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Jump_Icon_Properties&amp;diff=42191</id>
		<title>Jump Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Jump_Icon_Properties&amp;diff=42191"/>
		<updated>2026-06-10T14:58:13Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:iconJump.png|border|link=]]&lt;br /&gt;
&lt;br /&gt;
Jump icons are added to a Flowcode project macro to allow program execution to unconditionally jump to another location in the macro.&lt;br /&gt;
&lt;br /&gt;
In earlier versions of Flowcode, these were called &amp;quot;Connection Points&amp;quot; and the only type of jump supported was the &amp;quot;Goto&amp;quot; jump. Since v11.0.2, Flowcode now supports other types of unconditional jump: &amp;quot;Break&amp;quot;, &amp;quot;Continue&amp;quot; and &amp;quot;Return&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconJump.png|border|link=]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Goto_Connection_Point_Flowchart_Icon.png]] &lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties_Jump.png|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Goto / Break / Continue / Return'''&lt;br /&gt;
&lt;br /&gt;
The type of jump. More information on each jump type is below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jump to label'''&lt;br /&gt;
&lt;br /&gt;
The label to jump to if using the &amp;quot;Goto&amp;quot; type of jump.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jump Types==&lt;br /&gt;
&lt;br /&gt;
===Goto===&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Goto&amp;quot; jump is used to link program flow from one part of a macro to another. To achieve this, the macro must already have a [[Label_Icon_Properties|Label]] command icon. When program execution reaches the Jump command, it will unconditionally jump to the corresponding Label command that is set in the &amp;quot;Jump to label&amp;quot; dropdown.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Using Jump::Goto commands is generally seen as bad programming practice and they should be avoided where possible. It makes projects more difficult to debug, and most well written programs will usually not need to use this icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Break===&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Break&amp;quot; jump prematurely exits a [[Loop_Icon_Properties|Loop]] or [[Switch_Icon_Properties|Switch]] command. Program execution will continue with the command immediately after the end of the Loop or Switch that contains the &amp;quot;Break&amp;quot; jump command.&lt;br /&gt;
&lt;br /&gt;
It must occur within a Loop or Switch command, otherwise an error will occur. If it is contained within multiple 'levels' of Loop or Switch commands, it will jump out of the inner-most command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Continue===&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Continue&amp;quot; jump prematurely exits the current iteration of a [[Loop_Icon_Properties|Loop]].  If the Loop's test remains true, the next iteration of the Loop will be performed.  Otherwise, program execution will exit the Loop and continue with the command directly following the end of the Loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Return===&lt;br /&gt;
&lt;br /&gt;
A 'Return' jump command can be located anywhere in a macro. When the program executes this command, it will immediately exit the current macro and will not execute any other code in the macro.  If this macro returns a value, the current value of the return variable is returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Jump+icon&amp;amp;id=local&amp;amp;wiki=Jump_Icon_Properties Jump icon video] to see how this icon can be used in your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Loop_Icon_Properties&amp;diff=42190</id>
		<title>Loop Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Loop_Icon_Properties&amp;diff=42190"/>
		<updated>2026-06-10T14:55:08Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconLoop.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Loop_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Properties-loop.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/17609|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/17609|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/17609|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Loop icons are used to repeat a task until specified conditions are fulfilled, or to perform the loop a set number of times.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loop types==&lt;br /&gt;
There are several types of loop as explained below.&lt;br /&gt;
&lt;br /&gt;
===Loop forever===&lt;br /&gt;
Creates an infinite loop where the icons between the start and end of this loop icon are repeated forever. Many embedded programs require an infinite loop because the code running in the microcontroller will never stop.  In versions of Flowcode prior to v11, a condition &amp;quot;While 1&amp;quot; would have been used instead to create an infinite loop.&lt;br /&gt;
&lt;br /&gt;
===Loop while===&lt;br /&gt;
A &amp;quot;while&amp;quot; loop will repeat the icons if the test in the &amp;quot;expression&amp;quot; box is true. This expression can be tested at the start or at the end of the loop and it is at this point that the program decides to continue or abort the loop.&lt;br /&gt;
&lt;br /&gt;
===Loop until===&lt;br /&gt;
An &amp;quot;until&amp;quot; loop is similar to the &amp;quot;while&amp;quot; loop, but this time the loop will repeat until the test in the &amp;quot;expression&amp;quot; box becomes true. Again, this can be tested at the beginning or the end of the loop.&lt;br /&gt;
&lt;br /&gt;
===Loop count===&lt;br /&gt;
This allows a loop to be repeated a set number of times. The number of times to repeat is entered in the &amp;quot;count&amp;quot; box. Note that this value will usually be a constant or a literal value (e.g. &amp;quot;5&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
An internal counter will be set to zero when the loop first begins and will be automatically incremented at the end of each loop iteration. At the beginning of each loop, this internal counter will be checked to see if it is less than the value of the &amp;quot;count&amp;quot;, and if it is not then the loop will be aborted.&lt;br /&gt;
&lt;br /&gt;
This internal counter can be set to an existing variable instead using the '''Count using a variable''' option. This will expose the number of iterations around the loop to the code within the loop start and end icons. This variable will show a value of &amp;quot;0&amp;quot; during the first loop iteration, &amp;quot;1&amp;quot; in the second loop iteration, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
 &lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expression'''&lt;br /&gt;
&lt;br /&gt;
The expression used to determine if the loop should continue or end. This is used by &amp;quot;while&amp;quot; and &amp;quot;until&amp;quot; versions of the loop command.&lt;br /&gt;
&lt;br /&gt;
For a &amp;quot;while&amp;quot; loop, this loops the program while the specified condition is true.&lt;br /&gt;
&lt;br /&gt;
For an &amp;quot;until&amp;quot; loop, this loops the program until the specified condition becomes true.&lt;br /&gt;
&lt;br /&gt;
The expression is tested at the beginning or the end of the loop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variables Arrow'''&lt;br /&gt;
&lt;br /&gt;
Clicking on the down arrow brings up the variables dialog window allowing you to select an existing variable or to [[Creating Variables|create a new one]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Test the loop at the:'''&lt;br /&gt;
&lt;br /&gt;
Select whether you wish the loop's expression to be tested at the start or at the end of the loop. Testing at the end of the loop means that the code within the loop is guaranteed to execute at least once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Loop count'''&lt;br /&gt;
&lt;br /&gt;
Sets the loop to loop through a set number of iterations. The value should usually be a whole number between 1 and 99999999.&lt;br /&gt;
&lt;br /&gt;
Note that a variable can be used for the &amp;quot;count&amp;quot; rather than a constant value. But be aware because changing the value of this variable within the loop could cause odd behaviour and make your program's execution difficult to predict.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Count using a variable'''&lt;br /&gt;
&lt;br /&gt;
Allows an existing variable to be used as the count variable. When active, this resets the count variable to 0 when the loop first begins and automatically increments the variable at the end of each loop iteration. It is best that the value of this variable should not be altered within the loop by user code, otherwise the loop may behave unexpectedly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=The+Loop+icon&amp;amp;id=local&amp;amp;wiki=Loop_Icon_Properties Loop icon video] to see how this icon is used in a project.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Comment_Icon_Properties&amp;diff=42189</id>
		<title>Comment Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Comment_Icon_Properties&amp;diff=42189"/>
		<updated>2026-06-10T14:04:40Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconComment.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Comment_Flowchart_Icon.png]] &lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Comment_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Stand-alone comments can be added to macros with the Comment icon to make the code easier to understand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
Drag the icon to where you want it and add your comments in the icons property box.&lt;br /&gt;
&lt;br /&gt;
Comments allow users to leave notes in their code explaining functions, explaining variable settings etc., or for any other documentation task that they feel is needed. &lt;br /&gt;
&lt;br /&gt;
Leaving comments is a good idea as it helps others understand your code, but they should be accurate and up-to-date because otherwise the comments could be misleading.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Info==&lt;br /&gt;
Each individual command icon in Flowcode can have its own comment (the &amp;quot;Display Name&amp;quot;), so this Comment icon is best used to provide additional detail for a section of code.&lt;br /&gt;
&lt;br /&gt;
Comments that include &amp;quot;TODO:&amp;quot; will be automatically added to the [[Using_the_Icon_Lists_Pane#TODO_List|TODO List]], providing a convenient way method to list uncompleted parts of a project.&lt;br /&gt;
&lt;br /&gt;
There is a separate comment icon - [[File:Icon_State_Diagram_Comment.png]] - that can be added to [[State_diagrams|State Diagrams]]&lt;br /&gt;
&lt;br /&gt;
Commenting code is not essential, and the use of well-named variables and macros can be more important to make your program easy to understand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
The [http://www.flowcode.co.uk/videos/videoview/?name=The+Comment+icon&amp;amp;id=local&amp;amp;wiki=Comment_Icon_Properties Comment icon video] shows how comments can be used in your programs.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Calculation_Icon_Properties&amp;diff=42188</id>
		<title>Calculation Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Calculation_Icon_Properties&amp;diff=42188"/>
		<updated>2026-06-10T14:03:36Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconCalculation.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Calculation_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Calculation_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Calculation icons allow the modification of variables. They can be used to check inputs and to create outputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/40298|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15396|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15396|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Display Name==&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calculations==&lt;br /&gt;
&lt;br /&gt;
One or more lines of calculations can be entered into this box.&lt;br /&gt;
&lt;br /&gt;
All calculations must consist of the name of an existing variable, and equals sign and an expression made up from numbers, variables and the following operators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! '''Operator''' !! '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|   ( ) || Parentheses&lt;br /&gt;
|-&lt;br /&gt;
|   =    == || Equal to&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;&amp;gt;    != || Not equal to&lt;br /&gt;
|-&lt;br /&gt;
| +   -   *   / || Addition, Subtraction, Multiplication, Division&lt;br /&gt;
|-&lt;br /&gt;
|MOD   % || Modulus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;    &amp;lt;= || Less than, Less than or equal to&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;    &amp;gt;= || Greater than, Greater than or equal to&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;    &amp;lt;&amp;lt; || Shift right, Shift left&lt;br /&gt;
|-&lt;br /&gt;
| NOT    ~ || Bitwise NOT&lt;br /&gt;
|-&lt;br /&gt;
| AND    &amp;amp; || Bitwise AND&lt;br /&gt;
|-&lt;br /&gt;
| OR &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; || Bitwise OR&lt;br /&gt;
|-&lt;br /&gt;
| XOR    ^ || Bitwise Exclusive OR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp; || Logical AND&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; || Logical OR&lt;br /&gt;
|-&lt;br /&gt;
| ! || Logical NOT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flowcode generally uses the same basic operators as C, but also has English equivalents such as NOT, OR and MOD as shown in the table above. The other difference is a single '=' or a double '==' can be used to compare two values, whereas C always uses double '=='.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Numeric values can be in decimal (unmarked) or in HEX format (preceded by 0x) or in Binary format (preceded by 0b) e.g. 85 or 0x55 or 0b01010101.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
&lt;br /&gt;
Assuming that the variables have been previously defined, all the following are valid calculation lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DELAY = DELAY + 1&lt;br /&gt;
&lt;br /&gt;
DELAY = (MYVAR + 3) * 3&lt;br /&gt;
&lt;br /&gt;
NEXTBIT = LASTBIT &amp;gt;&amp;gt; 2 &amp;amp; MASK&lt;br /&gt;
&lt;br /&gt;
AANDB = PORT_A AND PORT_B&lt;br /&gt;
&lt;br /&gt;
INVX = NOT X&lt;br /&gt;
&lt;br /&gt;
$PORTA = $PORTA + 1&lt;br /&gt;
&lt;br /&gt;
$pin39 = $A2&lt;br /&gt;
&lt;br /&gt;
$pin2 = 1&lt;br /&gt;
&lt;br /&gt;
The $ donates a pin or a port that can now be used within calculations. &lt;br /&gt;
&lt;br /&gt;
If any of the variables don't exist, then Flowcode will ask if you would like to create the missing variable.&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Calculation_Flowchart_Icon_02.png]]&lt;br /&gt;
&lt;br /&gt;
==Variable and Function Box==&lt;br /&gt;
&lt;br /&gt;
This section is used to either select a variable or access a list of the available functions. You can reference ports directly or select from a list of available Global or Local variables. &lt;br /&gt;
You can also view the list of available functions for [[Mathematical Functions|mathematical]] and [[String Manipulation Functions|string]] functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IO Ports===&lt;br /&gt;
Allows you to drirectly drag a poin or port for assigning a value or wihtin calulations.&lt;br /&gt;
For example:&lt;br /&gt;
 $PORTA = 10&lt;br /&gt;
 $PORTC.2 = 1&lt;br /&gt;
 $C1 = 1&lt;br /&gt;
 $PORTA.3 = $PORTB.1&lt;br /&gt;
From Flowcode V10 With Arduino that uses different pin references the following can be used:&lt;br /&gt;
 $pin3 = 1&lt;br /&gt;
 &lt;br /&gt;
===Globals===&lt;br /&gt;
Globals will allow you to create and drag global ''constants'' or [[Variable_Types|variables]] into the calculation window.&lt;br /&gt;
&lt;br /&gt;
As the variables are global, they can be seen within any [[Using_the_Project_Explorer#Macros|user macro's]]&lt;br /&gt;
&lt;br /&gt;
===Locals===&lt;br /&gt;
Locals will allow you to create and drag local ''constants'' or [[Variable_Types|variables]] into the calculation window.&lt;br /&gt;
&lt;br /&gt;
As the variables are ''local'', they will only be seen within the [[Using_the_Project_Explorer#Macros|user macro]] it was created in.&lt;br /&gt;
&lt;br /&gt;
Outside the user macro, any local variables get destroyed.&lt;br /&gt;
&lt;br /&gt;
===Macros===&lt;br /&gt;
Allows you to drag any [[Using_the_Project_Explorer#Macros|user macro]] into the calculation icon so they can be accessed from within it.&lt;br /&gt;
&lt;br /&gt;
===Components=== &lt;br /&gt;
Allows you to drag a component function to control it within a calculation icon.&lt;br /&gt;
&lt;br /&gt;
For example, if using the 2D potentiometer with a variable called ReadADC, the integer value is required, then with a calculation icon:&lt;br /&gt;
 ReadADC = Potentiometer1 :: GetInt ()&lt;br /&gt;
There might be component functions that require an input parameter, then the parameter/s are entered within the brackets. &lt;br /&gt;
&lt;br /&gt;
For example, required the average value after 100 samples and using a 20-microsecond delay:&lt;br /&gt;
 ReadADC = Potentiometer1 :: GetAverageInt (100,20)&lt;br /&gt;
It is easier to read the potentiometer via Components of the [[Using_the_Project_Explorer#Components|Project Explorer]] rather than the Calculation icon&lt;br /&gt;
&lt;br /&gt;
===fx Built-in Functions===&lt;br /&gt;
This is where all the [[Mathematical_Functions|Mathematical Functions]] can be found for dragging on the calculation icon.&lt;br /&gt;
&lt;br /&gt;
===f$ Built-in Functions===&lt;br /&gt;
This is where all the [[String_Manipulation_Functions|string manipulation functions]] can be found for dragging on the calculation icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
The [http://www.flowcode.co.uk/videos/videoview/?name=The+Calculation+icon&amp;amp;id=local&amp;amp;wiki=Calculation_Icon_Properties Calculation icon video] shows how this icon can be used.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=C_Code_Icon_Properties&amp;diff=42187</id>
		<title>C Code Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=C_Code_Icon_Properties&amp;diff=42187"/>
		<updated>2026-06-10T14:03:03Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:iconCode.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_C_Code_Flowchart_Icon.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_C_Code_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Code icon allows experienced users to add their own C or JavaScript code into their Flowcode projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38600|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/38600|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15269|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
Flowcode is designed to allow those new to microcontroller programming to design programs with little knowledge of other programming languages. However it is possible to embed code written in other languages into Flowcode programs. Programs written in C and Assembly code can be embedded in Flowcode using the Code icon. This means that it is possible to take complex programs (you will find lots of programs on the internet) written in C or assembly and embed them into your designs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The code can not always be simulated by Flowcode, but is passed on to the microcontroller during compilation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Display Name'''&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Variable Box'''&lt;br /&gt;
&lt;br /&gt;
Quickly browse the variables defined in your project. You can reference ports directly or select from a list of available Global or Local variables. Dragging and dropping the variables into the C Code box will automatically add the correct Flowcode specific prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Code'''&lt;br /&gt;
&lt;br /&gt;
Enter any C code you wish to include in the flowchart. The code is not checked by Flowcode but is passed straight to the C compiler when the flowchart is compiled. It is important to verify that the code entered is correct, as syntax errors will cause the compilation of the whole flowchart to fail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When creating a Web Developer project, the code entered into this box will be JavaScript rather than C code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To access Flowcode global variables, local variables, macro functions and connection points, it is necessary to &amp;quot;colour&amp;quot; the variable in your C code with the prefixes FCV_, FCL_, FCM_ and FCC_MacroName_ respectively.  Dragging the variable into your code will automatically add the appropriate prefix. Variables should also be written in uppercase in code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, to use a global variable called &amp;quot;Delay&amp;quot; in your code, you must refer to it using &amp;quot;FCV_DELAY&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call a Flowcode macro called Test in your C code, you must call FCM_Test();&lt;br /&gt;
&lt;br /&gt;
Note that for Flowcode versions up to Flowcode 6, all Flowcode macro names are upper case.&lt;br /&gt;
For Flowcode v7 and above they are case-sensitive, meaning the case of the macro names much match.&lt;br /&gt;
&lt;br /&gt;
To jump to a connection point called A, defined in a Flowcode macro called TEST, the users C code must be goto FCC_TEST_A;. Connection points defined in the main flowchart of a Flowcode file are prefixed FCC_Main_.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Assembly Code===&lt;br /&gt;
&lt;br /&gt;
For embedded projects, assembly code can be added into the code field in a C assembly code wrapper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a single line of code use the asm operator in front of each instruction and use all upper case, e.g.&lt;br /&gt;
&lt;br /&gt;
 asm(&amp;quot;MOVLW 0x04&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or enclose several statements within an asm block, tow methods can be used for PIC8&lt;br /&gt;
Either &lt;br /&gt;
 #asm&lt;br /&gt;
 MOVLW 0x04&lt;br /&gt;
 MOVWF TRISA&lt;br /&gt;
 #endasm''&lt;br /&gt;
&lt;br /&gt;
Or&lt;br /&gt;
 asm(&amp;quot;MOVLW 0x04&amp;quot;);&lt;br /&gt;
 asm(&amp;quot;MOVWF TRISA&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
See the [http://www.flowcode.co.uk/videos/videoview/?name=Using+custom+code&amp;amp;id=local&amp;amp;wiki=C_Code_Icon_Properties Using custom code video] to see how to add code into your Flowcode projects.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Comment_Icon_Properties&amp;diff=42186</id>
		<title>Comment Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Comment_Icon_Properties&amp;diff=42186"/>
		<updated>2026-06-10T14:00:08Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:IconComment.png|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Comment_Icon_Properties.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Stand-alone comments can be added to macros with the Comment icon to make the code easier to understand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/10810|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
&lt;br /&gt;
Drag the icon to where you want it and add your comments in the icons property box.&lt;br /&gt;
&lt;br /&gt;
Comments allow users to leave notes in their code explaining functions, explaining variable settings etc., or for any other documentation task that they feel is needed. &lt;br /&gt;
&lt;br /&gt;
Leaving comments is a good idea as it helps others understand your code, but they should be accurate and up-to-date because otherwise the comments could be misleading.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Info==&lt;br /&gt;
Each individual command icon in Flowcode can have its own comment (the &amp;quot;Display Name&amp;quot;), so this Comment icon is best used to provide additional detail for a section of code.&lt;br /&gt;
&lt;br /&gt;
Comments that include &amp;quot;TODO:&amp;quot; will be automatically added to the [[Using_the_Icon_Lists_Pane#TODO_List|TODO List]], providing a convenient way method to list uncompleted parts of a project.&lt;br /&gt;
&lt;br /&gt;
There is a separate comment icon - [[File:Icon_State_Diagram_Comment.png]] - that can be added to [[State_diagrams|State Diagrams]]&lt;br /&gt;
&lt;br /&gt;
Commenting code is not essential, and the use of well-named variables and macros can be more important to make your program easy to understand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
&lt;br /&gt;
The [http://www.flowcode.co.uk/videos/videoview/?name=The+Comment+icon&amp;amp;id=local&amp;amp;wiki=Comment_Icon_Properties Comment icon video] shows how comments can be used in your programs.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Calculation_Icon_Properties&amp;diff=42185</id>
		<title>Calculation Icon Properties</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Calculation_Icon_Properties&amp;diff=42185"/>
		<updated>2026-06-10T13:58:21Z</updated>

		<summary type="html">&lt;p&gt;SteveT: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;margin:0px; text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Btn_Calculation.gif|border]]&lt;br /&gt;
| width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Calculation_Flowchart_Icon_01.png]] &lt;br /&gt;
|width=&amp;quot;50px&amp;quot; |&amp;amp;rarr; &lt;br /&gt;
|[[File:Gen_Calculation_Icon_Properties_01.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Calculation icons allow the modification of variables. They can be used to check inputs and to create outputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/40298|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15396|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/15396|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Display Name==&lt;br /&gt;
&lt;br /&gt;
The name of the icon that appears on the flowchart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calculations==&lt;br /&gt;
&lt;br /&gt;
One or more lines of calculations can be entered into this box.&lt;br /&gt;
&lt;br /&gt;
All calculations must consist of the name of an existing variable, and equals sign and an expression made up from numbers, variables and the following operators:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! '''Operator''' !! '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|   ( ) || Parentheses&lt;br /&gt;
|-&lt;br /&gt;
|   =    == || Equal to&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;&amp;gt;    != || Not equal to&lt;br /&gt;
|-&lt;br /&gt;
| +   -   *   / || Addition, Subtraction, Multiplication, Division&lt;br /&gt;
|-&lt;br /&gt;
|MOD   % || Modulus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;    &amp;lt;= || Less than, Less than or equal to&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;    &amp;gt;= || Greater than, Greater than or equal to&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;    &amp;lt;&amp;lt; || Shift right, Shift left&lt;br /&gt;
|-&lt;br /&gt;
| NOT    ~ || Bitwise NOT&lt;br /&gt;
|-&lt;br /&gt;
| AND    &amp;amp; || Bitwise AND&lt;br /&gt;
|-&lt;br /&gt;
| OR &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; || Bitwise OR&lt;br /&gt;
|-&lt;br /&gt;
| XOR    ^ || Bitwise Exclusive OR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp; || Logical AND&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; || Logical OR&lt;br /&gt;
|-&lt;br /&gt;
| ! || Logical NOT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Flowcode generally uses the same basic operators as C, but also has English equivalents such as NOT, OR and MOD as shown in the table above. The other difference is a single '=' or a double '==' can be used to compare two values, whereas C always uses double '=='.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Numeric values can be in decimal (unmarked) or in HEX format (preceded by 0x) or in Binary format (preceded by 0b) e.g. 85 or 0x55 or 0b01010101.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&lt;br /&gt;
&lt;br /&gt;
Assuming that the variables have been previously defined, all the following are valid calculation lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DELAY = DELAY + 1&lt;br /&gt;
&lt;br /&gt;
DELAY = (MYVAR + 3) * 3&lt;br /&gt;
&lt;br /&gt;
NEXTBIT = LASTBIT &amp;gt;&amp;gt; 2 &amp;amp; MASK&lt;br /&gt;
&lt;br /&gt;
AANDB = PORT_A AND PORT_B&lt;br /&gt;
&lt;br /&gt;
INVX = NOT X&lt;br /&gt;
&lt;br /&gt;
$PORTA = $PORTA + 1&lt;br /&gt;
&lt;br /&gt;
$pin39 = $A2&lt;br /&gt;
&lt;br /&gt;
$pin2 = 1&lt;br /&gt;
&lt;br /&gt;
The $ donates a pin or a port that can now be used within calculations. &lt;br /&gt;
&lt;br /&gt;
If any of the variables don't exist, then Flowcode will ask if you would like to create the missing variable.&lt;br /&gt;
&lt;br /&gt;
[[File:Gen_Calculation_Flowchart_Icon_02.png]]&lt;br /&gt;
&lt;br /&gt;
==Variable and Function Box==&lt;br /&gt;
&lt;br /&gt;
This section is used to either select a variable or access a list of the available functions. You can reference ports directly or select from a list of available Global or Local variables. &lt;br /&gt;
You can also view the list of available functions for [[Mathematical Functions|mathematical]] and [[String Manipulation Functions|string]] functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IO Ports===&lt;br /&gt;
Allows you to drirectly drag a poin or port for assigning a value or wihtin calulations.&lt;br /&gt;
For example:&lt;br /&gt;
 $PORTA = 10&lt;br /&gt;
 $PORTC.2 = 1&lt;br /&gt;
 $C1 = 1&lt;br /&gt;
 $PORTA.3 = $PORTB.1&lt;br /&gt;
From Flowcode V10 With Arduino that uses different pin references the following can be used:&lt;br /&gt;
 $pin3 = 1&lt;br /&gt;
 &lt;br /&gt;
===Globals===&lt;br /&gt;
Globals will allow you to create and drag global ''constants'' or [[Variable_Types|variables]] into the calculation window.&lt;br /&gt;
&lt;br /&gt;
As the variables are global, they can be seen within any [[Using_the_Project_Explorer#Macros|user macro's]]&lt;br /&gt;
&lt;br /&gt;
===Locals===&lt;br /&gt;
Locals will allow you to create and drag local ''constants'' or [[Variable_Types|variables]] into the calculation window.&lt;br /&gt;
&lt;br /&gt;
As the variables are ''local'', they will only be seen within the [[Using_the_Project_Explorer#Macros|user macro]] it was created in.&lt;br /&gt;
&lt;br /&gt;
Outside the user macro, any local variables get destroyed.&lt;br /&gt;
&lt;br /&gt;
===Macros===&lt;br /&gt;
Allows you to drag any [[Using_the_Project_Explorer#Macros|user macro]] into the calculation icon so they can be accessed from within it.&lt;br /&gt;
&lt;br /&gt;
===Components=== &lt;br /&gt;
Allows you to drag a component function to control it within a calculation icon.&lt;br /&gt;
&lt;br /&gt;
For example, if using the 2D potentiometer with a variable called ReadADC, the integer value is required, then with a calculation icon:&lt;br /&gt;
 ReadADC = Potentiometer1 :: GetInt ()&lt;br /&gt;
There might be component functions that require an input parameter, then the parameter/s are entered within the brackets. &lt;br /&gt;
&lt;br /&gt;
For example, required the average value after 100 samples and using a 20-microsecond delay:&lt;br /&gt;
 ReadADC = Potentiometer1 :: GetAverageInt (100,20)&lt;br /&gt;
It is easier to read the potentiometer via Components of the [[Using_the_Project_Explorer#Components|Project Explorer]] rather than the Calculation icon&lt;br /&gt;
&lt;br /&gt;
===fx Built-in Functions===&lt;br /&gt;
This is where all the [[Mathematical_Functions|Mathematical Functions]] can be found for dragging on the calculation icon.&lt;br /&gt;
&lt;br /&gt;
===f$ Built-in Functions===&lt;br /&gt;
This is where all the [[String_Manipulation_Functions|string manipulation functions]] can be found for dragging on the calculation icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
The [http://www.flowcode.co.uk/videos/videoview/?name=The+Calculation+icon&amp;amp;id=local&amp;amp;wiki=Calculation_Icon_Properties Calculation icon video] shows how this icon can be used.&lt;/div&gt;</summary>
		<author><name>SteveT</name></author>
		
	</entry>
</feed>