<?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=SamT</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=SamT"/>
	<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Special:Contributions/SamT"/>
	<updated>2026-04-30T16:37:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Bluetooth_(BL0170)_(E-blocks_2)&amp;diff=22890</id>
		<title>Component: Bluetooth (BL0170) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Bluetooth_(BL0170)_(E-blocks_2)&amp;diff=22890"/>
		<updated>2018-09-07T14:43:34Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Bluetooth (BL0170) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix Ltd.&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon 5f9d5a58_6c01_4588_afa0_df4c01ce161a.png|Image]] Bluetooth (BL0170) component==&lt;br /&gt;
Low level routines for controlling a Microchip RN4677 Bluetooth Module.&lt;br /&gt;
Also available in the form of the BL0170 Bluetooth E-block.&lt;br /&gt;
Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.&lt;br /&gt;
&lt;br /&gt;
There are component macros in flowcode 8 that allow you to send to and receive information from the Bluetooth component in the form of a string or a single byte. The component needs to be initialised before it can send or receive information, with the ‘Initialise’ macro.&lt;br /&gt;
&lt;br /&gt;
Make sure the Bluetooth component is connected to the right port in flowcode, corresponding to the port it’s connected to on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReceiveByte&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Receives a single data byte from the Bluetooth module.&lt;br /&gt;
&lt;br /&gt;
0xFF signifies no data available.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Timeout''&lt;br /&gt;
::Amount of time to wait in milliseconds 0=Wait forever&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SendString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends a string to the GSM module.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Command''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SendCR''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Copies the incoming data from the data string array to a local string variable.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''NumBytes''&lt;br /&gt;
::Maximum number of bytes to try and read&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SendByte&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends a single data byte out to the Bluetooth module.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Data''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets up the Bluetooth module including: &lt;br /&gt;
&lt;br /&gt;
 - Enabling the UART&lt;br /&gt;
&lt;br /&gt;
 - Configuring the module (Name / Key / etc)&lt;br /&gt;
&lt;br /&gt;
Returns 1 for OK and 0 for no reply.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Device Name&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''DeviceName''.&lt;br /&gt;
&lt;br /&gt;
Sets the friendly name of the Bluetooth device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pair Key&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''PairKey''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Discoverable&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''InitDisc''.&lt;br /&gt;
&lt;br /&gt;
Is the Bluetooth module discoverable by default?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reply Timeout&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ReplyTimeout''.&lt;br /&gt;
&lt;br /&gt;
Specifies the amount of time to wait for incoming data before timing out in milliseconds.&lt;br /&gt;
&lt;br /&gt;
Default 2000 = 2 seconds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX Buffer Size&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''.&lt;br /&gt;
&lt;br /&gt;
Amount of RAM memory to dedicate to receiving responses and incoming data from the BT module.&lt;br /&gt;
&lt;br /&gt;
Default 40&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::CHANNEL''.&lt;br /&gt;
&lt;br /&gt;
UART Channel selector&lt;br /&gt;
&lt;br /&gt;
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.&lt;br /&gt;
&lt;br /&gt;
Hardware channels use the selected peripheral on-board the target microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Options&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.&lt;br /&gt;
&lt;br /&gt;
Baud rate option selector&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Rate&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Transmit data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::OutputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware transmit pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Receive data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::InputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware receive pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Use Flow Control&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::FLOWEN''.&lt;br /&gt;
&lt;br /&gt;
Flow Control (Handshake) enable or disable.&lt;br /&gt;
&lt;br /&gt;
    On: Two I/O pins are used to control the flow of data in and out of the device.&lt;br /&gt;
&lt;br /&gt;
    Off: Flow control is disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Reset''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Label&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.&lt;br /&gt;
&lt;br /&gt;
Textual label shown on the component I/O flasher&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scope Traces&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.&lt;br /&gt;
&lt;br /&gt;
Selects if the scope traces are automatically added to the data recorder window or not.&lt;br /&gt;
&lt;br /&gt;
    Simulation - draws an approximation of the UART data onto the scope trace.&lt;br /&gt;
&lt;br /&gt;
    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''.&lt;br /&gt;
&lt;br /&gt;
Selects if the console data is automatically generated or not&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Columns&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''.&lt;br /&gt;
&lt;br /&gt;
Number of characters that can be displayed on a single line of the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data Source&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.&lt;br /&gt;
&lt;br /&gt;
Simulation data source used to allow the component to connect to various remote devices&lt;br /&gt;
&lt;br /&gt;
    Nothing - Simulation data is ignored&lt;br /&gt;
&lt;br /&gt;
    COM port - Routes the communication data to and from a physical or virtual COM port &lt;br /&gt;
&lt;br /&gt;
    Injector - Routes the communication data via a data injector component on the Panel.&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Colour_GLCD_(BL0157)_(E-blocks_2)&amp;diff=22889</id>
		<title>Component: Colour GLCD (BL0157) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Colour_GLCD_(BL0157)_(E-blocks_2)&amp;diff=22889"/>
		<updated>2018-09-07T14:43:00Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Colour GLCD (BL0157) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix Ltd&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.6 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon 25db03ef_5393_4fb8_9b34_87a506428296.png|Image]] Colour GLCD (BL0157) component==&lt;br /&gt;
Graphical display component designed to work with the BL0157 E-block.&lt;br /&gt;
Based on the ILI9163C 16-bit colour graphical controller IC.&lt;br /&gt;
&lt;br /&gt;
You can use component macros in flowcode 8 to draw various shapes on the colour GLCD such as a circle, an ellipse, a line and a rectangle. There are also macros to turn the backlight on or off, and to print a string of characters or a decimal number on the screen of the GLCD. As it is a ‘colour’ GLCD, you can set the background or foreground colour by inputting values from 0-255 for red, green and blue, in order to create almost any colour in the world. Before the GLCD can take information in, you need to initialise it with a component macro.&lt;br /&gt;
&lt;br /&gt;
Make sure all connections in flowcode are connected to the correct port and pins, the port should correspond to the port that the colour GLCD is connected to on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BacklightOn&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets the backlight enable pin allowing the display backlight to switch on.&lt;br /&gt;
&lt;br /&gt;
Switching the backlight on and off at high speed allow the light to be dimmed.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro prints a decimal number to the Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]] ''Number''&lt;br /&gt;
::Byte or Integer number to send to the display.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Font''&lt;br /&gt;
::Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawLine&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Plot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current foreground colour at pixel location X, Y.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawEllipse&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws an ellipse object on the display with the center of the ellipse at the location X,Y&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X Coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''XRadius''&lt;br /&gt;
::Radius of the circle on the X axis specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''YRadius''&lt;br /&gt;
::Radius of the circle on the Y axis specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::0=Fill inside circle using background colour / 1=Draw outer circle only&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::0=Use Transparent Setting / 1=Fill with foreground colour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;FastPlot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current foreground colour at current pixel location.&lt;br /&gt;
&lt;br /&gt;
Not compatible with orientations other than 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetDisplayOrientation&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Orientation''&lt;br /&gt;
::0=Default, 1=90°CW, 2=180°CW, 3=270°CW&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BacklightOff&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears the backlight enable pin allowing the display backlight to switch off.&lt;br /&gt;
&lt;br /&gt;
Switching the backlight on and off at high speed allow the light to be dimmed.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BPlot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current background colour at pixel location X, Y.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Window&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies a full screen or sub window of pixels to draw.&lt;br /&gt;
&lt;br /&gt;
Useful when used with the FastPlot function to draw bitmaps at high speed.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Print&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro prints a string of characters to the Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Str''&lt;br /&gt;
::String of characters to send to the display.&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
::X pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
::Y pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Font''&lt;br /&gt;
::Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClearDisplay&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro clears the display of any previous output by overwriting the entire display with the background colour.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetBackgroundColour&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies the colour of the background by creating a mixture of red, green and blue.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Red''&lt;br /&gt;
::0 - 255 where 0 = no red and 255 = maximum red&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Green''&lt;br /&gt;
::0 - 255 where 0 = no green and 255 = maximum green&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Blue''&lt;br /&gt;
::0 - 255 where 0 = no blue and 255 = maximum blue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawCircle&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a circle object on the display with the center of the circle at the location X,Y&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X Coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Radius''&lt;br /&gt;
::Radius of the circle specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::0=Fill inside circle using background colour / 1=Draw outer circle only&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::0=Use Transparent Setting / 1=Fill with foreground colour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetForegroundColour&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies the colour of the foreground by creating a mixture of red, green and blue.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Red''&lt;br /&gt;
::0 - 255 where 0 = no red and 255 = maximum red&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Green''&lt;br /&gt;
::0 - 255 where 0 = no green and 255 = maximum green&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Blue''&lt;br /&gt;
::0 - 255 where 0 = no blue and 255 = maximum blue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawRectangle&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pixel Height&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''pixel_height''.&lt;br /&gt;
&lt;br /&gt;
Heigt of gLCD canvas measured in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pixel Width&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''pixel_width''.&lt;br /&gt;
&lt;br /&gt;
Width of gLCD canvas measured in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Monochrome&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''monochrome''.&lt;br /&gt;
&lt;br /&gt;
Specifies if the display is capable of colour or monochrome only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Foreground Color&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Color picker'' and can be referenced with the variable name ''foreground_colour''.&lt;br /&gt;
&lt;br /&gt;
Specifies the initial foreground color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Background Color&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Color picker'' and can be referenced with the variable name ''background_colour''.&lt;br /&gt;
&lt;br /&gt;
Specifies the initial background color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Colour Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''colour_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Total color bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Red Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''red_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Specifies the red bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Green Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''green_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Specifies the green bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Blue Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''blue_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Specifies the blue bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''data_pin''.&lt;br /&gt;
&lt;br /&gt;
Data pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Clock&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''clock_pin''.&lt;br /&gt;
&lt;br /&gt;
Clock pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Chip Select&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''chip_sel_pin''.&lt;br /&gt;
&lt;br /&gt;
Chip select pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;A0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''a0_pin''.&lt;br /&gt;
&lt;br /&gt;
Instruction / Command pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''reset_pin''.&lt;br /&gt;
&lt;br /&gt;
Reset pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;LED&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''led_pin''.&lt;br /&gt;
&lt;br /&gt;
LED backlight strobe pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Display Method&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DisplayMethod''.&lt;br /&gt;
&lt;br /&gt;
Chooses which method to use when drawing to the gLCD component&lt;br /&gt;
&lt;br /&gt;
The bitmap is the more common mode but may run slowly on some machines.&lt;br /&gt;
&lt;br /&gt;
The point cloud should run faster but may use more memory.&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_(BL0162)_(E-blocks_2)&amp;diff=22888</id>
		<title>Component: Servo Motor (BL0162) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_(BL0162)_(E-blocks_2)&amp;diff=22888"/>
		<updated>2018-09-07T14:42:18Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Servo Motor (BL0162) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon bc8ae960_3887_4d08_ac7c_1eedb8e5f6c8.png|Image]] Servo Motor (BL0162) component==&lt;br /&gt;
Servo motor component to drive the E-blocks 2 BL0162 Servo Motors board.&lt;br /&gt;
Provides up to eight individually addressable connections for standard DC servo motors to be connected.&lt;br /&gt;
&lt;br /&gt;
There are component macros in flowcode which allow you to set the level of trim for each servo channel, and to move it to a certain position. Before you can allow the servo to connect you must use the initialise macro in the program and also the ‘EnableServo’ to specify which servo you are communicating with. There is also a ‘DisableServo’ macro you can use to disable a servo channel again.&lt;br /&gt;
&lt;br /&gt;
Make sure the channels are all connected to the correct port and pin, the port will correspond to the port the servo motor is connected to on the E-blocks 2 upstream board you are using.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DisableServo&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Disables a servo channel effectivly disabling the motor.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetPosition&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves directly to the specified position with no interpolation.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Target position to move towards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IsAutoMoving&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Is the AutoMoveToPosition movement complete.&lt;br /&gt;
&lt;br /&gt;
Returns 1 if the servo is still moving.&lt;br /&gt;
&lt;br /&gt;
Returns 0 if the servo movement is complete.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;MoveToPosition&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves a single step towards the new position, the rate of movement is determined by how often the move to macro is called. Returns 1 if the position has been reached.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Target position to move towards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] : 1 = reached target, 0 = target not reached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetTrim&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Allows the level of trim for each servo channel to be adjusted progmatically.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Trim''&lt;br /&gt;
::0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;AutoMoveToPosition&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Automatically moves towards the new position with a fixed rate of 100 steps per second.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Position to move to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;EnableServo&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetAutoMoveSpeed&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets the speed of the auto move to position macro.&lt;br /&gt;
&lt;br /&gt;
Default speed is 1.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Speed''&lt;br /&gt;
::1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets up the servo motor interrupts&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channels (1 - 8)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::Channel_Count''.&lt;br /&gt;
&lt;br /&gt;
Set the number of servo's that you need to control.&lt;br /&gt;
&lt;br /&gt;
Value from 1 to 8.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin0''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin1''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin2''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin3''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin4''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 5&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin5''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 6&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin6''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 7&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin7''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Minimum (us)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Servo_Controller1::min_pulse_width''.&lt;br /&gt;
&lt;br /&gt;
Shortest pulse width that will be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Maximum (us)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Servo_Controller1::max_pulse_width''.&lt;br /&gt;
&lt;br /&gt;
Longest pulse width used for the PWM signals.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim0''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim1''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim2''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim3''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim4''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 5&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim5''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 6&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim6''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 7&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim7''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim0''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim1''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim2''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim3''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim4''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 5&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim5''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 6&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim6''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 7&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim7''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_LCD_(BL0169)_(E-blocks_2)&amp;diff=22887</id>
		<title>Component: LCD (BL0169) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_LCD_(BL0169)_(E-blocks_2)&amp;diff=22887"/>
		<updated>2018-09-07T14:41:49Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image LCD (BL0169) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon ee697d50_7fb5_4074_8cd6_996e5c386722.png|Image]] LCD (BL0169) component==&lt;br /&gt;
LCD component to drive the E-blocks 2 BL0169 LCD board.&lt;br /&gt;
Provides a 4 x 20 character alphanumeric display.&lt;br /&gt;
&lt;br /&gt;
Make sure each data pin is connected to the right place in flowcode, which corresponds to the port that the LCD board is connected to on your E-blocks 2 upstream board. There are component macros you can use to print things on the LCD screen, in the form of a formatted number, an integer number, a string or the character which corresponds to an inputted ascii value.&lt;br /&gt;
&lt;br /&gt;
You must use the ‘Start’ macro in the program before you can take any data on the LCD.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Clear&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears the entire contents of the display.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Text''&lt;br /&gt;
::Enter the text or variable to print to the LCD&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintAscii&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Takes the ascii value for a character and prints the character&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''character''&lt;br /&gt;
::Holds an ascii value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]] ''Number''&lt;br /&gt;
::Enter the number or variable to print to the LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;RAMWrite&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Values 0 to 7&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d0''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d3''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d4''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d5''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d6''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d7''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClearLine&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Line''&lt;br /&gt;
::The line to clear, zero being the first (top) line of the display&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Cursor&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves the cursor on the LCD Display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''x''&lt;br /&gt;
::Set the cursor position in the X plane, 0 is the left most cell&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''y''&lt;br /&gt;
::Set the cursor position in the Y plane, 0 is the top most cell&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Command&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''instruction''&lt;br /&gt;
::Send a defined command to the LCD Screen. See datasheet for supported commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintFormattedNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Will allow you to print a number up to 32-bits with signed or unsigned formatting.&lt;br /&gt;
&lt;br /&gt;
Signed = -2147483648 to 2147483647&lt;br /&gt;
&lt;br /&gt;
Unsigned = 0 to 4294967295&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|ULONG]] ''Number''&lt;br /&gt;
::Enter the number or variable to print to the LCD&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] ''Format''&lt;br /&gt;
::0=Signed, 1=Unsigned&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ScrollDisplay&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Scrolls the display left or right by a number of given positions.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Holds the number of positions to shift the display&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Direction''&lt;br /&gt;
::0 = left, 1 = right&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;RawSend&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends data to the LCD display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''data''&lt;br /&gt;
::The data byte to send to the LCD&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] ''type''&lt;br /&gt;
::A boolean to indicate command type: true to write data, false to write a command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;RemapCharacter&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. &lt;br /&gt;
&lt;br /&gt;
The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''RemapIdx''&lt;br /&gt;
::Remap Index, Range: 0 to (Remap Characters - 1)&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SearchCharacter''&lt;br /&gt;
::Character to look for a replace&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''ReplacementCharacter''&lt;br /&gt;
::New character value to use in place of the search character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Start&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Startup routine required by the hardware device.&lt;br /&gt;
&lt;br /&gt;
Automatically clears the display after initialising.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 0 (11 / 7)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_0''.&lt;br /&gt;
&lt;br /&gt;
Data pin 0 - Connects to Data 4 on the hardware in 4-bit mode or Data 0 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 1 (12 / 8)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_1''.&lt;br /&gt;
&lt;br /&gt;
Data pin 1 - Connects to Data 5 on the hardware in 4-bit mode or Data 1 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 2 (13 / 9)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_2''.&lt;br /&gt;
&lt;br /&gt;
Data pin 2 - Connects to Data 6 on the hardware in 4-bit mode or Data 2 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 3 (14 / 10)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_3''.&lt;br /&gt;
&lt;br /&gt;
Data pin 3 - Connects to Data 7 on the hardware in 4-bit mode or Data 3 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Register Select (4)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_RS''.&lt;br /&gt;
&lt;br /&gt;
Register Select Pin - Informs the display if a command or data is about to be sent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Enable (6)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_E''.&lt;br /&gt;
&lt;br /&gt;
Enable pin - Used to synchronise data writes to the display&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(BL0145)_(E-blocks_2)&amp;diff=22886</id>
		<title>Component: Switch (BL0145) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(BL0145)_(E-blocks_2)&amp;diff=22886"/>
		<updated>2018-09-07T14:40:58Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Switch (BL0145) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon b3a7287a_4070_49d1_9122_bf6169f67cd1.png|Image]] Switch (BL0145) component==&lt;br /&gt;
A set of 8 push switches that can be connected to an E-blocks 2 upstream board via a port connector.&lt;br /&gt;
Switches are wired in an active high configuration.&lt;br /&gt;
&lt;br /&gt;
There are component macros to read the state of all switches at once or just one of the switches. You can also use macros to tell the program to wait until a certain switch is pressed. When reading the state of a certain switch you are asked to input the index value of that switch (0-7), the index values are displayed below the switches on the E-blocks 2 board. &lt;br /&gt;
&lt;br /&gt;
Make sure the switch panel is connected to the correct port in flowcode corresponding to the port on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadState&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Read the state of the switch at the given index.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::The switch to read the status of.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] : Key state - true = on, false = off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WaitUntilHigh&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Pause the program until the switch at the given index is turned on.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Index of the switch to wait for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadAll&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads all of the switches at once, returning a byte containing one bit per&lt;br /&gt;
&lt;br /&gt;
switch.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] : One bit per switch in the array.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WaitUntilLow&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Pause the program until the switch at the given index is turned on.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Index of the switch  to wait for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Input Mode&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''port''.&lt;br /&gt;
&lt;br /&gt;
Choose how your switches are connected.&lt;br /&gt;
&lt;br /&gt;
PORT = Single port byte for all switches - pins are allocated in sequence from pin 0 - X&lt;br /&gt;
&lt;br /&gt;
Custom = Individual pin by pin connections&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Port&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Digital port byte'' and can be referenced with the variable name ''PortByte''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_IO_Expander_(BL0155)_(E-blocks_2)&amp;diff=22885</id>
		<title>Component: IO Expander (BL0155) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_IO_Expander_(BL0155)_(E-blocks_2)&amp;diff=22885"/>
		<updated>2018-09-07T14:39:46Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image IO Expander (BL0155) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon e565ab5d_bf80_4911_938a_75b226ca6f93.png|Image]] IO Expander (BL0155) component==&lt;br /&gt;
Provides 16 digital input/output pins arranged into two 8-bit E-block 2 ports using a SPI bus connection.&lt;br /&gt;
&lt;br /&gt;
Before you can start reading or writing data to the different registers or ports, you need to use a macro to initialise the IO expander. There are component macros in flowcode 8 which allow you to write a value to a register on the expander, to write a value to an individual port or even to an individual pin on a port. You can also read values from all these places using component macros as well.&lt;br /&gt;
&lt;br /&gt;
You also need to ensure that all pins in flowcode are connected to the equivalent ones on your E-blocks 2 upstream board for it to work when you compile it to the chip.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadPort&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads a value to one of the ports with a mask.&lt;br /&gt;
&lt;br /&gt;
Configures the masked bits to be inputs before reading the input value.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Port''&lt;br /&gt;
::0=PortA, 1=PortB&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Mask''&lt;br /&gt;
::Allows port bits to be modified without effecting other bits, 255 = write full port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ConfigureInversion&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Configures the pin inversion for the two ports. &lt;br /&gt;
&lt;br /&gt;
Disabled on all pins by default.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''PortA''&lt;br /&gt;
::Port A inversion sent as an 8-bit value, 0 = Disabled, 1 = Enabled&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''PortB''&lt;br /&gt;
::Port B inversion sent as an 8-bit value, 0 = Disabled, 1 = Enabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadPortPin&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads a single port pin from one of the ports.&lt;br /&gt;
&lt;br /&gt;
Configures the pins to be an input before reading the input value.&lt;br /&gt;
&lt;br /&gt;
Returns 0 or 1 corresponding to the value on the port pin.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Port''&lt;br /&gt;
::0=PortA, 1=PortB&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Pin''&lt;br /&gt;
::Port pin to read. Range: 0-7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WritePortPin&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Writes a single port pin on one of the ports.&lt;br /&gt;
&lt;br /&gt;
Configures the pins to be an output before writing the input value.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Port''&lt;br /&gt;
::0=PortA, 1=PortB&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Pin''&lt;br /&gt;
::Port pin to read. Range: 0-7&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Value''&lt;br /&gt;
::Value to output on the selected pin. Range: 0-1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WritePort&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Writes a value to one of the ports with a mask.&lt;br /&gt;
&lt;br /&gt;
Configures the masked bits to be outputs before writing the output value.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Port''&lt;br /&gt;
::0=PortA, 1=PortB&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Mask''&lt;br /&gt;
::Allows port bits to be modified without effecting other bits, 255 = write full port.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Value''&lt;br /&gt;
::Value to write. Range 0-255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ConfigurePullups&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Configures the pullups for the two ports.&lt;br /&gt;
&lt;br /&gt;
Disabled on all pins by default.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''PortA''&lt;br /&gt;
::Port A pull ups sent as an 8-bit value, 0 = Disabled, 1 = Enabled&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''PortB''&lt;br /&gt;
::Port B pull ups sent as an 8-bit value, 0 = Disabled, 1 = Enabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadRegister&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads an 8-bit value from a register on the I/O expander device.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Address''&lt;br /&gt;
::Register address to write to. Range: 0-15&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WriteRegister&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Writes an 8-bit value to a register on the I/O expander device.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Address''&lt;br /&gt;
::Register address to write to. Range: 0-15&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Value''&lt;br /&gt;
::Value to write. Range: 0-255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_spi1::CHANNEL''.&lt;br /&gt;
&lt;br /&gt;
SPI Channel selector&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Prescale&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_spi1::PR_SCALE''.&lt;br /&gt;
&lt;br /&gt;
Prescale option selector&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;MOSI&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::MOSI''.&lt;br /&gt;
&lt;br /&gt;
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;MISO&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::MISO''.&lt;br /&gt;
&lt;br /&gt;
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;CLK&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::CLK''.&lt;br /&gt;
&lt;br /&gt;
SPI Clock Pin CLK - The Clock signal is driven by the SPI master.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;CS / SS&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::SS''.&lt;br /&gt;
&lt;br /&gt;
Chip Select / Slave Select Pin &lt;br /&gt;
&lt;br /&gt;
Master Mode: General purpose output pin used to select the remote SPI device.&lt;br /&gt;
&lt;br /&gt;
Slave Mode: Hardware chip select pin input used to select the SPI device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''reset_pin''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Label&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scope Traces&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_spi1::ScopeTraces''.&lt;br /&gt;
&lt;br /&gt;
Selects if the scope traces are automatically generated or not&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_spi1::ConsoleData''.&lt;br /&gt;
&lt;br /&gt;
Selects if the console data is automatically generated or not&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Injector&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_spi1::Injector''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_GLCD_(BL0139)_(E-blocks_2)&amp;diff=22884</id>
		<title>Component: GLCD (BL0139) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_GLCD_(BL0139)_(E-blocks_2)&amp;diff=22884"/>
		<updated>2018-09-07T14:39:05Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image GLCD (BL0139) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon 4d50e925_93e7_43ff_9c9f_8e958b9d714c.png|Image]] GLCD (BL0139) component==&lt;br /&gt;
Graphical display component designed to work with the ST7567 type monochrome displays.&lt;br /&gt;
Transfers data using a 4-wire SPI interface, cannot read back so pixel based routines won't work&lt;br /&gt;
Compatible with the EB2 BL0139 Downstream E-block.&lt;br /&gt;
&lt;br /&gt;
On the mono GLCD you can se the foreground and background colours as either black or white, using the component macros corresponding to the setting of foreground or background. There are also macros which you can put into the program to print a string or a number on the GLCDs screen. You can also draw various shapes on the mono GLCD, such as a circle, an ellipse, a line or a rectangle using component macros.&lt;br /&gt;
&lt;br /&gt;
Make sure the connections in flowcode are all in the correct port and pins, the port letter should be the same as the one which your mono GLCD is connected to on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro prints a decimal number to the Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]] ''Number''&lt;br /&gt;
::Byte or Integer number to send to the display.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Font''&lt;br /&gt;
::Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawLine&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Write_Data&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''data''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Goto_XY&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Plot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current foreground colour at pixel location X, Y.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawEllipse&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws an ellipse object on the display with the center of the ellipse at the location X,Y&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X Coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''XRadius''&lt;br /&gt;
::Radius of the circle on the X axis specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''YRadius''&lt;br /&gt;
::Radius of the circle on the Y axis specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::0=Fill inside circle using background colour / 1=Draw outer circle only&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::0=Use Transparent Setting / 1=Fill with foreground colour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetDisplayOrientation&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Orientation''&lt;br /&gt;
::0=Default, 1=90°CW, 2=180°CW, 3=270°CW&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BPlot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current background colour at pixel location X, Y.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Print&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro prints a string of characters to the Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Str''&lt;br /&gt;
::String of characters to send to the display.&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
::X pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
::Y coordinate 0-31&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Font''&lt;br /&gt;
::Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClearDisplay&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro clears the display of any previous output by overwriting the entire display with the background colour.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetBackgroundColour&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies the colour of the foreground&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''PixelColour''&lt;br /&gt;
::0=White, 1=Black&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Write_Command&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Command''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawCircle&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a circle object on the display with the center of the circle at the location X,Y&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X Coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Radius''&lt;br /&gt;
::Radius of the circle specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::0=Fill inside circle using background colour / 1=Draw outer circle only&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::0=Use Transparent Setting / 1=Fill with foreground colour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetForegroundColour&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies the colour of the foreground.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''PixelColour''&lt;br /&gt;
::0=White, 1=Black&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawRectangle&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pixel Height&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''pixel_height''.&lt;br /&gt;
&lt;br /&gt;
Heigt of gLCD canvas measured in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pixel Width&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''pixel_width''.&lt;br /&gt;
&lt;br /&gt;
Width of gLCD canvas measured in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Monochrome&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''monochrome''.&lt;br /&gt;
&lt;br /&gt;
Specifies if the display is capable of colour or monochrome only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Foreground Color&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Color picker'' and can be referenced with the variable name ''foreground_colour''.&lt;br /&gt;
&lt;br /&gt;
Specifies the initial foreground color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Background Color&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Color picker'' and can be referenced with the variable name ''background_colour''.&lt;br /&gt;
&lt;br /&gt;
Specifies the initial background color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Color Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''colour_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Number of bits of colour depth available on the display&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Red Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''red_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Number of bits of Red colour depth on the display&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Green Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''green_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Number of bits of Green colour depth on the display&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Blue Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''blue_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Number of bits of Blue colour depth on the display&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''data_pin''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Clock Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''clock_pin''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;A0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''a0_pin''.&lt;br /&gt;
&lt;br /&gt;
Address pin to tell the display if we are sending commands or data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;CS&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''chip_sel_pin''.&lt;br /&gt;
&lt;br /&gt;
Chip select pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''reset_pin''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Display Method&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DisplayMethod''.&lt;br /&gt;
&lt;br /&gt;
Chooses which method to use when drawing to the gLCD component&lt;br /&gt;
&lt;br /&gt;
The bitmap is the more common mode but may run slowly on some machines.&lt;br /&gt;
&lt;br /&gt;
The point cloud should run faster but may use more memory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;LCDVersion&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''LCDVersion''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_WIFI_(BL0136)_(E-blocks_2)&amp;diff=22883</id>
		<title>Component: WIFI (BL0136) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_WIFI_(BL0136)_(E-blocks_2)&amp;diff=22883"/>
		<updated>2018-09-07T14:35:58Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image WIFI (BL0136) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix Ltd.&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 2.1 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon ea9c0946_5f88_4f9a_ae5f_8ba9b981b389.png|Image]] WIFI (BL0136) component==&lt;br /&gt;
Wireless LAN component designed to work with the ESP-12S module.&lt;br /&gt;
Provides a very simple interface to allow webpages to be hosted from hardware or simulation.&lt;br /&gt;
Also available in the form of the BL0136 WIFI E-block.&lt;br /&gt;
&lt;br /&gt;
This component can be used for connecting a system to a wifi network, by using the ‘ScanForSSID’ component macro. Then different macros can be used to read the encryption mode, the signal strength or the specific SSID of one of the networks picked up in the scan. There is also a ‘ConnectToSSID’ macro which allows you to connect your program to a wifi network (as long as you have a sufficient password) and another macro you can use to disconnect from the network again.&lt;br /&gt;
&lt;br /&gt;
As well as connecting to a wifi network, there is a component macro called ‘CreateAccessPoint’ which creates an access point (with a chosen SSID, password, channel, and encryption) for other people to connect to.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DisconnectFromSSID&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Disconnects from the current SSID. &lt;br /&gt;
&lt;br /&gt;
Returns 1 if the command was accepted and returned an &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SendString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends the given Text. &lt;br /&gt;
&lt;br /&gt;
Appends a CR to the end of the string it SendCR is greater than 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Text''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SendCR''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClientConnect&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Creates a TCP or UDP connection to a remote server.&lt;br /&gt;
&lt;br /&gt;
Returns the state of the connection.&lt;br /&gt;
&lt;br /&gt;
0=Connection failed&lt;br /&gt;
&lt;br /&gt;
1=Connection active&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Type''&lt;br /&gt;
::0 = TCP, 1 = UDP&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''IPAddress''&lt;br /&gt;
::e.g. &amp;quot;192.168.1.20&amp;quot;&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Port''&lt;br /&gt;
::Remote port number to connect to, HTTP comms = Port 80&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ControlTCPServer&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Allows a TCP web page server to be switched on and off on the selected port.&lt;br /&gt;
&lt;br /&gt;
Returns 1 if the command was completed correctly.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Enable''&lt;br /&gt;
::0 = Stop Server, 1 = Start Server&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Port''&lt;br /&gt;
::Server port to listen for incoming TCP/IP data requests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;GetFirmwareVersion&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects the firmware version from the ESP8266 module and returns it as a string.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;CheckForPageRequests&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
To be called periodically. Returns non-zero if a request has been processed&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClientSendRequest&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends out a request for data&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Request''&lt;br /&gt;
::e.g. &amp;quot;GET / HTTP/1.0\r\n\r\n&amp;quot;&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadSSIDFromScan&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects one of the SSID name strings from the last SSID Scan.&lt;br /&gt;
&lt;br /&gt;
The ScanForSSID macro must be called first.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::SSID Index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;CreateAccessPoint&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets up the wireless LAN module into AP mode to host a wireless network.&lt;br /&gt;
&lt;br /&gt;
Other WIFI enabled devices can then connect to the module.&lt;br /&gt;
&lt;br /&gt;
Returns 1 for success.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''SSID''&lt;br /&gt;
::Name of the wireless network to create&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Password''&lt;br /&gt;
::Password used to gain access to the network&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::802.11 Channel Range 1-14&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Encryption''&lt;br /&gt;
::0=Open, 1=WEP, 2=WPA_PSK, 3=WPA2_PSK, 4=WPA_WPA2_PSK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetOutValue&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Set the value of an outbound substitution string&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''index''&lt;br /&gt;
::Range 0-4&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''value''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadSignalStrengthFromScan&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects the signal strength from the last SSID Scan.&lt;br /&gt;
&lt;br /&gt;
The ScanForSSID macro must be called first.&lt;br /&gt;
&lt;br /&gt;
Value returned is in negative dB, smaller value = better signal&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::SSID Index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadEncryptionModeFromScan&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects one of the encryption modes from the last SSID Scan.&lt;br /&gt;
&lt;br /&gt;
The ScanForSSID macro must be called first.&lt;br /&gt;
&lt;br /&gt;
0=Open, 1=WEP, 2=WPA_PSK, 3=WPA2_PSK, 4=WPA_WPA2_PSK&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::SSID Index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;GetByteWithTimeout&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Attempts to receive a byte from the circular buffer.&lt;br /&gt;
&lt;br /&gt;
If nothing is available then waits up to 20 ms for data to become available.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;GetInValue&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Returns the string value of a Request parameter&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''index''&lt;br /&gt;
::Index of the request paramter, starting at zero Range 0-2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ConnectToSSID&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Attempts to connect to the given SSID and Key values. &lt;br /&gt;
&lt;br /&gt;
Returns 1 if the SSID has been connected.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''SSID''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Key''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Timeout''&lt;br /&gt;
::Number of seconds to wait for the connection, default 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ScanForSSID&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Checks for wireless networks in the local area which are broadcasting their SSID.&lt;br /&gt;
&lt;br /&gt;
Must not be connected to a network to allow this to function.&lt;br /&gt;
&lt;br /&gt;
Returns the number of wireless networks found, max 8.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Initialise the device with the property data.&lt;br /&gt;
&lt;br /&gt;
Returns 1 if &amp;quot;ready&amp;quot; message successfully received &lt;br /&gt;
&lt;br /&gt;
Returns 0 if no reply from module&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;CheckTCPServerIP&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects the local IP address of the active TCP server.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Receive Buffer Size&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''RxBufferSize''.&lt;br /&gt;
&lt;br /&gt;
Buffer used to store incoming data ready for processing.&lt;br /&gt;
&lt;br /&gt;
Default 128 Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scan Buffer Size&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ScanBufferSize''.&lt;br /&gt;
&lt;br /&gt;
Buffer used to hold SSID names when performing a SSID network scan.&lt;br /&gt;
&lt;br /&gt;
Default 100 Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset Mode&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''ResetMode''.&lt;br /&gt;
&lt;br /&gt;
The initialise automatically resets the WIFI module before establishing communications.&lt;br /&gt;
&lt;br /&gt;
Software reset uses an AT command to preform the reset&lt;br /&gt;
&lt;br /&gt;
Hardware reset uses an extra I/O pin to toggle the signal to the reset pin on the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Command Termination&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Termination''.&lt;br /&gt;
&lt;br /&gt;
Older versions of the firmware require \r to terminate a AT command string.&lt;br /&gt;
&lt;br /&gt;
Newer versions of the firmware have changed to use \r\n termination.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::CHANNEL''.&lt;br /&gt;
&lt;br /&gt;
UART Channel selector&lt;br /&gt;
&lt;br /&gt;
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.&lt;br /&gt;
&lt;br /&gt;
Hardware channels use the selected peripheral on-board the target microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Options&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::BAUD_LIST''.&lt;br /&gt;
&lt;br /&gt;
Baud rate option selector&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Rate&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''group1::cal_uart1::BAUD''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''group1::cal_uart1::TX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Transmit data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::OutputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware transmit pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''group1::cal_uart1::RX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Receive data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::InputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware receive pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''RESET''.&lt;br /&gt;
&lt;br /&gt;
WLAN module reset pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Use Flow Control&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::FLOWEN''.&lt;br /&gt;
&lt;br /&gt;
Flow Control (Handshake) enable or disable.&lt;br /&gt;
&lt;br /&gt;
    On: Two I/O pins are used to control the flow of data in and out of the device.&lt;br /&gt;
&lt;br /&gt;
    Off: Flow control is disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Max Web Pages&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''PAGES''.&lt;br /&gt;
&lt;br /&gt;
Maximum number of individual webpages we can serve up with the component.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Web Page Timeout&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''TIMEOUT''.&lt;br /&gt;
&lt;br /&gt;
Number of cycles to try and send / receive a webpage before timing out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Line Delay&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''LineDelay''.&lt;br /&gt;
&lt;br /&gt;
Fixed delay in microseconds sent in between sending a HTML line when running as a web page server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name1''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html1''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name2''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html2''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name3''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html3''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name4''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html4''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Count&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Outgoing_Count''.&lt;br /&gt;
&lt;br /&gt;
Maximum number of outbound string substitutions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Length 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Out_Len_0''.&lt;br /&gt;
&lt;br /&gt;
Number of bytes to reserve for data string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Count&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Incoming_Count''.&lt;br /&gt;
&lt;br /&gt;
Maximum number of inbound string substitutions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Length 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''In_Len_0''.&lt;br /&gt;
&lt;br /&gt;
Number of bytes to reserve for data string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Label&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.&lt;br /&gt;
&lt;br /&gt;
Text label used to help identify the component on the panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Simulation Method&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''SimMethod''.&lt;br /&gt;
&lt;br /&gt;
Decides how to handle the simulation of the component.&lt;br /&gt;
&lt;br /&gt;
TCP Base - Allows simulation of the network communications using the TCP Base component and DLL.&lt;br /&gt;
&lt;br /&gt;
COM/Injector - Allows the simulation to connect to real hardware or injectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scope Traces&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''group1::cal_uart1::ScopeTraces''.&lt;br /&gt;
&lt;br /&gt;
Selects if the scope traces are automatically added to the data recorder window or not.&lt;br /&gt;
&lt;br /&gt;
    Simulation - draws an approximation of the UART data onto the scope trace.&lt;br /&gt;
&lt;br /&gt;
    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''group1::cal_uart1::ConsoleData''.&lt;br /&gt;
&lt;br /&gt;
Selects if the console data is automatically generated or not&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Columns&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''group1::cal_uart1::ConsoleColumns''.&lt;br /&gt;
&lt;br /&gt;
Number of characters that can be displayed on a single line of the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data Source&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::DataSource''.&lt;br /&gt;
&lt;br /&gt;
Simulation data source used to allow the component to connect to various remote devices&lt;br /&gt;
&lt;br /&gt;
    Nothing - Simulation data is ignored&lt;br /&gt;
&lt;br /&gt;
    COM port - Routes the communication data to and from a physical or virtual COM port &lt;br /&gt;
&lt;br /&gt;
    Injector - Routes the communication data via a data injector component on the Panel.&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_WIFI_(BL0136)_(E-blocks_2)&amp;diff=22882</id>
		<title>Component: WIFI (BL0136) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_WIFI_(BL0136)_(E-blocks_2)&amp;diff=22882"/>
		<updated>2018-09-07T14:35:47Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image WIFI (BL0136) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix Ltd.&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 2.1 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon ea9c0946_5f88_4f9a_ae5f_8ba9b981b389.png|Image]] WIFI (BL0136) component==&lt;br /&gt;
Wireless LAN component designed to work with the ESP-12S module.&lt;br /&gt;
Provides a very simple interface to allow webpages to be hosted from hardware or simulation.&lt;br /&gt;
Also available in the form of the BL0136 WIFI E-block.&lt;br /&gt;
&lt;br /&gt;
This component can be used for connecting a system to a wifi network, by using the ‘ScanForSSID’ component macro. Then different macros can be used to read the encryption mode, the signal strength or the specific SSID of one of the networks picked up in the scan. There is also a ‘ConnectToSSID’ macro which allows you to connect your program to a wifi network (as long as you have a sufficient password) and another macro you can use to disconnect from the network again.&lt;br /&gt;
As well as connecting to a wifi network, there is a component macro called ‘CreateAccessPoint’ which creates an access point (with a chosen SSID, password, channel, and encryption) for other people to connect to.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DisconnectFromSSID&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Disconnects from the current SSID. &lt;br /&gt;
&lt;br /&gt;
Returns 1 if the command was accepted and returned an &amp;quot;OK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SendString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends the given Text. &lt;br /&gt;
&lt;br /&gt;
Appends a CR to the end of the string it SendCR is greater than 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Text''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SendCR''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClientConnect&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Creates a TCP or UDP connection to a remote server.&lt;br /&gt;
&lt;br /&gt;
Returns the state of the connection.&lt;br /&gt;
&lt;br /&gt;
0=Connection failed&lt;br /&gt;
&lt;br /&gt;
1=Connection active&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Type''&lt;br /&gt;
::0 = TCP, 1 = UDP&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''IPAddress''&lt;br /&gt;
::e.g. &amp;quot;192.168.1.20&amp;quot;&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Port''&lt;br /&gt;
::Remote port number to connect to, HTTP comms = Port 80&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ControlTCPServer&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Allows a TCP web page server to be switched on and off on the selected port.&lt;br /&gt;
&lt;br /&gt;
Returns 1 if the command was completed correctly.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Enable''&lt;br /&gt;
::0 = Stop Server, 1 = Start Server&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Port''&lt;br /&gt;
::Server port to listen for incoming TCP/IP data requests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;GetFirmwareVersion&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects the firmware version from the ESP8266 module and returns it as a string.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;CheckForPageRequests&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
To be called periodically. Returns non-zero if a request has been processed&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClientSendRequest&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends out a request for data&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Request''&lt;br /&gt;
::e.g. &amp;quot;GET / HTTP/1.0\r\n\r\n&amp;quot;&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadSSIDFromScan&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects one of the SSID name strings from the last SSID Scan.&lt;br /&gt;
&lt;br /&gt;
The ScanForSSID macro must be called first.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::SSID Index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;CreateAccessPoint&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets up the wireless LAN module into AP mode to host a wireless network.&lt;br /&gt;
&lt;br /&gt;
Other WIFI enabled devices can then connect to the module.&lt;br /&gt;
&lt;br /&gt;
Returns 1 for success.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''SSID''&lt;br /&gt;
::Name of the wireless network to create&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Password''&lt;br /&gt;
::Password used to gain access to the network&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::802.11 Channel Range 1-14&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Encryption''&lt;br /&gt;
::0=Open, 1=WEP, 2=WPA_PSK, 3=WPA2_PSK, 4=WPA_WPA2_PSK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetOutValue&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Set the value of an outbound substitution string&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''index''&lt;br /&gt;
::Range 0-4&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''value''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadSignalStrengthFromScan&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects the signal strength from the last SSID Scan.&lt;br /&gt;
&lt;br /&gt;
The ScanForSSID macro must be called first.&lt;br /&gt;
&lt;br /&gt;
Value returned is in negative dB, smaller value = better signal&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::SSID Index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadEncryptionModeFromScan&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects one of the encryption modes from the last SSID Scan.&lt;br /&gt;
&lt;br /&gt;
The ScanForSSID macro must be called first.&lt;br /&gt;
&lt;br /&gt;
0=Open, 1=WEP, 2=WPA_PSK, 3=WPA2_PSK, 4=WPA_WPA2_PSK&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::SSID Index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;GetByteWithTimeout&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Attempts to receive a byte from the circular buffer.&lt;br /&gt;
&lt;br /&gt;
If nothing is available then waits up to 20 ms for data to become available.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;GetInValue&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Returns the string value of a Request parameter&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''index''&lt;br /&gt;
::Index of the request paramter, starting at zero Range 0-2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ConnectToSSID&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Attempts to connect to the given SSID and Key values. &lt;br /&gt;
&lt;br /&gt;
Returns 1 if the SSID has been connected.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''SSID''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Key''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Timeout''&lt;br /&gt;
::Number of seconds to wait for the connection, default 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ScanForSSID&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Checks for wireless networks in the local area which are broadcasting their SSID.&lt;br /&gt;
&lt;br /&gt;
Must not be connected to a network to allow this to function.&lt;br /&gt;
&lt;br /&gt;
Returns the number of wireless networks found, max 8.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Initialise the device with the property data.&lt;br /&gt;
&lt;br /&gt;
Returns 1 if &amp;quot;ready&amp;quot; message successfully received &lt;br /&gt;
&lt;br /&gt;
Returns 0 if no reply from module&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;CheckTCPServerIP&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Collects the local IP address of the active TCP server.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Receive Buffer Size&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''RxBufferSize''.&lt;br /&gt;
&lt;br /&gt;
Buffer used to store incoming data ready for processing.&lt;br /&gt;
&lt;br /&gt;
Default 128 Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scan Buffer Size&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ScanBufferSize''.&lt;br /&gt;
&lt;br /&gt;
Buffer used to hold SSID names when performing a SSID network scan.&lt;br /&gt;
&lt;br /&gt;
Default 100 Bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset Mode&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''ResetMode''.&lt;br /&gt;
&lt;br /&gt;
The initialise automatically resets the WIFI module before establishing communications.&lt;br /&gt;
&lt;br /&gt;
Software reset uses an AT command to preform the reset&lt;br /&gt;
&lt;br /&gt;
Hardware reset uses an extra I/O pin to toggle the signal to the reset pin on the module.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Command Termination&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Termination''.&lt;br /&gt;
&lt;br /&gt;
Older versions of the firmware require \r to terminate a AT command string.&lt;br /&gt;
&lt;br /&gt;
Newer versions of the firmware have changed to use \r\n termination.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::CHANNEL''.&lt;br /&gt;
&lt;br /&gt;
UART Channel selector&lt;br /&gt;
&lt;br /&gt;
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.&lt;br /&gt;
&lt;br /&gt;
Hardware channels use the selected peripheral on-board the target microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Options&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::BAUD_LIST''.&lt;br /&gt;
&lt;br /&gt;
Baud rate option selector&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Rate&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''group1::cal_uart1::BAUD''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''group1::cal_uart1::TX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Transmit data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::OutputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware transmit pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''group1::cal_uart1::RX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Receive data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::InputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware receive pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''RESET''.&lt;br /&gt;
&lt;br /&gt;
WLAN module reset pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Use Flow Control&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::FLOWEN''.&lt;br /&gt;
&lt;br /&gt;
Flow Control (Handshake) enable or disable.&lt;br /&gt;
&lt;br /&gt;
    On: Two I/O pins are used to control the flow of data in and out of the device.&lt;br /&gt;
&lt;br /&gt;
    Off: Flow control is disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Max Web Pages&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''PAGES''.&lt;br /&gt;
&lt;br /&gt;
Maximum number of individual webpages we can serve up with the component.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Web Page Timeout&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''TIMEOUT''.&lt;br /&gt;
&lt;br /&gt;
Number of cycles to try and send / receive a webpage before timing out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Line Delay&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''LineDelay''.&lt;br /&gt;
&lt;br /&gt;
Fixed delay in microseconds sent in between sending a HTML line when running as a web page server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name1''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html1''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name2''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html2''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name3''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html3''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Name Page 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''name4''.&lt;br /&gt;
&lt;br /&gt;
HTML name of webpage 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;HTML Page 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Multiple lines of text'' and can be referenced with the variable name ''html4''.&lt;br /&gt;
&lt;br /&gt;
HTML content for webpage 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Count&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Outgoing_Count''.&lt;br /&gt;
&lt;br /&gt;
Maximum number of outbound string substitutions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Length 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Out_Len_0''.&lt;br /&gt;
&lt;br /&gt;
Number of bytes to reserve for data string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Count&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Incoming_Count''.&lt;br /&gt;
&lt;br /&gt;
Maximum number of inbound string substitutions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Length 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''In_Len_0''.&lt;br /&gt;
&lt;br /&gt;
Number of bytes to reserve for data string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Label&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.&lt;br /&gt;
&lt;br /&gt;
Text label used to help identify the component on the panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Simulation Method&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''SimMethod''.&lt;br /&gt;
&lt;br /&gt;
Decides how to handle the simulation of the component.&lt;br /&gt;
&lt;br /&gt;
TCP Base - Allows simulation of the network communications using the TCP Base component and DLL.&lt;br /&gt;
&lt;br /&gt;
COM/Injector - Allows the simulation to connect to real hardware or injectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scope Traces&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''group1::cal_uart1::ScopeTraces''.&lt;br /&gt;
&lt;br /&gt;
Selects if the scope traces are automatically added to the data recorder window or not.&lt;br /&gt;
&lt;br /&gt;
    Simulation - draws an approximation of the UART data onto the scope trace.&lt;br /&gt;
&lt;br /&gt;
    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''group1::cal_uart1::ConsoleData''.&lt;br /&gt;
&lt;br /&gt;
Selects if the console data is automatically generated or not&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Columns&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''group1::cal_uart1::ConsoleColumns''.&lt;br /&gt;
&lt;br /&gt;
Number of characters that can be displayed on a single line of the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data Source&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''group1::cal_uart1::DataSource''.&lt;br /&gt;
&lt;br /&gt;
Simulation data source used to allow the component to connect to various remote devices&lt;br /&gt;
&lt;br /&gt;
    Nothing - Simulation data is ignored&lt;br /&gt;
&lt;br /&gt;
    COM port - Routes the communication data to and from a physical or virtual COM port &lt;br /&gt;
&lt;br /&gt;
    Injector - Routes the communication data via a data injector component on the Panel.&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Bluetooth_(BL0170)_(E-blocks_2)&amp;diff=22881</id>
		<title>Component: Bluetooth (BL0170) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Bluetooth_(BL0170)_(E-blocks_2)&amp;diff=22881"/>
		<updated>2018-09-07T14:35:16Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Bluetooth (BL0170) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix Ltd.&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon 5f9d5a58_6c01_4588_afa0_df4c01ce161a.png|Image]] Bluetooth (BL0170) component==&lt;br /&gt;
Low level routines for controlling a Microchip RN4677 Bluetooth Module.&lt;br /&gt;
Also available in the form of the BL0170 Bluetooth E-block.&lt;br /&gt;
Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.&lt;br /&gt;
&lt;br /&gt;
There are component macros in flowcode 8 that allow you to send to and receive information from the Bluetooth component in the form of a string or a single byte. The component needs to be initialised before it can send or receive information, with the ‘Initialise’ macro.&lt;br /&gt;
Make sure the Bluetooth component is connected to the right port in flowcode, corresponding to the port it’s connected to on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReceiveByte&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Receives a single data byte from the Bluetooth module.&lt;br /&gt;
&lt;br /&gt;
0xFF signifies no data available.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Timeout''&lt;br /&gt;
::Amount of time to wait in milliseconds 0=Wait forever&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SendString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends a string to the GSM module.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Command''&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SendCR''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Copies the incoming data from the data string array to a local string variable.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''NumBytes''&lt;br /&gt;
::Maximum number of bytes to try and read&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|STRING]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SendByte&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends a single data byte out to the Bluetooth module.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Data''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets up the Bluetooth module including: &lt;br /&gt;
&lt;br /&gt;
 - Enabling the UART&lt;br /&gt;
&lt;br /&gt;
 - Configuring the module (Name / Key / etc)&lt;br /&gt;
&lt;br /&gt;
Returns 1 for OK and 0 for no reply.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Device Name&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''DeviceName''.&lt;br /&gt;
&lt;br /&gt;
Sets the friendly name of the Bluetooth device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pair Key&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''PairKey''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Discoverable&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''InitDisc''.&lt;br /&gt;
&lt;br /&gt;
Is the Bluetooth module discoverable by default?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reply Timeout&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''ReplyTimeout''.&lt;br /&gt;
&lt;br /&gt;
Specifies the amount of time to wait for incoming data before timing out in milliseconds.&lt;br /&gt;
&lt;br /&gt;
Default 2000 = 2 seconds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX Buffer Size&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''string_size''.&lt;br /&gt;
&lt;br /&gt;
Amount of RAM memory to dedicate to receiving responses and incoming data from the BT module.&lt;br /&gt;
&lt;br /&gt;
Default 40&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::CHANNEL''.&lt;br /&gt;
&lt;br /&gt;
UART Channel selector&lt;br /&gt;
&lt;br /&gt;
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.&lt;br /&gt;
&lt;br /&gt;
Hardware channels use the selected peripheral on-board the target microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Options&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.&lt;br /&gt;
&lt;br /&gt;
Baud rate option selector&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Baud Rate&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::TX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Transmit data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;TX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::OutputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware transmit pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.&lt;br /&gt;
&lt;br /&gt;
Pin to be used for Receive data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;RX Remap Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::InputPins''.&lt;br /&gt;
&lt;br /&gt;
Allows the hardware receive pin to be configured from a list of available pins based on your target device,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Use Flow Control&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::FLOWEN''.&lt;br /&gt;
&lt;br /&gt;
Flow Control (Handshake) enable or disable.&lt;br /&gt;
&lt;br /&gt;
    On: Two I/O pins are used to control the flow of data in and out of the device.&lt;br /&gt;
&lt;br /&gt;
    Off: Flow control is disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset Pin&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Reset''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Label&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.&lt;br /&gt;
&lt;br /&gt;
Textual label shown on the component I/O flasher&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Scope Traces&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.&lt;br /&gt;
&lt;br /&gt;
Selects if the scope traces are automatically added to the data recorder window or not.&lt;br /&gt;
&lt;br /&gt;
    Simulation - draws an approximation of the UART data onto the scope trace.&lt;br /&gt;
&lt;br /&gt;
    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''.&lt;br /&gt;
&lt;br /&gt;
Selects if the console data is automatically generated or not&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Console Columns&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''.&lt;br /&gt;
&lt;br /&gt;
Number of characters that can be displayed on a single line of the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data Source&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.&lt;br /&gt;
&lt;br /&gt;
Simulation data source used to allow the component to connect to various remote devices&lt;br /&gt;
&lt;br /&gt;
    Nothing - Simulation data is ignored&lt;br /&gt;
&lt;br /&gt;
    COM port - Routes the communication data to and from a physical or virtual COM port &lt;br /&gt;
&lt;br /&gt;
    Injector - Routes the communication data via a data injector component on the Panel.&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Colour_GLCD_(BL0157)_(E-blocks_2)&amp;diff=22880</id>
		<title>Component: Colour GLCD (BL0157) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Colour_GLCD_(BL0157)_(E-blocks_2)&amp;diff=22880"/>
		<updated>2018-09-07T14:34:29Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Colour GLCD (BL0157) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix Ltd&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.6 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon 25db03ef_5393_4fb8_9b34_87a506428296.png|Image]] Colour GLCD (BL0157) component==&lt;br /&gt;
Graphical display component designed to work with the BL0157 E-block.&lt;br /&gt;
Based on the ILI9163C 16-bit colour graphical controller IC.&lt;br /&gt;
&lt;br /&gt;
You can use component macros in flowcode 8 to draw various shapes on the colour GLCD such as a circle, an ellipse, a line and a rectangle. There are also macros to turn the backlight on or off, and to print a string of characters or a decimal number on the screen of the GLCD. As it is a ‘colour’ GLCD, you can set the background or foreground colour by inputting values from 0-255 for red, green and blue, in order to create almost any colour in the world. Before the GLCD can take information in, you need to initialise it with a component macro.&lt;br /&gt;
Make sure all connections in flowcode are connected to the correct port and pins, the port should correspond to the port that the colour GLCD is connected to on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BacklightOn&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets the backlight enable pin allowing the display backlight to switch on.&lt;br /&gt;
&lt;br /&gt;
Switching the backlight on and off at high speed allow the light to be dimmed.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro prints a decimal number to the Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]] ''Number''&lt;br /&gt;
::Byte or Integer number to send to the display.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Font''&lt;br /&gt;
::Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawLine&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Plot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current foreground colour at pixel location X, Y.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawEllipse&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws an ellipse object on the display with the center of the ellipse at the location X,Y&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X Coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''XRadius''&lt;br /&gt;
::Radius of the circle on the X axis specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''YRadius''&lt;br /&gt;
::Radius of the circle on the Y axis specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::0=Fill inside circle using background colour / 1=Draw outer circle only&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::0=Use Transparent Setting / 1=Fill with foreground colour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;FastPlot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current foreground colour at current pixel location.&lt;br /&gt;
&lt;br /&gt;
Not compatible with orientations other than 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetDisplayOrientation&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Orientation''&lt;br /&gt;
::0=Default, 1=90°CW, 2=180°CW, 3=270°CW&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BacklightOff&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears the backlight enable pin allowing the display backlight to switch off.&lt;br /&gt;
&lt;br /&gt;
Switching the backlight on and off at high speed allow the light to be dimmed.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BPlot&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets a pixel with the current background colour at pixel location X, Y.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Window&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies a full screen or sub window of pixels to draw.&lt;br /&gt;
&lt;br /&gt;
Useful when used with the FastPlot function to draw bitmaps at high speed.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Print&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro prints a string of characters to the Graphical LCD.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Str''&lt;br /&gt;
::String of characters to send to the display.&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
::X pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
::Y pixel coordinate to set the output string position.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Font''&lt;br /&gt;
::Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClearDisplay&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
This macro clears the display of any previous output by overwriting the entire display with the background colour.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetBackgroundColour&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies the colour of the background by creating a mixture of red, green and blue.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Red''&lt;br /&gt;
::0 - 255 where 0 = no red and 255 = maximum red&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Green''&lt;br /&gt;
::0 - 255 where 0 = no green and 255 = maximum green&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Blue''&lt;br /&gt;
::0 - 255 where 0 = no blue and 255 = maximum blue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawCircle&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a circle object on the display with the center of the circle at the location X,Y&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X''&lt;br /&gt;
::X Coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y''&lt;br /&gt;
::Y coordinate for the center of the circle&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Radius''&lt;br /&gt;
::Radius of the circle specified in pixels&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::0=Fill inside circle using background colour / 1=Draw outer circle only&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::0=Use Transparent Setting / 1=Fill with foreground colour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetForegroundColour&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Specifies the colour of the foreground by creating a mixture of red, green and blue.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Red''&lt;br /&gt;
::0 - 255 where 0 = no red and 255 = maximum red&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Green''&lt;br /&gt;
::0 - 255 where 0 = no green and 255 = maximum green&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Blue''&lt;br /&gt;
::0 - 255 where 0 = no blue and 255 = maximum blue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DrawRectangle&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''X2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|UINT]] ''Y2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Transparent''&lt;br /&gt;
::Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Solid''&lt;br /&gt;
::Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pixel Height&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''pixel_height''.&lt;br /&gt;
&lt;br /&gt;
Heigt of gLCD canvas measured in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Pixel Width&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''pixel_width''.&lt;br /&gt;
&lt;br /&gt;
Width of gLCD canvas measured in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Monochrome&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''True or false'' and can be referenced with the variable name ''monochrome''.&lt;br /&gt;
&lt;br /&gt;
Specifies if the display is capable of colour or monochrome only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Foreground Color&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Color picker'' and can be referenced with the variable name ''foreground_colour''.&lt;br /&gt;
&lt;br /&gt;
Specifies the initial foreground color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Background Color&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Color picker'' and can be referenced with the variable name ''background_colour''.&lt;br /&gt;
&lt;br /&gt;
Specifies the initial background color.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Colour Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''colour_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Total color bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Red Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''red_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Specifies the red bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Green Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''green_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Specifies the green bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Blue Bit Depth&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Signed integer'' and can be referenced with the variable name ''blue_bit_depth''.&lt;br /&gt;
&lt;br /&gt;
Specifies the blue bit depth for the display.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''data_pin''.&lt;br /&gt;
&lt;br /&gt;
Data pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Clock&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''clock_pin''.&lt;br /&gt;
&lt;br /&gt;
Clock pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Chip Select&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''chip_sel_pin''.&lt;br /&gt;
&lt;br /&gt;
Chip select pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;A0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''a0_pin''.&lt;br /&gt;
&lt;br /&gt;
Instruction / Command pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Reset&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''reset_pin''.&lt;br /&gt;
&lt;br /&gt;
Reset pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;LED&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''led_pin''.&lt;br /&gt;
&lt;br /&gt;
LED backlight strobe pin connection&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Display Method&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DisplayMethod''.&lt;br /&gt;
&lt;br /&gt;
Chooses which method to use when drawing to the gLCD component&lt;br /&gt;
&lt;br /&gt;
The bitmap is the more common mode but may run slowly on some machines.&lt;br /&gt;
&lt;br /&gt;
The point cloud should run faster but may use more memory.&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_(BL0162)_(E-blocks_2)&amp;diff=22879</id>
		<title>Component: Servo Motor (BL0162) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_(BL0162)_(E-blocks_2)&amp;diff=22879"/>
		<updated>2018-09-07T14:33:41Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Servo Motor (BL0162) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon bc8ae960_3887_4d08_ac7c_1eedb8e5f6c8.png|Image]] Servo Motor (BL0162) component==&lt;br /&gt;
Servo motor component to drive the E-blocks 2 BL0162 Servo Motors board.&lt;br /&gt;
Provides up to eight individually addressable connections for standard DC servo motors to be connected.&lt;br /&gt;
&lt;br /&gt;
There are component macros in flowcode which allow you to set the level of trim for each servo channel, and to move it to a certain position. Before you can allow the servo to connect you must use the initialise macro in the program and also the ‘EnableServo’ to specify which servo you are communicating with. There is also a ‘DisableServo’ macro you can use to disable a servo channel again.&lt;br /&gt;
Make sure the channels are all connected to the correct port and pin, the port will correspond to the port the servo motor is connected to on the E-blocks 2 upstream board you are using.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;DisableServo&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Disables a servo channel effectivly disabling the motor.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetPosition&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves directly to the specified position with no interpolation.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Target position to move towards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IsAutoMoving&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Is the AutoMoveToPosition movement complete.&lt;br /&gt;
&lt;br /&gt;
Returns 1 if the servo is still moving.&lt;br /&gt;
&lt;br /&gt;
Returns 0 if the servo movement is complete.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;MoveToPosition&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves a single step towards the new position, the rate of movement is determined by how often the move to macro is called. Returns 1 if the position has been reached.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Target position to move towards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] : 1 = reached target, 0 = target not reached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetTrim&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Allows the level of trim for each servo channel to be adjusted progmatically.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Trim''&lt;br /&gt;
::0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;AutoMoveToPosition&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Automatically moves towards the new position with a fixed rate of 100 steps per second.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Position to move to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;EnableServo&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::The channel to set the position for.  First channel is zero.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;SetAutoMoveSpeed&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets the speed of the auto move to position macro.&lt;br /&gt;
&lt;br /&gt;
Default speed is 1.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Speed''&lt;br /&gt;
::1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Initialise&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets up the servo motor interrupts&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channels (1 - 8)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::Channel_Count''.&lt;br /&gt;
&lt;br /&gt;
Set the number of servo's that you need to control.&lt;br /&gt;
&lt;br /&gt;
Value from 1 to 8.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin0''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin1''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin2''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin3''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin4''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 5&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin5''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 6&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin6''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Channel 7&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''Servo_Controller1::pin7''.&lt;br /&gt;
&lt;br /&gt;
Pin on which to output PWM for the servo motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Minimum (us)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Servo_Controller1::min_pulse_width''.&lt;br /&gt;
&lt;br /&gt;
Shortest pulse width that will be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Maximum (us)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Servo_Controller1::max_pulse_width''.&lt;br /&gt;
&lt;br /&gt;
Longest pulse width used for the PWM signals.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim0''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim1''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim2''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim3''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim4''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 5&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim5''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 6&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim6''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Trim 7&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Servo_Controller1::trim7''.&lt;br /&gt;
&lt;br /&gt;
Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar&lt;br /&gt;
&lt;br /&gt;
input values will produce the same degree of movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim0''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim1''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 2&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim2''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 3&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim3''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 4&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim4''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 5&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim5''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 6&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim6''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Servo Object 7&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Panel object'' and can be referenced with the variable name ''Servo_Controller1::sim7''.&lt;br /&gt;
&lt;br /&gt;
Drag a servo motor component onto the System Panel, and then select it here, to create&lt;br /&gt;
&lt;br /&gt;
an on screen simulation of the way that your flowchart moves the servo's.&lt;br /&gt;
&lt;br /&gt;
Servo motors should be based on the 'Servo Motor Base' component, or use a custom component&lt;br /&gt;
&lt;br /&gt;
set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_LCD_(BL0169)_(E-blocks_2)&amp;diff=22878</id>
		<title>Component: LCD (BL0169) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_LCD_(BL0169)_(E-blocks_2)&amp;diff=22878"/>
		<updated>2018-09-07T14:32:32Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image LCD (BL0169) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon ee697d50_7fb5_4074_8cd6_996e5c386722.png|Image]] LCD (BL0169) component==&lt;br /&gt;
LCD component to drive the E-blocks 2 BL0169 LCD board.&lt;br /&gt;
Provides a 4 x 20 character alphanumeric display.&lt;br /&gt;
&lt;br /&gt;
Make sure each data pin is connected to the right place in flowcode, which corresponds to the port that the LCD board is connected to on your E-blocks 2 upstream board. There are component macros you can use to print things on the LCD screen, in the form of a formatted number, an integer number, a string or the character which corresponds to an inputted ascii value.&lt;br /&gt;
You must use the ‘Start’ macro in the program before you can take any data on the LCD.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Clear&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears the entire contents of the display.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Text''&lt;br /&gt;
::Enter the text or variable to print to the LCD&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintAscii&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Takes the ascii value for a character and prints the character&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''character''&lt;br /&gt;
::Holds an ascii value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]] ''Number''&lt;br /&gt;
::Enter the number or variable to print to the LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;RAMWrite&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Values 0 to 7&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d0''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d3''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d4''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d5''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d6''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d7''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ClearLine&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Line''&lt;br /&gt;
::The line to clear, zero being the first (top) line of the display&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Cursor&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves the cursor on the LCD Display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''x''&lt;br /&gt;
::Set the cursor position in the X plane, 0 is the left most cell&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''y''&lt;br /&gt;
::Set the cursor position in the Y plane, 0 is the top most cell&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Command&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''instruction''&lt;br /&gt;
::Send a defined command to the LCD Screen. See datasheet for supported commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PrintFormattedNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Will allow you to print a number up to 32-bits with signed or unsigned formatting.&lt;br /&gt;
&lt;br /&gt;
Signed = -2147483648 to 2147483647&lt;br /&gt;
&lt;br /&gt;
Unsigned = 0 to 4294967295&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|ULONG]] ''Number''&lt;br /&gt;
::Enter the number or variable to print to the LCD&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] ''Format''&lt;br /&gt;
::0=Signed, 1=Unsigned&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ScrollDisplay&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Scrolls the display left or right by a number of given positions.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Holds the number of positions to shift the display&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Direction''&lt;br /&gt;
::0 = left, 1 = right&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;RawSend&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends data to the LCD display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''data''&lt;br /&gt;
::The data byte to send to the LCD&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] ''type''&lt;br /&gt;
::A boolean to indicate command type: true to write data, false to write a command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;RemapCharacter&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. &lt;br /&gt;
&lt;br /&gt;
The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''RemapIdx''&lt;br /&gt;
::Remap Index, Range: 0 to (Remap Characters - 1)&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SearchCharacter''&lt;br /&gt;
::Character to look for a replace&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''ReplacementCharacter''&lt;br /&gt;
::New character value to use in place of the search character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Start&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Startup routine required by the hardware device.&lt;br /&gt;
&lt;br /&gt;
Automatically clears the display after initialising.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 0 (11 / 7)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_0''.&lt;br /&gt;
&lt;br /&gt;
Data pin 0 - Connects to Data 4 on the hardware in 4-bit mode or Data 0 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 1 (12 / 8)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_1''.&lt;br /&gt;
&lt;br /&gt;
Data pin 1 - Connects to Data 5 on the hardware in 4-bit mode or Data 1 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 2 (13 / 9)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_2''.&lt;br /&gt;
&lt;br /&gt;
Data pin 2 - Connects to Data 6 on the hardware in 4-bit mode or Data 2 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Data 3 (14 / 10)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_Data_3''.&lt;br /&gt;
&lt;br /&gt;
Data pin 3 - Connects to Data 7 on the hardware in 4-bit mode or Data 3 in 8-bit mode&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Register Select (4)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_RS''.&lt;br /&gt;
&lt;br /&gt;
Register Select Pin - Informs the display if a command or data is about to be sent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Enable (6)&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''LCD1::Pin_E''.&lt;br /&gt;
&lt;br /&gt;
Enable pin - Used to synchronise data writes to the display&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Combo_(BL0114)_(E-blocks_2)&amp;diff=22877</id>
		<title>Component: Combo (BL0114) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Combo_(BL0114)_(E-blocks_2)&amp;diff=22877"/>
		<updated>2018-09-07T14:31:50Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Combo (BL0114) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon d4c04ac8_bbcd_4981_8ce6_9d6c9bb1e26a.png|Image]] Combo (BL0114) component==&lt;br /&gt;
A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs &lt;br /&gt;
and analogue inputs.&lt;br /&gt;
&lt;br /&gt;
Make sure both bank 0 and bank 1 are connected to the right ports in flowcode, which correspond to the ports the combo board is connected to on your E-blocks 2 upstream board. There are lots of component macros in flowcode 8, which you can use to read the input from one of the analog devices (potentiometer/LDR) as a byte or an integer, as well as doing many things with the LCD such as printing numbers, strings, formatted numbers or a character which corresponds to an inputted ascii value. There is also a component macro you can use to show a digit on one of the 7-segment displays. On the combo board there are also 16 switches and 16 LEDs, and in flowcode 8 there are component macros which can be used to read the state of a specified switch, or to set the state of a specified LED on the board. Before you can display anything on the LCD screen you must first put the ‘LCD_Start’ macro into the program.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;Seg_ShowDigit&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Displays a digit on the 7-seg display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Digit''&lt;br /&gt;
::Which of the digits to change (0 - 3)&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Value''&lt;br /&gt;
::The value to display (0 - 9)&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''DecimalPoint''&lt;br /&gt;
::Decides if the decimal point is lit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_PrintFormattedNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Will allow you to print a number up to 32-bits with signed or unsigned formatting.&lt;br /&gt;
&lt;br /&gt;
Signed = -2147483648 to 2147483647&lt;br /&gt;
&lt;br /&gt;
Unsigned = 0 to 4294967295&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|ULONG]] ''Number''&lt;br /&gt;
::Enter the number or variable to print to the LCD&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] ''Format''&lt;br /&gt;
::0=Signed, 1=Unsigned&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_RemapCharacter&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. &lt;br /&gt;
&lt;br /&gt;
The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''RemapIdx''&lt;br /&gt;
::Remap Index, Range: 0 to (Remap Characters - 1)&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''SearchCharacter''&lt;br /&gt;
::Character to look for a replace&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''ReplacementCharacter''&lt;br /&gt;
::New character value to use in place of the search character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_ScrollDisplay&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Scrolls the display left or right by a number of given positions.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Position''&lt;br /&gt;
::Holds the number of positions to shift the display&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Direction''&lt;br /&gt;
::0 = left, 1 = right&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IO_SetPort&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets the state of a single port&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Bank''&lt;br /&gt;
::0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IO_SetLEDState&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sets the state of a single LED&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Bank''&lt;br /&gt;
::0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''LED''&lt;br /&gt;
::0 = LED0, 7 = LED7&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''State''&lt;br /&gt;
::0 = Off, 1 = On&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IO_GetPort&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads the state of a single port&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Bank''&lt;br /&gt;
::0 = Top Bank of Switches, 1 = Bottom Bank of Switches&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_Cursor&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Moves the cursor on the LCD Display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''x''&lt;br /&gt;
::Set the cursor position in the X plane, 0 is the left most cell&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''y''&lt;br /&gt;
::Set the cursor position in the Y plane, 0 is the top most cell&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_Start&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Startup routine required by the hardware device.&lt;br /&gt;
&lt;br /&gt;
Automatically clears the display after initialising.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_Command&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''instruction''&lt;br /&gt;
::Send a defined command to the LCD Screen. See datasheet for supported commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_RAMWrite&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Values 0 to 7&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d0''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d1''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d2''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d3''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d4''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d5''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d6''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''d7''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IO_ReadAnalogAsInt&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads one of the analogue components as an Integer value&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::0 = Light Sensor, 1 = Potentiometer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_PrintString&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|&amp;lt;- STRING]] ''Text''&lt;br /&gt;
::Enter the text or variable to print to the LCD&lt;br /&gt;
::''This parameter may be returned back to the caller''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_ClearLine&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Line''&lt;br /&gt;
::The line to clear, zero being the first (top) line of the display&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IO_GetSwitchState&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads the state of a single switch&lt;br /&gt;
&lt;br /&gt;
Returns: 0 = Switch not pressed, 1 = Switch pressed&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Bank''&lt;br /&gt;
::0 = Top Bank of Switches, 1 = Bottom Bank of Switches&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Switch''&lt;br /&gt;
::0 = SW0, 7 = SW7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;IO_ReadAnalogAsByte&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads one of the analogue components as an byte value&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Channel''&lt;br /&gt;
::0 = Light Sensor, 1 = Potentiometer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_PrintAscii&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Takes the ascii value for a character and prints the character&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''character''&lt;br /&gt;
::Holds an ascii value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_PrintNumber&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|INT]] ''Number''&lt;br /&gt;
::Enter the number or variable to print to the LCD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_RawSend&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Sends data to the LCD display&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''data''&lt;br /&gt;
::The data byte to send to the LCD&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] ''type''&lt;br /&gt;
::A boolean to indicate command type: true to write data, false to write a command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LCD_Clear&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Clears the entire contents of the display.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Connection Type&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''ConnType''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Bank 0&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Digital port byte'' and can be referenced with the variable name ''Bank0''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Bank 1&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Digital port byte'' and can be referenced with the variable name ''Bank1''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(BL0145)_(E-blocks_2)&amp;diff=22876</id>
		<title>Component: Switch (BL0145) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(BL0145)_(E-blocks_2)&amp;diff=22876"/>
		<updated>2018-09-07T14:31:06Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image Switch (BL0145) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon b3a7287a_4070_49d1_9122_bf6169f67cd1.png|Image]] Switch (BL0145) component==&lt;br /&gt;
A set of 8 push switches that can be connected to an E-blocks 2 upstream board via a port connector.&lt;br /&gt;
Switches are wired in an active high configuration.&lt;br /&gt;
&lt;br /&gt;
There are component macros to read the state of all switches at once or just one of the switches. You can also use macros to tell the program to wait until a certain switch is pressed. When reading the state of a certain switch you are asked to input the index value of that switch (0-7), the index values are displayed below the switches on the E-blocks 2 board. &lt;br /&gt;
Make sure the switch panel is connected to the correct port in flowcode corresponding to the port on your E-blocks 2 upstream board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadState&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Read the state of the switch at the given index.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::The switch to read the status of.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BOOL]] : Key state - true = on, false = off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WaitUntilHigh&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Pause the program until the switch at the given index is turned on.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Index of the switch to wait for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;ReadAll&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Reads all of the switches at once, returning a byte containing one bit per&lt;br /&gt;
&lt;br /&gt;
switch.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] : One bit per switch in the array.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WaitUntilLow&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Pause the program until the switch at the given index is turned on.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::Index of the switch  to wait for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Input Mode&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''port''.&lt;br /&gt;
&lt;br /&gt;
Choose how your switches are connected.&lt;br /&gt;
&lt;br /&gt;
PORT = Single port byte for all switches - pins are allocated in sequence from pin 0 - X&lt;br /&gt;
&lt;br /&gt;
Custom = Individual pin by pin connections&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Port&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Digital port byte'' and can be referenced with the variable name ''PortByte''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_LED_(BL0167)_(E-blocks_2)&amp;diff=22875</id>
		<title>Component: LED (BL0167) (E-blocks 2)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_LED_(BL0167)_(E-blocks_2)&amp;diff=22875"/>
		<updated>2018-09-07T14:30:17Z</updated>

		<summary type="html">&lt;p&gt;SamT: /* Image LED (BL0167) component */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Author&lt;br /&gt;
| Matrix TSL&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Version&lt;br /&gt;
| 1.0 (Release)&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color: gray;&amp;quot; | Category&lt;br /&gt;
| E-blocks 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[File:Component Icon 103aab27_2ea3_483c_9710_fc3c495288a7.png|Image]] LED (BL0167) component==&lt;br /&gt;
LED component to drive the E-blocks 2 BL0167 LED board.&lt;br /&gt;
Provides eight individually addressable LEDs.&lt;br /&gt;
&lt;br /&gt;
There are component macros in flowcode 8 to turn a selected LED on or off, or you can even use macros to turn all LEDs on or off. Make sure the LED component is connected to the correct port in flowcode which corresponds to the port that it’s connected to on your E-blocks 2 upstream board. When selecting an individual LED to turn on or off you are asked for the index value (0-7), which is the large number shown underneath each LED on the E-blocks 2 board.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional examples&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;BarGraph&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Turns on the first N elements of the array - for generating bar graph metes etc.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Length''&lt;br /&gt;
::How many items to light up. Range 0-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LEDOn&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Turns on the selected LED leaving the other LEDs as was.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::LED to switch on. Range: 0-7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;AllOn&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Switches On All LEDs.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;LEDOff&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Turns off the selected LED leaving the other LEDs as was.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::LED to switch off. Range: 0-7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;PointGraph&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Turns on the Indexed LED and turns all others off.&lt;br /&gt;
&lt;br /&gt;
Does nothing if the index is out of range.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Index''&lt;br /&gt;
::The LED to light. Range: 0-7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;WriteValue&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Write a number which is presented on the LEDs in binary.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:[[Variable Types|BYTE]] ''Value''&lt;br /&gt;
::Value to write to the LEDs. Range: 0-255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&amp;lt;tt&amp;gt;AllOff&amp;lt;/tt&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;===&lt;br /&gt;
Switches Off All LEDs.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
&lt;br /&gt;
:''This macro has no parameters''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Return value'''&lt;br /&gt;
&lt;br /&gt;
:''This call does not return a value''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simulation macro reference==&lt;br /&gt;
&lt;br /&gt;
''This component does not contain any simulation macros''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Output Mode&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''OutputMode''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Port&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property is of type ''Digital port byte'' and can be referenced with the variable name ''Port''.&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;No additional information&amp;lt;/span&amp;gt;''&lt;/div&gt;</summary>
		<author><name>SamT</name></author>
		
	</entry>
</feed>