<?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=MartinW</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=MartinW"/>
	<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Special:Contributions/MartinW"/>
	<updated>2026-04-09T23:42:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Mathematical_Functions&amp;diff=41824</id>
		<title>Mathematical Functions</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Mathematical_Functions&amp;diff=41824"/>
		<updated>2025-11-03T11:05:41Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Old Versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Old Versions==&lt;br /&gt;
This page is current for Flowcode v11 and later. Earlier versions can be found below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/41807|Flowcode v10]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/39332|Flowcode v9]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Special:PermanentLink/39332|Flowcode v8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Introduction===&lt;br /&gt;
:''See [[Calculation Icon Properties]]''&lt;br /&gt;
&lt;br /&gt;
As well as the basic mathematical operators (+, -, *, /), the following mathematical functions can be used in calculations. All of these functions are now usable on each chip type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
&lt;br /&gt;
Flowcode includes an additional set of mathematical functions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto; width:900px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;25%&amp;quot; | Function Prototype&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;45%&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;30%&amp;quot; | Example&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Floating Point Arithmetic&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | float = fadd(float, float)&lt;br /&gt;
| Add two floating point numbers together&lt;br /&gt;
| fadd(3.14, 2.86) = 6.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | float = fsub(float, float)&lt;br /&gt;
| Subtract two floating point numbers&lt;br /&gt;
| fsub(10.5, 3.2) = 7.3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | float = fmul(float, float)&lt;br /&gt;
| Multiply two floating point numbers&lt;br /&gt;
| fmul(4.5, 2.0) = 9.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | float = fdiv(float, float)&lt;br /&gt;
| Divide two floating point numbers&lt;br /&gt;
| fdiv(15.0, 3.0) = 5.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | float = fmod(float, float)&lt;br /&gt;
| MOD function for floating point numbers&lt;br /&gt;
| fmod(7.5, 2.0) = 1.5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = isinf(float)&lt;br /&gt;
| Checks to see if the floating point number is infinite&lt;br /&gt;
| isinf(1.0/0.0) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = isnan(float)&lt;br /&gt;
| Checks to see if the floating point is not a number&lt;br /&gt;
| isnan(0.0/0.0) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = float_eq(float, float)&lt;br /&gt;
| Compares two floating point numbers to see if they are equal&lt;br /&gt;
| float_eq(3.14, 3.14) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = float_ge(float, float)&lt;br /&gt;
| Compares two floating point numbers to see if they are greater then or equal&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| float_ge(5.0, 3.0) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = float_gt(float, float)&lt;br /&gt;
| Compares two floating point numbers to see if they are greater then&lt;br /&gt;
| float_gt(5.0, 3.0) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = float_le(float, float)&lt;br /&gt;
| Compares two floating point numbers to see if they are less then or equal&lt;br /&gt;
| float_le(3.0, 5.0) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | byte = float_lt(float, float)&lt;br /&gt;
| Compares two floating point numbers to see if they are less then&lt;br /&gt;
| float_lt(3.0, 5.0) = 1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | int = random()&lt;br /&gt;
| Generates a random number (0-65535)&lt;br /&gt;
| (random() MOD 10) + 1 = 7 (range 1-10)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Mathematical Functions&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | fabs( x ), floor( x ), ceil( x )&lt;br /&gt;
| Absolute value, floor and ceiling functions&lt;br /&gt;
| fabs(-5.7) = 5.7&amp;lt;br&amp;gt;floor(4.9) = 4&amp;lt;br&amp;gt;ceil(4.1) = 5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | fmod( x , y )&lt;br /&gt;
| Floating point modulus (remainder of x divided by y)&lt;br /&gt;
| fmod(25.5, 7.0) = 4.5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | sqrt( x ), cbrt( x )&lt;br /&gt;
| Square and cube roots&lt;br /&gt;
| sqrt(25) = 5.0&amp;lt;br&amp;gt;cbrt(27) = 3.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | log( x ), log10( x )&lt;br /&gt;
| Logarithms (base e and base 10)&lt;br /&gt;
| log(2.718) ~ 1.0&amp;lt;br&amp;gt;log10(100) = 2.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | exp( x ), pow( x , y )&lt;br /&gt;
| Exponential and power functions (x to the power of y)&lt;br /&gt;
| exp(1) ~ 2.718&amp;lt;br&amp;gt;pow(2, 8) = 256&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | sin( x ), cos( x ), tan( x )&lt;br /&gt;
| Trigonometric functions where x is in radians&lt;br /&gt;
| sin(1.57) ~ 1.0&amp;lt;br&amp;gt;cos(0) = 1.0&amp;lt;br&amp;gt;tan(0.785) ~ 1.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | asin( x ), acos( x ), atan( x )&lt;br /&gt;
| Inverse trigonometric functions where x is in radians          &lt;br /&gt;
| asin(0.5) ~ 0.524&amp;lt;br&amp;gt;acos(0.707) ~ 0.785&amp;lt;br&amp;gt;atan(1) ~ 0.785&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | atan2( y , x )&lt;br /&gt;
| Four-quadrant inverse tangent&lt;br /&gt;
| atan2(1, 1) = 0.785&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | sinh( x ), cosh( x ), tanh( x )&lt;br /&gt;
| Hyperbolic functions&lt;br /&gt;
| sinh(1) ~ 1.175&amp;lt;br&amp;gt;cosh(0) = 1.0&amp;lt;br&amp;gt;tanh(1) ~ 0.762&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | isnan( x ), isinf( x )&lt;br /&gt;
| Tests for not-a-number and infinity&lt;br /&gt;
| isnan(5.0) = 0&amp;lt;br&amp;gt;isinf(5.0) = 0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | round( x )&lt;br /&gt;
| Decimal rounding (x rounded to the nearest integer)&lt;br /&gt;
| round(3.7) = 4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | fround( x , y )&lt;br /&gt;
| Floating point rounding (x rounded to y decimal places)&lt;br /&gt;
| fround(3.14159, 2) = 3.14&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | asinh( x ), acosh( x ), atanh( x )&lt;br /&gt;
| Inverse hyperbolic functions&lt;br /&gt;
| asinh(1) ~ 0.881&amp;lt;br&amp;gt;acosh(1) = 0&amp;lt;br&amp;gt;atanh(0.5) ~ 0.549&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | fact( x )&lt;br /&gt;
| Factorial (multiply all numbers down to 1)&lt;br /&gt;
| fact(5) = 120 (5×4×3×2×1)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Integer Operations&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | MOD&lt;br /&gt;
| Returns the remainder after division&lt;br /&gt;
| 17 MOD 5 = 2 (17÷5 = 3 remainder 2)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Bitwise Operations&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | AND &amp;lt;also &amp;amp;&amp;gt;&lt;br /&gt;
| Bitwise AND operation&lt;br /&gt;
| 0b1100 AND 0b1010 = 0b1000&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | OR &amp;lt;also |&amp;gt;&lt;br /&gt;
| Bitwise OR operation&lt;br /&gt;
| 0b1100 OR 0b1010 = 0b1110&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | XOR&lt;br /&gt;
| Bitwise XOR (exclusive OR) operation&lt;br /&gt;
| 0b1100 XOR 0b1010 = 0b0110&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | NOT &amp;lt;also ~&amp;gt;&lt;br /&gt;
| Bitwise NOT operation&lt;br /&gt;
| NOT 0b1100 = 0b0011&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;lt;&amp;lt;&lt;br /&gt;
| Left shift operation (multiply by 2^n)&lt;br /&gt;
| 5 &amp;lt;&amp;lt; 2 = 20 (5 × 4)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;gt;&amp;gt;&lt;br /&gt;
| Right shift operation (divide by 2^n)&lt;br /&gt;
| 20 &amp;gt;&amp;gt; 2 = 5 (20 ÷ 4)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Logical Operations (usually used in decision branches)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ==&amp;lt;br&amp;gt;(also =)&lt;br /&gt;
| Equal to operation&lt;br /&gt;
| Value1 = 26, Value2 = 26&amp;lt;br&amp;gt;If Value1 == Value2 then True&amp;lt;br&amp;gt;If Value1 = Value2 then True&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !=&amp;lt;br&amp;gt;(also &amp;lt;&amp;gt;)&lt;br /&gt;
| Not equal to operation&lt;br /&gt;
| Value1 = 10, Value2 = 20&amp;lt;br&amp;gt;If Value1 != Value2 then True&amp;lt;br&amp;gt;If Value1 &amp;lt;&amp;gt; Value2 then True&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;amp;&amp;amp;&lt;br /&gt;
| Logical AND operation&lt;br /&gt;
| Value = 10&amp;lt;br&amp;gt;If (Value &amp;gt; 2) &amp;amp;&amp;amp; (Value &amp;lt; 15) then True&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;amp;#124;&amp;amp;#124;&lt;br /&gt;
| Logical OR operation&lt;br /&gt;
| Value = 20&amp;lt;br&amp;gt;If (Value &amp;lt; 5) &amp;amp;#124;&amp;amp;#124; (Value &amp;gt; 15) then True&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| Logical NOT operation&lt;br /&gt;
| Flag = 1&amp;lt;br&amp;gt;If ! Flag then False (inverts the value)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Array Functions&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | arraydims( array )&lt;br /&gt;
| Get the number of dimensions in an array&lt;br /&gt;
| arraydims(data[5][3]) = 2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | arraysize( array )&lt;br /&gt;
| Get the total size of an array&lt;br /&gt;
| arraysize(data[5][3]) = 15&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Hardware Functions&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | SetPinNoDDR( PortPin, Output )&lt;br /&gt;
| Set output pin quickly without changing data direction state.&lt;br /&gt;
| SetPinNoDDR(PORTA.0, 1) = pin high&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Input = GetPinNoDDR( PortPin )&lt;br /&gt;
| Read input pin quickly without changing data direction state.&lt;br /&gt;
| GetPinNoDDR(PORTB.1) = 0 or 1&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Type Conversion&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | float2int( x )&lt;br /&gt;
| Convert floating point number to integer&lt;br /&gt;
| float2int(5.7) = 5 (truncates)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | int2float( x )&lt;br /&gt;
| Convert integer to floating point number&lt;br /&gt;
| int2float(42) = 42.0&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color: #f0f0f0;&amp;quot; | Type Casting Operators (For more information see [[Typecasting]])&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | STRING&lt;br /&gt;
| Convert numeric value to string type&lt;br /&gt;
| STRING 123 = &amp;quot;123&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | FLOAT&lt;br /&gt;
| Convert value to floating point type&lt;br /&gt;
| FLOAT 5 = 5.0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | SIGNED&lt;br /&gt;
| Convert value to signed integer type&lt;br /&gt;
| SIGNED -5 = -5 (as signed)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | UNSIGNED&lt;br /&gt;
| Convert value to unsigned integer type&lt;br /&gt;
| UNSIGNED -5 = 65531 (as unsigned)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Internal_Oscillator&amp;diff=41689</id>
		<title>Internal Oscillator</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Internal_Oscillator&amp;diff=41689"/>
		<updated>2025-09-02T15:33:45Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A lot of the devices have an inbuilt oscillator which can be used to reduce the number of devices required to drive the microcontroller.&lt;br /&gt;
&lt;br /&gt;
The device datasheet should detail the type of oscillator available to the device.&lt;br /&gt;
&lt;br /&gt;
To control the internal oscillator speed, a c code block will require adding at the very top of main, so its the first icon to be accessed. &lt;br /&gt;
&lt;br /&gt;
Luckily, we don't need to dive into the datasheet to work out the code to set the internal oscillator to the correct speed.&lt;br /&gt;
&lt;br /&gt;
The is an '''Internal Oscillator Helper''' component which is located in '''Components Libraries''' &amp;gt; '''Matrix Tools''' &amp;gt; '''IntOsc Helper'''&lt;br /&gt;
Alternatively, Use the search magnifying glass option.&lt;br /&gt;
&lt;br /&gt;
This can be found on left of the '''Components Libraries''' and enter '''intos''' in the search bar. &lt;br /&gt;
&lt;br /&gt;
[[file:InOscHelper1.png]]&lt;br /&gt;
&lt;br /&gt;
'''Setting the hardware at the correct speed for PIC16F18877'''&lt;br /&gt;
&lt;br /&gt;
1. '''Build''' &amp;gt; '''Project Options...''' '''Other options''' &amp;gt; Clock speed (MHZ) [defines delay-related timings] &amp;amp; enter desired speed, e.g. 16MHz. This does not set the hardware speed, but it's required step.&lt;br /&gt;
The '''Configure''' settings  must also be correct.&lt;br /&gt;
&lt;br /&gt;
E.g '''External Oscillator''' &amp;gt; '''Oscillator Off'''&lt;br /&gt;
&lt;br /&gt;
'''Software Oscillator''' &amp;gt; '''HFINTOSC 32MHz'''&lt;br /&gt;
&lt;br /&gt;
2. Add '''IntOsc Helper''' to the 2D panel, right-click on the IntOsc Helper component and select properties. &lt;br /&gt;
&lt;br /&gt;
3. Enter the required speed in Hz e.g 1600000&lt;br /&gt;
&lt;br /&gt;
4. Copy the full contents next to the code window (OSCFRQ = 0x05;) &lt;br /&gt;
&lt;br /&gt;
5. add a C code command icon at the top of Main and paste the code that was copied in step 4&lt;br /&gt;
&lt;br /&gt;
[[file:InOscHelper2.png]]&lt;br /&gt;
&lt;br /&gt;
The internal osc should now be set at 16MHz, assuming all the configuration settings are correct. &lt;br /&gt;
&lt;br /&gt;
You should be aware that other target device use OSCCON instead of OSCFRQ, but the IntOsc Helper allows for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A [[One second LED flasher]] test can be very useful to confirm if your device is actually running at the intended speed.&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41688</id>
		<title>Supporting Third Party Programming Tools</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41688"/>
		<updated>2025-08-29T10:34:03Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* mikroProg/Easypic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]&lt;br /&gt;
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programming tool that is invoked when the compile to chip button is pressed is configured in the '''Build menu''' under '''Compiler options''' then click on the '''Programmer tab''' page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ forums] to see if anyone else has already tried the programming tool with Flowcode. If you are the first then if you wish you can post your findings for other users to benefit from.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
The settings below are for the '''Programmer''' tab of the compiler options. &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Microchip PIC / PIC16 / PIC32==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-chip $(chip:u) &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PPP===&lt;br /&gt;
&lt;br /&gt;
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PPP\PPPv3.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-cs 2 -chip PIC$(chip:u) -nogui &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit2===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit2\pk2cmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details on how to upgrade your PICkit 2 to work with new targets are available from [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=16843 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - PK3CMD (OLD)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V5 -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V3.3 -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit.&lt;br /&gt;
&lt;br /&gt;
Full details on how to do this are available from [http://woodworkerb.com/pickit-3-and-flowcode-6/ here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your still having problems getting the PICkit 3 to fire up then this [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=12970&amp;amp;p=58454#p52318 forum topic] may be of help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - IPE (NEW)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit4===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 4.20 is the minimum version that will work with the PICkit 4 hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 4 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SNAP===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 5.40 is the minimum version that will work with the Snap hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the Snap depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ICD3===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the ICD3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the ICD3'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FS USB===&lt;br /&gt;
&lt;br /&gt;
Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TINY PIC Bootloader===&lt;br /&gt;
&lt;br /&gt;
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&amp;amp;t=4647 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AVR==&lt;br /&gt;
&lt;br /&gt;
===AVRISP mkII===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB Tiny===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc_usbtiny.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AVR Dude===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page].&lt;br /&gt;
&lt;br /&gt;
[http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ AVRDUDESS] is a graphical user interface for AVRdude. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino===&lt;br /&gt;
&lt;br /&gt;
Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino Mega 2560 R1/R2===&lt;br /&gt;
&lt;br /&gt;
Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool [http://russemotto.com/xloader/ Xloader] to manually load the Flowcode generated .hex file onto the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ARM==&lt;br /&gt;
&lt;br /&gt;
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-eb0310 &amp;quot;$(target).s19&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SAM-BA===&lt;br /&gt;
&lt;br /&gt;
The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ST ARM==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ST-LINK===&lt;br /&gt;
&lt;br /&gt;
Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Discovery===&lt;br /&gt;
&lt;br /&gt;
Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Nucleo===&lt;br /&gt;
&lt;br /&gt;
Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AISX Presto/Forte==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First, make sure you have the latest UP installed on your computer. &lt;br /&gt;
Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Program Files (x86)\ASIX\UP\up.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/p /q &amp;quot;$(outdir)$(target).hex&amp;quot; /part PIC$(chip)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way the command line works is by using the last UP.exe settings.&lt;br /&gt;
&lt;br /&gt;
If you want to use the programmer’s internal supply.&lt;br /&gt;
&lt;br /&gt;
Open UP.exe and within the programmer settings window, select During programming check box.&lt;br /&gt;
&lt;br /&gt;
I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000.&lt;br /&gt;
&lt;br /&gt;
Close UP then all is ready for programming.&lt;br /&gt;
&lt;br /&gt;
If you want to see a popup progress bar during programming, remove /q from the parameters.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
Presto can only supply VDD 5.0V and VPP 13.0V &lt;br /&gt;
Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device.&lt;br /&gt;
&lt;br /&gt;
If you are looking for additional command line programming the manual is available from [https://asix.tech/_programmers/presto_en.pdf here] on page 63 at the time of writing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==mikroProg/Easypic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Users\Public\Documents\Mikroelektronika\mikroProg Suite For PIC\mikroProg Suite For PIC.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-e -w -pPIC$(chip) -v -f&amp;quot;$(outdir)$(target).hex&amp;quot; -q'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the -v is verify enabled. &lt;br /&gt;
Verification will increase overall programming time.&lt;br /&gt;
If you want to speed up programming then you can remove -v&lt;br /&gt;
&lt;br /&gt;
-q quits the programming suite.&lt;br /&gt;
If you want the suit to remain after programming then -q can be removed.&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41687</id>
		<title>Supporting Third Party Programming Tools</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41687"/>
		<updated>2025-08-29T10:28:02Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* mikroProg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]&lt;br /&gt;
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programming tool that is invoked when the compile to chip button is pressed is configured in the '''Build menu''' under '''Compiler options''' then click on the '''Programmer tab''' page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ forums] to see if anyone else has already tried the programming tool with Flowcode. If you are the first then if you wish you can post your findings for other users to benefit from.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
The settings below are for the '''Programmer''' tab of the compiler options. &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Microchip PIC / PIC16 / PIC32==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-chip $(chip:u) &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PPP===&lt;br /&gt;
&lt;br /&gt;
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PPP\PPPv3.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-cs 2 -chip PIC$(chip:u) -nogui &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit2===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit2\pk2cmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details on how to upgrade your PICkit 2 to work with new targets are available from [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=16843 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - PK3CMD (OLD)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V5 -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V3.3 -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit.&lt;br /&gt;
&lt;br /&gt;
Full details on how to do this are available from [http://woodworkerb.com/pickit-3-and-flowcode-6/ here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your still having problems getting the PICkit 3 to fire up then this [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=12970&amp;amp;p=58454#p52318 forum topic] may be of help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - IPE (NEW)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit4===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 4.20 is the minimum version that will work with the PICkit 4 hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 4 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SNAP===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 5.40 is the minimum version that will work with the Snap hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the Snap depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ICD3===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the ICD3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the ICD3'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FS USB===&lt;br /&gt;
&lt;br /&gt;
Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TINY PIC Bootloader===&lt;br /&gt;
&lt;br /&gt;
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&amp;amp;t=4647 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AVR==&lt;br /&gt;
&lt;br /&gt;
===AVRISP mkII===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB Tiny===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc_usbtiny.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AVR Dude===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page].&lt;br /&gt;
&lt;br /&gt;
[http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ AVRDUDESS] is a graphical user interface for AVRdude. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino===&lt;br /&gt;
&lt;br /&gt;
Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino Mega 2560 R1/R2===&lt;br /&gt;
&lt;br /&gt;
Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool [http://russemotto.com/xloader/ Xloader] to manually load the Flowcode generated .hex file onto the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ARM==&lt;br /&gt;
&lt;br /&gt;
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-eb0310 &amp;quot;$(target).s19&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SAM-BA===&lt;br /&gt;
&lt;br /&gt;
The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ST ARM==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ST-LINK===&lt;br /&gt;
&lt;br /&gt;
Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Discovery===&lt;br /&gt;
&lt;br /&gt;
Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Nucleo===&lt;br /&gt;
&lt;br /&gt;
Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AISX Presto/Forte==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First, make sure you have the latest UP installed on your computer. &lt;br /&gt;
Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Program Files (x86)\ASIX\UP\up.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/p /q &amp;quot;$(outdir)$(target).hex&amp;quot; /part PIC$(chip)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way the command line works is by using the last UP.exe settings.&lt;br /&gt;
&lt;br /&gt;
If you want to use the programmer’s internal supply.&lt;br /&gt;
&lt;br /&gt;
Open UP.exe and within the programmer settings window, select During programming check box.&lt;br /&gt;
&lt;br /&gt;
I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000.&lt;br /&gt;
&lt;br /&gt;
Close UP then all is ready for programming.&lt;br /&gt;
&lt;br /&gt;
If you want to see a popup progress bar during programming, remove /q from the parameters.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
Presto can only supply VDD 5.0V and VPP 13.0V &lt;br /&gt;
Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device.&lt;br /&gt;
&lt;br /&gt;
If you are looking for additional command line programming the manual is available from [https://asix.tech/_programmers/presto_en.pdf here] on page 63 at the time of writing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==mikroProg/Easypic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Users\Public\Documents\Mikroelektronika\mikroProg Suite For PIC\mikroProg Suite For PIC.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-e -w -pPIC$(chip) -v -f&amp;quot;$(outdir)$(target).hex&amp;quot; -q'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the -v is verify enabled. &lt;br /&gt;
Verification will increase overall programming time.&lt;br /&gt;
If you want to speed up programming then you can remove -v&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41686</id>
		<title>Supporting Third Party Programming Tools</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41686"/>
		<updated>2025-08-29T09:59:26Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]&lt;br /&gt;
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programming tool that is invoked when the compile to chip button is pressed is configured in the '''Build menu''' under '''Compiler options''' then click on the '''Programmer tab''' page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ forums] to see if anyone else has already tried the programming tool with Flowcode. If you are the first then if you wish you can post your findings for other users to benefit from.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
The settings below are for the '''Programmer''' tab of the compiler options. &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Microchip PIC / PIC16 / PIC32==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-chip $(chip:u) &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PPP===&lt;br /&gt;
&lt;br /&gt;
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PPP\PPPv3.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-cs 2 -chip PIC$(chip:u) -nogui &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit2===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit2\pk2cmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details on how to upgrade your PICkit 2 to work with new targets are available from [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=16843 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - PK3CMD (OLD)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V5 -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V3.3 -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit.&lt;br /&gt;
&lt;br /&gt;
Full details on how to do this are available from [http://woodworkerb.com/pickit-3-and-flowcode-6/ here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your still having problems getting the PICkit 3 to fire up then this [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=12970&amp;amp;p=58454#p52318 forum topic] may be of help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - IPE (NEW)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit4===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 4.20 is the minimum version that will work with the PICkit 4 hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 4 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SNAP===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 5.40 is the minimum version that will work with the Snap hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the Snap depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ICD3===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the ICD3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the ICD3'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FS USB===&lt;br /&gt;
&lt;br /&gt;
Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TINY PIC Bootloader===&lt;br /&gt;
&lt;br /&gt;
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&amp;amp;t=4647 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AVR==&lt;br /&gt;
&lt;br /&gt;
===AVRISP mkII===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB Tiny===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc_usbtiny.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AVR Dude===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page].&lt;br /&gt;
&lt;br /&gt;
[http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ AVRDUDESS] is a graphical user interface for AVRdude. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino===&lt;br /&gt;
&lt;br /&gt;
Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino Mega 2560 R1/R2===&lt;br /&gt;
&lt;br /&gt;
Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool [http://russemotto.com/xloader/ Xloader] to manually load the Flowcode generated .hex file onto the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ARM==&lt;br /&gt;
&lt;br /&gt;
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-eb0310 &amp;quot;$(target).s19&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SAM-BA===&lt;br /&gt;
&lt;br /&gt;
The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ST ARM==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ST-LINK===&lt;br /&gt;
&lt;br /&gt;
Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Discovery===&lt;br /&gt;
&lt;br /&gt;
Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Nucleo===&lt;br /&gt;
&lt;br /&gt;
Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AISX Presto/Forte==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First, make sure you have the latest UP installed on your computer. &lt;br /&gt;
Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Program Files (x86)\ASIX\UP\up.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/p /q &amp;quot;$(outdir)$(target).hex&amp;quot; /part PIC$(chip)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way the command line works is by using the last UP.exe settings.&lt;br /&gt;
&lt;br /&gt;
If you want to use the programmer’s internal supply.&lt;br /&gt;
&lt;br /&gt;
Open UP.exe and within the programmer settings window, select During programming check box.&lt;br /&gt;
&lt;br /&gt;
I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000.&lt;br /&gt;
&lt;br /&gt;
Close UP then all is ready for programming.&lt;br /&gt;
&lt;br /&gt;
If you want to see a popup progress bar during programming, remove /q from the parameters.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
Presto can only supply VDD 5.0V and VPP 13.0V &lt;br /&gt;
Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device.&lt;br /&gt;
&lt;br /&gt;
If you are looking for additional command line programming the manual is available from [https://asix.tech/_programmers/presto_en.pdf here] on page 63 at the time of writing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==mikroProg==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Users\Public\Documents\Mikroelektronika\mikroProg Suite For PIC\mikroProg Suite For PIC.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-e -w -pPIC$(chip) -v -f&amp;quot;$(outdir)$(target).hex&amp;quot; -q'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the -v is verify enabled. &lt;br /&gt;
Verification will increase overall programming time.&lt;br /&gt;
If you want to speed up programming then you can remove -v&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Replacing_a_Component&amp;diff=41685</id>
		<title>Replacing a Component</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Replacing_a_Component&amp;diff=41685"/>
		<updated>2025-08-14T10:11:35Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Component Replace function allows you to replace an existing component with another component with similar functionality, when replacing a component the properties are kept and copied over to the new component, e.g. the port and pin the component is connected to and even properties such as the Polarity etc.&lt;br /&gt;
&lt;br /&gt;
There is also an option to 'Preserve current scale' which can be ticked to keep the size / scale of the component, this is especially useful when modifying and expanding existing programs so that the position and size of the component remain the same to adapt into the program as the position of the component is kept the same by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To replace a component,first add the component that you  wish to have as a replacement, this will add the component to Flowcodes memory.&lt;br /&gt;
You can copy the handle of the new component at this point since the handle will remain the same on changed component.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can now delete the component you just added as its served its purpose  &lt;br /&gt;
&lt;br /&gt;
right-click on a selected component on either the [[2d_Panels|2D panels]] or [[System_Panel|3D system panel]] and then select 'Replace' option in the context menu. This brings up the 'Component Replacement' window which contains a list of components to choose from to replace the component. This list consists of recently used components as well as components with similar functionality to adequately replace the selected component.&lt;br /&gt;
There will be times when the required replacement component won't be shown.&lt;br /&gt;
For example, the LED Mono is currently used and you want to replace it with an LED that will use your own images. &lt;br /&gt;
&lt;br /&gt;
[[File:Component-Replace1.png]]&lt;br /&gt;
&lt;br /&gt;
There are a lot of LED Mono macros to replace so it would be a lot quicker to use the replace option. &lt;br /&gt;
In this case, there are no alternative components as the 'Replace' option is grayed out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Component-Replace2.png]]&lt;br /&gt;
&lt;br /&gt;
Now the replace option is no longer greyed out so you can select the LED user images.&lt;br /&gt;
&lt;br /&gt;
[[File:Component-Replace3.png]]&lt;br /&gt;
&lt;br /&gt;
Finally, you might want to change the component title name as that will remain as the original components name, by clicking on the name next to Handle.&lt;br /&gt;
&lt;br /&gt;
[[File:Component-Replace4.png]]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Using_a_new_version_of_XC8&amp;diff=41507</id>
		<title>Using a new version of XC8</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Using_a_new_version_of_XC8&amp;diff=41507"/>
		<updated>2025-05-14T07:49:24Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Keeping the original compiler and adding a new compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Replacing the original  compiler with a new version==&lt;br /&gt;
&lt;br /&gt;
Download compiler from [https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers here]&lt;br /&gt;
&lt;br /&gt;
Find required compiler version to install then remember the compiler install path.&lt;br /&gt;
&lt;br /&gt;
Within Flowcode, select '''File''' &amp;gt; '''Global Settings…''' &amp;gt; '''Locations tab''' &lt;br /&gt;
&lt;br /&gt;
Under Override toolchain locations, enter the path where installed XC8 is located, e.g. for v2.50:&lt;br /&gt;
'''C:\Program Files\Microchip\xc8\v2.50'''&lt;br /&gt;
The end \ can be left off, Select OK. &lt;br /&gt;
&lt;br /&gt;
You now be able to compile used the latest XC8 compiler.&lt;br /&gt;
&lt;br /&gt;
To change back to the original compiler, replace the above path with:&lt;br /&gt;
&lt;br /&gt;
'''C:\Program Files (x86)\Flowcode\Common\Compilers\picv2\'''&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Note. Currently XC8 v3.0 and above is not yet supported.&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
==Keeping the original compiler and adding a new compiler==&lt;br /&gt;
&lt;br /&gt;
Download compiler from [https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers here]&lt;br /&gt;
&lt;br /&gt;
Find required compiler version to install then remember the compiler install path.&lt;br /&gt;
&lt;br /&gt;
Copy  '''pic_xc8_comp.bat''' '''from C:\ProgramData\MatrixTSL\FlowcodeV10\FCD\PIC\batch\'''&lt;br /&gt;
&lt;br /&gt;
Give it a new name so you have two batch files, place it anywhere you won’t accidently delete it.&lt;br /&gt;
&lt;br /&gt;
Edit the file and change '''&amp;quot;%MX_COMPILER%bin\xc8-cc.exe&amp;quot;'''  to the path for the new XC8 location of xc8-cc.exe.&lt;br /&gt;
For example:&lt;br /&gt;
'''&amp;quot;C:\Program Files\Microchip\xc8\v2.50\bin\xc8-cc.exe&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Save the new batch file.&lt;br /&gt;
&lt;br /&gt;
Within Flowcode Load a typical PIC xc8 target e.g. 16F18877via New project or Build &amp;gt; Project options.&lt;br /&gt;
&lt;br /&gt;
Select  '''Build''' &amp;gt;  '''Compiler Options''' and if use Eblocks, select '''E-Blocks''' from PIC selection.&lt;br /&gt;
&lt;br /&gt;
For the location select Browse then change '''Executable Files (*.exe)''' to '''Batch Files (*.bat)'''&lt;br /&gt;
&lt;br /&gt;
Select the new batch file, then '''Open'''&lt;br /&gt;
&lt;br /&gt;
Click on the save icon then enter a new name, then '''OK'''.&lt;br /&gt;
&lt;br /&gt;
Finally make sure the new version is selected and click the  '''Default compiler for the platform C for PIC''' ,then Click '''OK'''&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Using_a_new_version_of_XC8&amp;diff=41506</id>
		<title>Using a new version of XC8</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Using_a_new_version_of_XC8&amp;diff=41506"/>
		<updated>2025-05-14T07:48:17Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Replacing the original  compiler with a new version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Replacing the original  compiler with a new version==&lt;br /&gt;
&lt;br /&gt;
Download compiler from [https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers here]&lt;br /&gt;
&lt;br /&gt;
Find required compiler version to install then remember the compiler install path.&lt;br /&gt;
&lt;br /&gt;
Within Flowcode, select '''File''' &amp;gt; '''Global Settings…''' &amp;gt; '''Locations tab''' &lt;br /&gt;
&lt;br /&gt;
Under Override toolchain locations, enter the path where installed XC8 is located, e.g. for v2.50:&lt;br /&gt;
'''C:\Program Files\Microchip\xc8\v2.50'''&lt;br /&gt;
The end \ can be left off, Select OK. &lt;br /&gt;
&lt;br /&gt;
You now be able to compile used the latest XC8 compiler.&lt;br /&gt;
&lt;br /&gt;
To change back to the original compiler, replace the above path with:&lt;br /&gt;
&lt;br /&gt;
'''C:\Program Files (x86)\Flowcode\Common\Compilers\picv2\'''&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Note. Currently XC8 v3.0 and above is not yet supported.&amp;lt;/span&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
==Keeping the original compiler and adding a new compiler==&lt;br /&gt;
&lt;br /&gt;
Download compiler from [https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers here]&lt;br /&gt;
&lt;br /&gt;
Find required compiler version to install then remember the compiler install path.&lt;br /&gt;
&lt;br /&gt;
Copy  '''pic_xc8_comp.bat''' '''from C:\ProgramData\MatrixTSL\FlowcodeV10\FCD\PIC\batch\'''&lt;br /&gt;
&lt;br /&gt;
Give it a new name so you have two batch files, place it anywhere you won’t accidently delete it.&lt;br /&gt;
&lt;br /&gt;
Edit the file and change '''&amp;quot;%MX_COMPILER%bin\xc8-cc.exe&amp;quot;'''  to the path for the new XC8 location of xc8-cc.exe.&lt;br /&gt;
For example:&lt;br /&gt;
'''&amp;quot;C:\Program Files\Microchip\xc8\v2.46\bin\xc8-cc.exe&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Save the new batch file0.&lt;br /&gt;
&lt;br /&gt;
Within Flowcode Load a typical PIC xc8 target e.g. 16F18877via New project or Build &amp;gt; Project options.&lt;br /&gt;
&lt;br /&gt;
Select  '''Build''' &amp;gt;  '''Compiler Options''' and if use Eblocks, select '''E-Blocks''' from PIC selection.&lt;br /&gt;
&lt;br /&gt;
For the location select Browse then change '''Executable Files (*.exe)''' to '''Batch Files (*.bat)'''&lt;br /&gt;
&lt;br /&gt;
Select the new batch file, then '''Open'''&lt;br /&gt;
&lt;br /&gt;
Click on the save icon then enter a new name, then '''OK'''.&lt;br /&gt;
&lt;br /&gt;
Finally make sure the new version is selected and click the  '''Default compiler for the platform C for PIC''' ,then Click '''OK'''&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41504</id>
		<title>Component: Switch (Controls)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41504"/>
		<updated>2025-05-02T08:39:58Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Switch component==&lt;br /&gt;
A 2d switch component.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example Flowcode program to read the value of a switch.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Switch.fcfx|Switch}}&lt;br /&gt;
&lt;br /&gt;
Here is a schematic of how to connect a basic switch to a microcontroller pin.&lt;br /&gt;
&lt;br /&gt;
[[File:switchschematic.jpg]]&lt;br /&gt;
&lt;br /&gt;
The polarity setting in switch properties determines how the corresponding bit in the input variable responds when the switch changes state. &lt;br /&gt;
&lt;br /&gt;
This applies only when using switch functions and not when using input command icons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Active High Polarity&lt;br /&gt;
&lt;br /&gt;
When the switch is closed, the voltage on the pin transitions from 0V to the positive supply voltage (either 3.3V or 5V, depending on the microcontroller).&lt;br /&gt;
&lt;br /&gt;
As a result, the corresponding bit in the input variable changes from 0 to 1.&lt;br /&gt;
&lt;br /&gt;
A pull-down resistor is required to ensure the pin stays at 0V when the switch is open.&lt;br /&gt;
&lt;br /&gt;
If using two resistors (as shown in the image above), they provide protection in case the pin is mistakenly set as an output while the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Active Low Polarity&lt;br /&gt;
&lt;br /&gt;
When the switch is closed, the voltage on the pin transitions from the positive supply voltage to 0V.&lt;br /&gt;
&lt;br /&gt;
The corresponding bit in the input variable changes from 0 to 1.&lt;br /&gt;
&lt;br /&gt;
A pull-up resistor is required to ensure the pin stays at the positive supply voltage when the switch is open.&lt;br /&gt;
&lt;br /&gt;
If using two resistors(as shown in the image above), they provide protection if the pin is mistakenly set as an output while the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some differences depending on the type of switch you have, the above states assume a generic push to make type switch, however a push to break type switch would have reversed logic and a toggle switch can work well with either setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The resistors are required for correct operation because when a microcontroller's input pin is essentially connected to nothing it will pick up noise in the environment and provide inconsistent readings.&lt;br /&gt;
&lt;br /&gt;
This state is referred to as floating i.e. the pin is floating. To test this remove the resistors (if possible) and touch the unconnected pin with your finger the output LED from the example file above will toggle on and off at high speed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any values of resistor can be used but it is important to keep the smaller resistor at least 10X smaller then the larger resistor to ensure that the pressed state provides at least 0.91% of the required pressed state voltage. &lt;br /&gt;
&lt;br /&gt;
For example a active high switch circuit using 1K and 10K resistors should pull up to about 4.54V when the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
(5V / 11K) * 10K = 4.54545V&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the state of the switch (true = on, false = off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the switch to be on or off.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | bState&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The new state of the switch (true=on, false=off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | State&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Style&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | On Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Off Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background Colour&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Connections''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Simulations''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41503</id>
		<title>Component: Switch (Controls)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41503"/>
		<updated>2025-05-02T08:39:06Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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;
| Steve Tandy &amp;amp; Martin Whitlock&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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Controls&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Switch component==&lt;br /&gt;
A 2d switch component.&lt;br /&gt;
&lt;br /&gt;
==Component Pack==&lt;br /&gt;
&lt;br /&gt;
FREE&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example Flowcode program to read the value of a switch.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Switch.fcfx|Switch}}&lt;br /&gt;
&lt;br /&gt;
Here is a schematic of how to connect a basic switch to a microcontroller pin.&lt;br /&gt;
&lt;br /&gt;
[[File:switchschematic.jpg]]&lt;br /&gt;
&lt;br /&gt;
The polarity setting in switch properties determines how the corresponding bit in the input variable responds when the switch changes state. &lt;br /&gt;
&lt;br /&gt;
This applies only when using switch functions and not when using input command icons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Active High Polarity&lt;br /&gt;
&lt;br /&gt;
When the switch is closed, the voltage on the pin transitions from 0V to the positive supply voltage (either 3.3V or 5V, depending on the microcontroller).&lt;br /&gt;
&lt;br /&gt;
As a result, the corresponding bit in the input variable changes from 0 to 1.&lt;br /&gt;
&lt;br /&gt;
A pull-down resistor is required to ensure the pin stays at 0V when the switch is open.&lt;br /&gt;
&lt;br /&gt;
If using two resistors (as shown in the image above), they provide protection in case the pin is mistakenly set as an output while the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Active Low Polarity&lt;br /&gt;
&lt;br /&gt;
When the switch is closed, the voltage on the pin transitions from the positive supply voltage to 0V.&lt;br /&gt;
&lt;br /&gt;
The corresponding bit in the input variable changes from 0 to 1.&lt;br /&gt;
&lt;br /&gt;
A pull-up resistor is required to ensure the pin stays at the positive supply voltage when the switch is open.&lt;br /&gt;
&lt;br /&gt;
If using two resistors(as shown in the image above), they provide protection if the pin is mistakenly set as an output while the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some differences depending on the type of switch you have, the above states assume a generic push to make type switch, however a push to break type switch would have reversed logic and a toggle switch can work well with either setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The resistors are required for correct operation because when a microcontroller's input pin is essentially connected to nothing it will pick up noise in the environment and provide inconsistent readings.&lt;br /&gt;
&lt;br /&gt;
This state is referred to as floating i.e. the pin is floating. To test this remove the resistors (if possible) and touch the unconnected pin with your finger the output LED from the example file above will toggle on and off at high speed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any values of resistor can be used but it is important to keep the smaller resistor at least 10X smaller then the larger resistor to ensure that the pressed state provides at least 0.91% of the required pressed state voltage. &lt;br /&gt;
&lt;br /&gt;
For example a active high switch circuit using 1K and 10K resistors should pull up to about 4.54V when the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
(5V / 11K) * 10K = 4.54545V&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the state of the switch (true = on, false = off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the switch to be on or off.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | bState&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The new state of the switch (true=on, false=off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | State&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Style&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | On Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Off Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background Colour&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Connections''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Simulations''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41502</id>
		<title>Component: Switch (Controls)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41502"/>
		<updated>2025-05-02T08:38:04Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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;
| Steve Tandy&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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Controls&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Switch component==&lt;br /&gt;
A 2d switch component.&lt;br /&gt;
&lt;br /&gt;
==Component Pack==&lt;br /&gt;
&lt;br /&gt;
FREE&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example Flowcode program to read the value of a switch.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Switch.fcfx|Switch}}&lt;br /&gt;
&lt;br /&gt;
Here is a schematic of how to connect a basic switch to a microcontroller pin.&lt;br /&gt;
&lt;br /&gt;
[[File:switchschematic.jpg]]&lt;br /&gt;
&lt;br /&gt;
The polarity setting in switch properties determines how the corresponding bit in the input variable responds when the switch changes state. &lt;br /&gt;
&lt;br /&gt;
This applies only when using switch functions and not when using input command icons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Active High Polarity&lt;br /&gt;
&lt;br /&gt;
When the switch is closed, the voltage on the pin transitions from 0V to the positive supply voltage (either 3.3V or 5V, depending on the microcontroller).&lt;br /&gt;
&lt;br /&gt;
As a result, the corresponding bit in the input variable changes from 0 to 1.&lt;br /&gt;
&lt;br /&gt;
A pull-down resistor is required to ensure the pin stays at 0V when the switch is open.&lt;br /&gt;
&lt;br /&gt;
If using two resistors (as shown in the image above), they provide protection in case the pin is mistakenly set as an output while the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Active Low Polarity&lt;br /&gt;
&lt;br /&gt;
When the switch is closed, the voltage on the pin transitions from the positive supply voltage to 0V.&lt;br /&gt;
&lt;br /&gt;
The corresponding bit in the input variable changes from 0 to 1.&lt;br /&gt;
&lt;br /&gt;
A pull-up resistor is required to ensure the pin stays at the positive supply voltage when the switch is open.&lt;br /&gt;
&lt;br /&gt;
If using two resistors(as shown in the image above), they provide protection if the pin is mistakenly set as an output while the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some differences depending on the type of switch you have, the above states assume a generic push to make type switch, however a push to break type switch would have reversed logic and a toggle switch can work well with either setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The resistors are required for correct operation because when a microcontroller's input pin is essentially connected to nothing it will pick up noise in the environment and provide inconsistent readings.&lt;br /&gt;
&lt;br /&gt;
This state is referred to as floating i.e. the pin is floating. To test this remove the resistors (if possible) and touch the unconnected pin with your finger the output LED from the example file above will toggle on and off at high speed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any values of resistor can be used but it is important to keep the smaller resistor at least 10X smaller then the larger resistor to ensure that the pressed state provides at least 0.91% of the required pressed state voltage. &lt;br /&gt;
&lt;br /&gt;
For example a active high switch circuit using 1K and 10K resistors should pull up to about 4.54V when the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
(5V / 11K) * 10K = 4.54545V&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the state of the switch (true = on, false = off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the switch to be on or off.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | bState&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The new state of the switch (true=on, false=off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | State&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Style&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | On Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Off Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background Colour&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Connections''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Simulations''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41501</id>
		<title>Component: Switch (Controls)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Switch_(Controls)&amp;diff=41501"/>
		<updated>2025-05-02T08:27:19Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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;
| Steve Tandy&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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Controls&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Switch component==&lt;br /&gt;
A 2d switch component.&lt;br /&gt;
&lt;br /&gt;
==Component Pack==&lt;br /&gt;
&lt;br /&gt;
FREE&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example Flowcode program to read the value of a switch.&lt;br /&gt;
{{Fcfile|Switch.fcfx|Switch}}&lt;br /&gt;
&lt;br /&gt;
Here is a schematic of how to connect a basic switch to a microcontroller pin.&lt;br /&gt;
&lt;br /&gt;
[[File:switchschematic.jpg]]&lt;br /&gt;
&lt;br /&gt;
The polarity setting within the switch properties determines how the relevant bit of the input variable responds when a switch changes state.&lt;br /&gt;
This applies only when using switch functions and not when using input command icons.&lt;br /&gt;
*	Active High Polarity: When the switch is closed, the voltage on the pin transitions from 0V to the positive supply voltage (either 3.3V or 5V, depending on the microcontroller). As a result, the corresponding bit in the input variable changes from 0 to 1. A pull-down resistor is required for the input pin to ensure it stays at 0V when the switch is open.&lt;br /&gt;
*	Active Low Polarity: When the switch is closed, the voltage on the pin transitions from the positive supply voltage to 0V, and again, the relevant bit of the input variable changes from 0 to 1. A pull-up resistor is required for the input pin to ensure it stays at the positive supply voltage when the switch is open.&lt;br /&gt;
&lt;br /&gt;
There are some differences depending on the type of switch you have, the above states assume a generic push to make type switch, however a push to break type switch would have reversed logic and a toggle switch can work well with either setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The resistors are required for correct operation because when a microcontroller's input pin is essentially connected to nothing it will pick up noise in the environment and provide inconsistent readings. This state is referred to as floating i.e. the pin is floating. To test this remove the resistors (if possible) and touch the unconnected pin with your finger the output LED from the example file above will toggle on and off at high speed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any values of resistor can be used but it is important to keep the smaller resistor at least 10X smaller then the larger resistor to ensure that the pressed state provides at least 0.91% of the required pressed state voltage. For example a active high switch circuit using 1K and 10K resistors should pull up to about 4.54V when the switch is pressed.&lt;br /&gt;
&lt;br /&gt;
(5V / 11K) * 10K = 4.54545V&lt;br /&gt;
&lt;br /&gt;
==Downloadable macro reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the state of the switch (true = on, false = off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetState'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the switch to be on or off.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | bState&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The new state of the switch (true=on, false=off)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | State&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Style&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | On Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Off Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background Colour&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Connections''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Simulations''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41500</id>
		<title>Supporting Third Party Programming Tools</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41500"/>
		<updated>2025-04-23T15:09:28Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* AISX Presto/Forte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]&lt;br /&gt;
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programming tool that is invoked when the compile to chip button is pressed is configured in the '''Build menu''' under '''Compiler options''' then click on the '''Programmer tab''' page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ forums] to see if anyone else has already tried the programming tool with Flowcode. If you are the first then if you wish you can post your findings for other users to benefit from.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
The settings below are for the '''Programmer''' tab of the compiler options. &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Microchip PIC / PIC16 / PIC32==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-chip $(chip:u) &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PPP===&lt;br /&gt;
&lt;br /&gt;
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PPP\PPPv3.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-cs 2 -chip PIC$(chip:u) -nogui &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit2===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit2\pk2cmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details on how to upgrade your PICkit 2 to work with new targets are available from [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=16843 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - PK3CMD (OLD)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V5 -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V3.3 -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit.&lt;br /&gt;
&lt;br /&gt;
Full details on how to do this are available from [http://woodworkerb.com/pickit-3-and-flowcode-6/ here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your still having problems getting the PICkit 3 to fire up then this [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=12970&amp;amp;p=58454#p52318 forum topic] may be of help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - IPE (NEW)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit4===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 4.20 is the minimum version that will work with the PICkit 4 hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 4 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SNAP===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 5.40 is the minimum version that will work with the Snap hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the Snap depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ICD3===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the ICD3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the ICD3'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FS USB===&lt;br /&gt;
&lt;br /&gt;
Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TINY PIC Bootloader===&lt;br /&gt;
&lt;br /&gt;
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&amp;amp;t=4647 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AVR==&lt;br /&gt;
&lt;br /&gt;
===AVRISP mkII===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB Tiny===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc_usbtiny.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AVR Dude===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page].&lt;br /&gt;
&lt;br /&gt;
[http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ AVRDUDESS] is a graphical user interface for AVRdude. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino===&lt;br /&gt;
&lt;br /&gt;
Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino Mega 2560 R1/R2===&lt;br /&gt;
&lt;br /&gt;
Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool [http://russemotto.com/xloader/ Xloader] to manually load the Flowcode generated .hex file onto the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ARM==&lt;br /&gt;
&lt;br /&gt;
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-eb0310 &amp;quot;$(target).s19&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SAM-BA===&lt;br /&gt;
&lt;br /&gt;
The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ST ARM==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ST-LINK===&lt;br /&gt;
&lt;br /&gt;
Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Discovery===&lt;br /&gt;
&lt;br /&gt;
Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Nucleo===&lt;br /&gt;
&lt;br /&gt;
Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AISX Presto/Forte==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First, make sure you have the latest UP installed on your computer. &lt;br /&gt;
Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Program Files (x86)\ASIX\UP\up.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/p /q &amp;quot;$(outdir)$(target).hex&amp;quot; /part PIC$(chip)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way the command line works is by using the last UP.exe settings.&lt;br /&gt;
&lt;br /&gt;
If you want to use the programmer’s internal supply.&lt;br /&gt;
&lt;br /&gt;
Open UP.exe and within the programmer settings window, select During programming check box.&lt;br /&gt;
&lt;br /&gt;
I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000.&lt;br /&gt;
&lt;br /&gt;
Close UP then all is ready for programming.&lt;br /&gt;
&lt;br /&gt;
If you want to see a popup progress bar during programming, remove /q from the parameters.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
Presto can only supply VDD 5.0V and VPP 13.0V &lt;br /&gt;
Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device.&lt;br /&gt;
&lt;br /&gt;
If you are looking for additional command line programming the manual is available from [https://asix.tech/_programmers/presto_en.pdf here] on page 63 at the time of writing&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Library_Updates&amp;diff=41499</id>
		<title>Library Updates</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Library_Updates&amp;diff=41499"/>
		<updated>2025-04-10T09:54:16Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Library Updates [[file:Library_updates_icon.png]] can be  accessed via the Help ribbon or when you first [[Opening_Flowcode|open Flowcode]]&lt;br /&gt;
&lt;br /&gt;
If you select ''Library Updates'' via the Help ribbon, then you will have a dropdown giving you the options of either ''Files in-use'' or ''Full database''&lt;br /&gt;
&lt;br /&gt;
If required you can rollback a component to an earlier version.&lt;br /&gt;
&lt;br /&gt;
To do that for your current project make sure ''Files in-use'' is selected.&lt;br /&gt;
&lt;br /&gt;
Select ''Show up-to-date'' files (1)&lt;br /&gt;
&lt;br /&gt;
You will see ''Filename'', ''Current Revision'', ''New Revision'' &amp;amp; ''Size''&lt;br /&gt;
&lt;br /&gt;
Scroll down to the component/file you wish to rollback and select it via the tickbox (2) to the left of its name.&lt;br /&gt;
&lt;br /&gt;
Select the required version within ''New Revision'' column (3) , then left-click on ''Download''&lt;br /&gt;
&lt;br /&gt;
Close the library updates window, then left-click on the ''Reload'' icon[[File:Reload_icon.png]] at the top, or ''File'' menu, ''Reload''.&lt;br /&gt;
&lt;br /&gt;
[[File:Rollback Component1.png]]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Library_Updates&amp;diff=41498</id>
		<title>Library Updates</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Library_Updates&amp;diff=41498"/>
		<updated>2025-04-10T09:53:11Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Library Updates [[file:Library_updates_icon.png]] can be  accessed via the Help ribbon or when you first [[Opening_Flowcode|open Flowcode]]&lt;br /&gt;
&lt;br /&gt;
If you select ''Library Updates'' via the Help ribbon, then you will have a dropdown giving you the options of either ''Files in-use'' or ''Full database''&lt;br /&gt;
&lt;br /&gt;
If required you can rollback a component to an earlier version.&lt;br /&gt;
&lt;br /&gt;
To do that for your current project make sure ''Files in-use'' is selected.&lt;br /&gt;
&lt;br /&gt;
Select ''Show up-to-date'' files (1)&lt;br /&gt;
&lt;br /&gt;
You will see ''Filename'' (2), ''Current Revision'', ''New Revision'' (3) &amp;amp; ''Size''&lt;br /&gt;
&lt;br /&gt;
Scroll down to the component/file you wish to rollback and select it via the tickbox (2) to the left of its name.&lt;br /&gt;
&lt;br /&gt;
Select the required version within ''New Revision'' column (3) , then left-click on ''Download''&lt;br /&gt;
&lt;br /&gt;
Close the library updates window, then left-click on the ''Reload'' icon[[File:Reload_icon.png]] at the top, or ''File'' menu, ''Reload''.&lt;br /&gt;
&lt;br /&gt;
[[File:Rollback Component1.png]]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Rollback_Component1.png&amp;diff=41497</id>
		<title>File:Rollback Component1.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Rollback_Component1.png&amp;diff=41497"/>
		<updated>2025-04-10T09:49:38Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:ESP32_Setup8.png&amp;diff=41496</id>
		<title>File:ESP32 Setup8.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:ESP32_Setup8.png&amp;diff=41496"/>
		<updated>2025-04-02T11:35:01Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:ESP32 Setup8.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Display_Manager_(Graphical_Library)&amp;diff=41493</id>
		<title>Component: Display Manager (Graphical Library)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Display_Manager_(Graphical_Library)&amp;diff=41493"/>
		<updated>2025-03-28T11:36:21Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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;
| MatrixTSL&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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Graphical Library&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Display Manager component==&lt;br /&gt;
A component designed to simplify the process of drawing primitives and text onto a  graphical display. Keeps track of coordinates so you don't have to. Also works great as a base layer for gLCD based games as it will check for collisions and  perform movement.&lt;br /&gt;
&lt;br /&gt;
==Version information==&lt;br /&gt;
&lt;br /&gt;
 Library Version, Component Version, Date, Author, Info&lt;br /&gt;
 13, 2.0, 22-05-24, BR, Added text alignment options&lt;br /&gt;
 14, 2.1, 14-06-24, BR, Renamed Button to Widget to better include things like sliders&lt;br /&gt;
 15, 2.1, 26-07-24, BR, Added SetTextFloat and AddTextNumber macros&lt;br /&gt;
 16, 2.1, 29-07-24, BR, Renamed Themes to ObjectThemes and WidgetThemes&lt;br /&gt;
 17, 2.1, 29-07-24, BR, Added CreateTextField macro which automates creating a simple textbox&lt;br /&gt;
 18, 2.1, 06-08-24, BR, Fixed a problem with updating values, theme, text on IDs&lt;br /&gt;
 19, 2.1, 06-08-24, BR, Textfield now uses hidden object type instead of rectangle&lt;br /&gt;
 20, 2.1, 06-08-24, BR, Fixed a problem where slider value could be set with out of range value&lt;br /&gt;
 21, 2.1, 06-08-24, BR, Fixed problem where SetTextNumber would reset an ESP32&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
===Objects===&lt;br /&gt;
&lt;br /&gt;
The component can create the following objects.&lt;br /&gt;
&lt;br /&gt;
*'''Object_Hidden''' - 0 - A hidden area with no graphics.&lt;br /&gt;
*'''Object_Rectangle''' - 1 - A simple rectangular box.&lt;br /&gt;
*'''Object_Line''' - 2 - A simple straight line.&lt;br /&gt;
*'''Object_Ellipse''' - 3 - A simple ellipse or circle.&lt;br /&gt;
*'''Object_EllipseFilled''' - 4 - A filled ellipse or circle.&lt;br /&gt;
*'''Object_RectangeFilled''' - 5 - A filled rectangular box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TextField===&lt;br /&gt;
&lt;br /&gt;
There is also an additional TextField object which consists of an Object_Rectangle that is pre-populated with text.&lt;br /&gt;
&lt;br /&gt;
===Widgets===&lt;br /&gt;
&lt;br /&gt;
The component can also create the following interactive buttons and sliders.&lt;br /&gt;
&lt;br /&gt;
*'''Widget_Hidden''' - 0 - A hidden area with no graphics.&lt;br /&gt;
*'''Widget_Rectangle''' - 1 - A rectangular box with a shadow.&lt;br /&gt;
*'''Widget_RoundedRectangle''' - 2 - A rounded rectangular box with a shadow.&lt;br /&gt;
*'''Widget_Ellipse''' - 3 - A simple ellipse or circle with a shadow.&lt;br /&gt;
*'''Widget_VSlider''' - 4 - A vertical slider with a square thumb.&lt;br /&gt;
*'''Widget_HSlider''' - 5 - A horizontal slider with a square thumb.&lt;br /&gt;
*'''Widget_VSlider_Round''' - 6 - A vertical slider with a round thumb.&lt;br /&gt;
*'''Widget_HSlider_Round''' - 7 - A horizontal slider with a round thumb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The type can be entered by using the component's public constants. Begin with the Display Manager handle name followed by :: and the list of the public variables will be displayed.&lt;br /&gt;
&lt;br /&gt;
For example...  '''DisplayManager1::Object_Rectangle'''  or  '''DisplayManager1::Widget_VSlider'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Touch Repeat Rate for Button Widgets===&lt;br /&gt;
&lt;br /&gt;
The Touch Repeat Rate property applies to button based widgets and sets the frequency that a valid touch will be detected for a held button. This is similar to holding down a single key on a keyboard and acts to reduce the frequency of positive button detections when touching the button. For example if you had a button that incremented a value, without the repeat rate the value would increment much faster then anticipated in an uncontrollable manner. When no touch is detected it is recommended to call the NoTouch macro to clear the touch counters and allow a more responsive user experience.&lt;br /&gt;
&lt;br /&gt;
Example of implementing touch repeat rate &lt;br /&gt;
&lt;br /&gt;
[[File:ButtonRepeatRate.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
An example showing how to use the display manager with a GLCd and a touch interface to create a full HMI.&lt;br /&gt;
&lt;br /&gt;
The example shows how to create a simple menu system as well as a toggle switch and a slider used to control a PWM output.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DisplayManagerDemo.fcfx|Display Manager Demo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example showing how you can use the CreateWigitArray component to easily create a touch keypad for your gLCD&lt;br /&gt;
&lt;br /&gt;
Component will create the widgets as keypad buttons with your custom text, it allows you to click on the widgets so you have a working keypad.&lt;br /&gt;
&lt;br /&gt;
[[File:Updated__Display_Manager1.png]]&lt;br /&gt;
&lt;br /&gt;
The CreateWidgetArray function macro that is very flexible in what you can create:&lt;br /&gt;
&lt;br /&gt;
[[File:Updated__Display_Manager2.png]]&lt;br /&gt;
&lt;br /&gt;
Lots of flexibility and there are also tooltips to help.&lt;br /&gt;
&lt;br /&gt;
[[File:Updated__Display_Manager3.png]]&lt;br /&gt;
&lt;br /&gt;
Note: if you get a unable to run simulation error then make sure you have the latest components downloaded.&lt;br /&gt;
&lt;br /&gt;
===How the key touch is detected===&lt;br /&gt;
&lt;br /&gt;
The first widget is automatically assigned a unique widget ID e.g. the first widget with text 1 on it is assigned 24.&lt;br /&gt;
&lt;br /&gt;
All the following widgets ID is then incremented from 24, e.g.  widget with text 6 on is assigned 24+ 5  = 29.&lt;br /&gt;
&lt;br /&gt;
The widget button pressed can then be calculated from 29 – 24 + 1 = 6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DisplayManager_WidgetArray_Keypad_Example.fcfx|Display Manager Widget Array Keypad Example}}&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===CheckForTouch===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CheckForTouch'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Uses the X and Y coordinates from a touch sensor to check for Widget presses. Returns 0 for no Widgets pressed. Returns ID for a valid Widget press. Any touched slider Widgets will automatically move their thumb and value to the touch position. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClearAll===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ClearAll'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Removes all objects and Widgets from memory. Also clears the screen if required.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ClearScreen&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Don't clear the screen, 1=Clear the screen&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CreateObject===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CreateObject'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Define a none touchable graphical object. Returns the Object ID.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectType&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Hidden, 1=Rect, 2=Line, 3=Ellipse, 4=FilledEllipse, 5=FilledRect&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | X Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Y Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Width or X Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Height or Y Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index to use to draw the object&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DrawObject&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Do not draw object yet, 1=Draw object now (Does not apply to hidden objects)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CreateTextField===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CreateTextField'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Creates a text field consisting of a rectangular border containing a single line of text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Text string to set as the label&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | X Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Y Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Width&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Height&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | GLCD Font Index to use&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index to use to draw the object&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CreateWidget===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CreateWidget'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Define an interactive Widget or slider. Returns the Widget ID.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetType&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=WidgetHidden, 1=WidgetRect, 2=WidgetRoundedRect, 3=WidgetEllipse, 4=VSlider, 5=HSlider, 6=VSliderRound, 7=HSliderRound&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | X Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Y Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Width or X Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Height or Y Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index to use to draw the Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DrawWidget&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Do not draw Widget yet, 1=Draw Widget now  (Does not apply to hidden widgets)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DrawAll===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DrawAll'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Redraws all of the defined Objects and Widgets. Doesn't draw text, this is done using the SetText macros.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DrawItem===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DrawItem'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a single object or Widget onto the display without clearing the display. Doesn't draw text, this is done using the SetText macros.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the Object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetLastTouchID===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetLastTouchID'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Gets the ID of the last Widget that returned a valid press via the CheckForTouch macro. Returns 0  for no valid touch recorded.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-s16-icon.png]] - INT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetSliderValue===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetSliderValue'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the value of one of the sliders ranging between 0 and 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Initialises the object and Widget control variables and sets up the default themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ModifyPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ModifyPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves an existing object or Widget to absolute coordinates on the screen.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-s16-icon.png]] - INT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-s16-icon.png]] - INT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Relative&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Absolute Positioning, 1=Relative Positioning&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ModifyScale===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ModifyScale'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Changes the width and height of the selected Object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ModifyTheme===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ModifyTheme'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Changes the theme index of the selected Object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Theme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index of the Widget or object&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===NoTouch===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''NoTouch'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Called when no touch is present,  Allows the repeat rate counter to be cleared allowing for better responses to fast touches.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OverrideObjectTheme===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''OverrideObjectTheme'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Overrides the colour of an object theme, used by the draw object macro. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ThemeIndex&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Index of the object colour theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OverrideWidgetTheme===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''OverrideWidgetTheme'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Overrides the colour of a Widget theme, used by the draw Widget macro. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ThemeIndex&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Index of the object colour theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HL_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HL_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HL_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LL_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LL_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LL_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetSliderValue===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetSliderValue'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the value of one of the sliders and optionally redraws the slider to reflect the value change.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Value&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range: 0 to 1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | RedrawSlider&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Do not redraw, 1=Redraw&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTextFloat===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTextFloat'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a numerical value onto an object or Widget location. Useful for displaying, value statistics. Drawn using the object themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique identifier of object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:]] - &lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Number&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | NumDP&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of decimal points to display&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit string to add after the numeric value. e.g. &amp;quot;g&amp;quot; or &amp;quot;s&amp;quot;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Object theme index to control the colour of the text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Transparent&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Background Colour Drawn, 1=Don't Draw Background Colour&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTextLabel===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTextLabel'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a single line of text onto an object or Widget location. Useful for labelling Widgets such as buttons or having name, value statistics. Drawn using the object themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique identifier of object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Text string to set as the label&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | GLCD Font Index to use&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Object theme index to control the colour of the text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Transparent&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Background Colour Drawn, 1=Don't Draw Background Colour&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTextNumber===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTextNumber'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a numerical value onto an object or Widget location. Useful for displaying, value statistics. Drawn using the object themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique identifier of object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:]] - &lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Number&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit string to add after the numeric value. e.g. &amp;quot;g&amp;quot; or &amp;quot;s&amp;quot;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Object theme index to control the colour of the text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Transparent&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Background Colour Drawn, 1=Don't Draw Background Colour&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Graphical Display&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Graphical Display to draw our objects on&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DM Library&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Display Manager compatible GLCD library component.  e.g. Bitmap drawer components.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Ram Usage Bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The calculated number of bytes of RAM required by the display manager.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text Align Offset&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of pixels to move away from an edge when calling &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Objects&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Objects&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The total number of primitive objects allowed on the screen at once. Sets the size of the RAM buffers used to track the various screen elements. Each object requires 10 bytes of RAM to stores things like size, location and type.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Object Theme Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the number of themes available when drawing primitive objects. Each object theme requires 6 bytes of RAM to store the colour channels.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Object &amp;amp; Text Theme 0&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Object &amp;amp; Text Theme 1&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Widgets&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Widgets&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The total number of touchable interactibe objects allowed on the screen at once e.g. Widgets and sliders. Sets the size of the RAM buffers used to track the various screen elements Each Widget requires 18 bytes of RAM to stores things like size, location, value and type.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Touch Repeat Rate&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the period for touch repeats in terms of calls of the CheckForTouch macro. Widgets will only register a repeat touch after x calls if continually held down. Sliders will always register a touch.   The touch count can be cleared using the NoTouch macro if no touch is detected.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Slider Thumb Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of pixels wide to make a slider thumb marker,&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Slider Center Line Thickness&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of pixels thick to draw the slider central line&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Widget Theme Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the number of themes available for drawng Widgets. Each Widget theme requires 12 bytes of RAM to store the colour channels.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Widget Theme 0&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Highlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Lowlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Widget Theme 1&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Highlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Lowlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Lib_DisplayManager.fcfx FC_Comp_Source_Lib_DisplayManager.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Lib_DisplayManager.fcfx FC_Comp_Source_Lib_DisplayManager.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Display_Manager_(Graphical_Library)&amp;diff=41492</id>
		<title>Component: Display Manager (Graphical Library)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Display_Manager_(Graphical_Library)&amp;diff=41492"/>
		<updated>2025-03-28T11:25:59Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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;
| MatrixTSL&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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Graphical Library&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Display Manager component==&lt;br /&gt;
A component designed to simplify the process of drawing primitives and text onto a  graphical display. Keeps track of coordinates so you don't have to. Also works great as a base layer for gLCD based games as it will check for collisions and  perform movement.&lt;br /&gt;
&lt;br /&gt;
==Version information==&lt;br /&gt;
&lt;br /&gt;
 Library Version, Component Version, Date, Author, Info&lt;br /&gt;
 13, 2.0, 22-05-24, BR, Added text alignment options&lt;br /&gt;
 14, 2.1, 14-06-24, BR, Renamed Button to Widget to better include things like sliders&lt;br /&gt;
 15, 2.1, 26-07-24, BR, Added SetTextFloat and AddTextNumber macros&lt;br /&gt;
 16, 2.1, 29-07-24, BR, Renamed Themes to ObjectThemes and WidgetThemes&lt;br /&gt;
 17, 2.1, 29-07-24, BR, Added CreateTextField macro which automates creating a simple textbox&lt;br /&gt;
 18, 2.1, 06-08-24, BR, Fixed a problem with updating values, theme, text on IDs&lt;br /&gt;
 19, 2.1, 06-08-24, BR, Textfield now uses hidden object type instead of rectangle&lt;br /&gt;
 20, 2.1, 06-08-24, BR, Fixed a problem where slider value could be set with out of range value&lt;br /&gt;
 21, 2.1, 06-08-24, BR, Fixed problem where SetTextNumber would reset an ESP32&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
===Objects===&lt;br /&gt;
&lt;br /&gt;
The component can create the following objects.&lt;br /&gt;
&lt;br /&gt;
*'''Object_Hidden''' - 0 - A hidden area with no graphics.&lt;br /&gt;
*'''Object_Rectangle''' - 1 - A simple rectangular box.&lt;br /&gt;
*'''Object_Line''' - 2 - A simple straight line.&lt;br /&gt;
*'''Object_Ellipse''' - 3 - A simple ellipse or circle.&lt;br /&gt;
*'''Object_EllipseFilled''' - 4 - A filled ellipse or circle.&lt;br /&gt;
*'''Object_RectangeFilled''' - 5 - A filled rectangular box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TextField===&lt;br /&gt;
&lt;br /&gt;
There is also an additional TextField object which consists of an Object_Rectangle that is pre-populated with text.&lt;br /&gt;
&lt;br /&gt;
===Widgets===&lt;br /&gt;
&lt;br /&gt;
The component can also create the following interactive buttons and sliders.&lt;br /&gt;
&lt;br /&gt;
*'''Widget_Hidden''' - 0 - A hidden area with no graphics.&lt;br /&gt;
*'''Widget_Rectangle''' - 1 - A rectangular box with a shadow.&lt;br /&gt;
*'''Widget_RoundedRectangle''' - 2 - A rounded rectangular box with a shadow.&lt;br /&gt;
*'''Widget_Ellipse''' - 3 - A simple ellipse or circle with a shadow.&lt;br /&gt;
*'''Widget_VSlider''' - 4 - A vertical slider with a square thumb.&lt;br /&gt;
*'''Widget_HSlider''' - 5 - A horizontal slider with a square thumb.&lt;br /&gt;
*'''Widget_VSlider_Round''' - 6 - A vertical slider with a round thumb.&lt;br /&gt;
*'''Widget_HSlider_Round''' - 7 - A horizontal slider with a round thumb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The type can be entered by using the component's public constants. Begin with the Display Manager handle name followed by :: and the list of the public variables will be displayed.&lt;br /&gt;
&lt;br /&gt;
For example...  '''DisplayManager1::Object_Rectangle'''  or  '''DisplayManager1::Widget_VSlider'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Touch Repeat Rate for Button Widgets===&lt;br /&gt;
&lt;br /&gt;
The Touch Repeat Rate property applies to button based widgets and sets the frequency that a valid touch will be detected for a held button. This is similar to holding down a single key on a keyboard and acts to reduce the frequency of positive button detections when touching the button. For example if you had a button that incremented a value, without the repeat rate the value would increment much faster then anticipated in an uncontrollable manner. When no touch is detected it is recommended to call the NoTouch macro to clear the touch counters and allow a more responsive user experience.&lt;br /&gt;
&lt;br /&gt;
Example of implementing touch repeat rate &lt;br /&gt;
&lt;br /&gt;
[[File:ButtonRepeatRate.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
An example showing how to use the display manager with a GLCd and a touch interface to create a full HMI.&lt;br /&gt;
&lt;br /&gt;
The example shows how to create a simple menu system as well as a toggle switch and a slider used to control a PWM output.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DisplayManagerDemo.fcfx|Display Manager Demo}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An example showing how you can use the CreateWigitArray component to easily create a touch keypad for your gLCD&lt;br /&gt;
&lt;br /&gt;
Component will create the widgets as keypad buttons with your custom text, it allows you to click on the widgets so you have a working keypad.&lt;br /&gt;
&lt;br /&gt;
[[File:Updated__Display_Manager1.png]]&lt;br /&gt;
&lt;br /&gt;
The CreateWidgetArray function macro that is very flexible in what you can create:&lt;br /&gt;
&lt;br /&gt;
[[File:Updated__Display_Manager2.png]]&lt;br /&gt;
&lt;br /&gt;
Lots of flexibility and there are also tooltips to help.&lt;br /&gt;
&lt;br /&gt;
[[File:Updated__Display_Manager3.png]]&lt;br /&gt;
&lt;br /&gt;
Note: if you get a unable to run simulation error then make sure you have the latest components downloaded.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DisplayManager_WidgetArray_Keypad_Example.fcfx|Display Manager Widget Array Keypad Example}}&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===CheckForTouch===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CheckForTouch'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Uses the X and Y coordinates from a touch sensor to check for Widget presses. Returns 0 for no Widgets pressed. Returns ID for a valid Widget press. Any touched slider Widgets will automatically move their thumb and value to the touch position. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ClearAll===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ClearAll'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Removes all objects and Widgets from memory. Also clears the screen if required.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ClearScreen&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Don't clear the screen, 1=Clear the screen&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CreateObject===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CreateObject'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Define a none touchable graphical object. Returns the Object ID.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectType&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Hidden, 1=Rect, 2=Line, 3=Ellipse, 4=FilledEllipse, 5=FilledRect&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | X Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Y Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Width or X Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Height or Y Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index to use to draw the object&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DrawObject&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Do not draw object yet, 1=Draw object now (Does not apply to hidden objects)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CreateTextField===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CreateTextField'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Creates a text field consisting of a rectangular border containing a single line of text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Text string to set as the label&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | X Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Y Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Width&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Height&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | GLCD Font Index to use&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index to use to draw the object&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CreateWidget===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''CreateWidget'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Define an interactive Widget or slider. Returns the Widget ID.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetType&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=WidgetHidden, 1=WidgetRect, 2=WidgetRoundedRect, 3=WidgetEllipse, 4=VSlider, 5=HSlider, 6=VSliderRound, 7=HSliderRound&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | X Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Y Pixel Coordinate&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Width or X Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pixel Height or Y Radius&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index to use to draw the Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DrawWidget&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Do not draw Widget yet, 1=Draw Widget now  (Does not apply to hidden widgets)&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DrawAll===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DrawAll'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Redraws all of the defined Objects and Widgets. Doesn't draw text, this is done using the SetText macros.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DrawItem===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DrawItem'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a single object or Widget onto the display without clearing the display. Doesn't draw text, this is done using the SetText macros.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the Object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetLastTouchID===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetLastTouchID'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Gets the ID of the last Widget that returned a valid press via the CheckForTouch macro. Returns 0  for no valid touch recorded.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-s16-icon.png]] - INT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetSliderValue===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetSliderValue'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the value of one of the sliders ranging between 0 and 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Initialises the object and Widget control variables and sets up the default themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ModifyPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ModifyPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves an existing object or Widget to absolute coordinates on the screen.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-s16-icon.png]] - INT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-s16-icon.png]] - INT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Y&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Relative&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Absolute Positioning, 1=Relative Positioning&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ModifyScale===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ModifyScale'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Changes the width and height of the selected Object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Height&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ModifyTheme===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''ModifyTheme'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Changes the theme index of the selected Object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique ID of the object or Widget&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Theme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Theme index of the Widget or object&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===NoTouch===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''NoTouch'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Called when no touch is present,  Allows the repeat rate counter to be cleared allowing for better responses to fast touches.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OverrideObjectTheme===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''OverrideObjectTheme'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Overrides the colour of an object theme, used by the draw object macro. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ThemeIndex&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Index of the object colour theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OverrideWidgetTheme===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''OverrideWidgetTheme'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Overrides the colour of a Widget theme, used by the draw Widget macro. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ThemeIndex&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Index of the object colour theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | FG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | BG_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HL_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HL_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HL_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LL_R&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LL_G&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LL_B&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour channel value&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetSliderValue===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetSliderValue'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the value of one of the sliders and optionally redraws the slider to reflect the value change.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | WidgetID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Value&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range: 0 to 1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | RedrawSlider&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Do not redraw, 1=Redraw&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTextFloat===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTextFloat'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a numerical value onto an object or Widget location. Useful for displaying, value statistics. Drawn using the object themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique identifier of object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:]] - &lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Number&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | NumDP&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of decimal points to display&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit string to add after the numeric value. e.g. &amp;quot;g&amp;quot; or &amp;quot;s&amp;quot;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Object theme index to control the colour of the text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Transparent&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Background Colour Drawn, 1=Don't Draw Background Colour&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTextLabel===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTextLabel'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a single line of text onto an object or Widget location. Useful for labelling Widgets such as buttons or having name, value statistics. Drawn using the object themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique identifier of object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Text string to set as the label&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | GLCD Font Index to use&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Object theme index to control the colour of the text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Transparent&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Background Colour Drawn, 1=Don't Draw Background Colour&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTextNumber===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTextNumber'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Draws a numerical value onto an object or Widget location. Useful for displaying, value statistics. Drawn using the object themes.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ID&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unique identifier of object or Widget.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:]] - &lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Number&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit string to add after the numeric value. e.g. &amp;quot;g&amp;quot; or &amp;quot;s&amp;quot;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Font&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | HAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Left, 1=Center, 2=Right&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VAlignment&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Top, 1=Middle, 2=Bottom&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | ObjectTheme&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Object theme index to control the colour of the text&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Transparent&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=Background Colour Drawn, 1=Don't Draw Background Colour&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Graphical Display&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Graphical Display to draw our objects on&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DM Library&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Display Manager compatible GLCD library component.  e.g. Bitmap drawer components.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Ram Usage Bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The calculated number of bytes of RAM required by the display manager.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text Align Offset&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of pixels to move away from an edge when calling &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Objects&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Objects&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The total number of primitive objects allowed on the screen at once. Sets the size of the RAM buffers used to track the various screen elements. Each object requires 10 bytes of RAM to stores things like size, location and type.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Object Theme Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the number of themes available when drawing primitive objects. Each object theme requires 6 bytes of RAM to store the colour channels.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Object &amp;amp; Text Theme 0&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Object &amp;amp; Text Theme 1&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Widgets&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Widgets&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The total number of touchable interactibe objects allowed on the screen at once e.g. Widgets and sliders. Sets the size of the RAM buffers used to track the various screen elements Each Widget requires 18 bytes of RAM to stores things like size, location, value and type.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Touch Repeat Rate&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the period for touch repeats in terms of calls of the CheckForTouch macro. Widgets will only register a repeat touch after x calls if continually held down. Sliders will always register a touch.   The touch count can be cleared using the NoTouch macro if no touch is detected.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Slider Thumb Width&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of pixels wide to make a slider thumb marker,&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Slider Center Line Thickness&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of pixels thick to draw the slider central line&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Widget Theme Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the number of themes available for drawng Widgets. Each Widget theme requires 12 bytes of RAM to store the colour channels.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Widget Theme 0&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Highlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Lowlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Widget Theme 1&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Foreground&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Foreground colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Background&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Background colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Highlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Highlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-1-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Lowlight&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lowlight colour of the theme&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Lib_DisplayManager.fcfx FC_Comp_Source_Lib_DisplayManager.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Lib_DisplayManager.fcfx FC_Comp_Source_Lib_DisplayManager.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Updated_Display_Manager3.png&amp;diff=41491</id>
		<title>File:Updated Display Manager3.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Updated_Display_Manager3.png&amp;diff=41491"/>
		<updated>2025-03-28T11:19:09Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Updated_Display_Manager2.png&amp;diff=41490</id>
		<title>File:Updated Display Manager2.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Updated_Display_Manager2.png&amp;diff=41490"/>
		<updated>2025-03-28T11:18:50Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Updated_Display_Manager1.png&amp;diff=41489</id>
		<title>File:Updated Display Manager1.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Updated_Display_Manager1.png&amp;diff=41489"/>
		<updated>2025-03-28T11:18:06Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:DisplayManager_WidgetArray_Keypad_Example.fcfx&amp;diff=41488</id>
		<title>File:DisplayManager WidgetArray Keypad Example.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:DisplayManager_WidgetArray_Keypad_Example.fcfx&amp;diff=41488"/>
		<updated>2025-03-28T11:11:22Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Potentiometer_(Analog_Input)&amp;diff=41487</id>
		<title>Component: Potentiometer (Analog Input)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Potentiometer_(Analog_Input)&amp;diff=41487"/>
		<updated>2025-03-20T09:22:07Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Analog Input&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Potentiometer component==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Potentiometer.fcfx FC_Comp_Source_Potentiometer.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Potentiometer.fcfx FC_Comp_Source_Potentiometer.fcfx]&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using Fixed Voltage Reference===&lt;br /&gt;
&lt;br /&gt;
An example of a 0 to 1023 mV meter with a resolution of 1mv.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|ADC_using_FVR_16F15324.fcfx|ADC using FVR}} &lt;br /&gt;
&lt;br /&gt;
A PIC16F15324 is used since it has a Fixed Voltage Reference (FVR) register.&lt;br /&gt;
&lt;br /&gt;
Bit0 and bit1 determine what the FVR is set at.&lt;br /&gt;
&lt;br /&gt;
A line of C code is added to set the FVR to a gain of x1 = FVR of 1.024V:&lt;br /&gt;
&lt;br /&gt;
'''FVRCON = 0b11000001;''' &lt;br /&gt;
&lt;br /&gt;
With this setting, the Int value from ADC directly proportional voltage in mV.&lt;br /&gt;
&lt;br /&gt;
E.g. a value of 732 = 732mV&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Binary is used to make reading values a lot easier.&lt;br /&gt;
&lt;br /&gt;
From the datasheet:&lt;br /&gt;
&lt;br /&gt;
[[File:PIC16F1532x FVRCON.png]] &lt;br /&gt;
&lt;br /&gt;
If you wanted to change the fixed voltage reference to 2.048V&lt;br /&gt;
&lt;br /&gt;
Then change bit0 and bit1 of the C code to '''FVRCON = 0b11000010;''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Filtering ADC Inputs===&lt;br /&gt;
&lt;br /&gt;
Simple example which uses a filtering technique to provide a digital low pass filter on the ADC readings. The output of the filter is 50% the ADC reading and 50% the previous reading.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LPFilter_2D.fcfx|LPFilter}}&lt;br /&gt;
&lt;br /&gt;
In this example the output of the filter is 25% the ADC reading and 75% the previous reading.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LPFilter2_2D.fcfx|LPFilter2}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Analogue Inputs Window===&lt;br /&gt;
&lt;br /&gt;
The [[Analog_Window|Analogue inputs window]] available from the View ribbon, allows you to see the values for all of the analogue inputs which are active in your program. They can also be manually altered by dragging the mouse along one of the sliders.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Data Recorder===&lt;br /&gt;
&lt;br /&gt;
An ADC based component will automatically add a trace to the [[Using_the_Data_Recorder|data recorder]] window allowing you to get a view of the analogue data over time during simulation.&lt;br /&gt;
&lt;br /&gt;
[[File:Data_Recorder1.png]]&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===GetAverageByte===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetAverageByte'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Read the ADC as a byte&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | NumSamples&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DelayUs&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetAverageInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetAverageInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Read the ADC at full bit depth&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | NumSamples&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | DelayUs&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetByte===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetByte'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Read the ADC as a byte&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Read the ADC at full bit depth&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetString===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetString'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the ADC as a direct voltage&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-string-icon.png]] - STRING&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GetVoltage===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''GetVoltage'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Reads the ADC as a direct voltage&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Connections&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-6-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Analogue Input Channel - Which pin is the analogue input connected to?&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Settings&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-14-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VRef voltage&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Used by the GetVoltage or GetString component macros to take an ADC reading and convert it into a Voltage. +VRef voltage x 10mV Default 500 = 5.0V &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | VRef option&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Defines what is used as the ADC maximum reference. ADC Range = GND to VRef Voltage VDD - Defines the microcontrollers power supply pin as the max reference, VREF+ Pin - Dedicated pin on the microcontroller to allow for a variable reference voltage.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Conversion speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Clock setting to select how fast the ADC peripheral will perform an ADC conversion. The FRC setting is based on a RC time base and so will vary with temperature and pressure. Other settings are generally based on divisions of the master clock.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-14-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Acquisition cycles&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of micro seconds to wait for the ADC input to charge before starting the analogue sample.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-14-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Bit Depth&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Maximum number of digital bits the ADC can sample. 8 bit = ADC range 0 - 255 10 bit = ADC range 0 - 1023  12 bit = ADC range 0 - 4095&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-7-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Retain Value&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Appearance&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Component Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | LabelColour&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-7-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Show Connection Label&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-7-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Show Pin Value&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Colour Style&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-23-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Fill&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Frame Outline&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-23-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Frame Fill&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Pointer Outline&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-23-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Pointer Fill&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Tick Mark Outline&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-23-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Tick Mark Fill&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-2-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Cap Outline&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-23-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Cap Fill&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-13-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Main Image&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-13-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Cap Image&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Style&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-12-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-7-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Scope Traces&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Selects if the scope traces are automatically generated or not&amp;amp;nbsp;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:PIC16F1532x_FVRCON.png&amp;diff=41486</id>
		<title>File:PIC16F1532x FVRCON.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:PIC16F1532x_FVRCON.png&amp;diff=41486"/>
		<updated>2025-03-20T09:12:18Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:ADC_using_FVR_16F15324.fcfx&amp;diff=41485</id>
		<title>File:ADC using FVR 16F15324.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:ADC_using_FVR_16F15324.fcfx&amp;diff=41485"/>
		<updated>2025-03-20T09:11:40Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41484</id>
		<title>Supporting Third Party Programming Tools</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Supporting_Third_Party_Programming_Tools&amp;diff=41484"/>
		<updated>2025-03-10T10:34:07Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* AISX Presto/Forte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen_Compiler_Options_Programmer_PIC.png|right|524x400px]]&lt;br /&gt;
Each version of Flowcode comes ready with a default programming tool. However it is fairly easy to change the settings in Flowcode to allow for third party programming tools to be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programming tool that is invoked when the compile to chip button is pressed is configured in the '''Build menu''' under '''Compiler options''' then click on the '''Programmer tab''' page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For help with third party programming tools the first port of call should be to check our [http://www.matrixmultimedia.com/mmforums/ forums] to see if anyone else has already tried the programming tool with Flowcode. If you are the first then if you wish you can post your findings for other users to benefit from.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
Editing the Compiler or Linker tabs of the compiler options will likely stop Flowcode from being able to compile correctly unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
The settings below are for the '''Programmer''' tab of the compiler options. &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do edit the values in the compiler or linker tab then you can simply revert back to the default settings and start again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Microchip PIC / PIC16 / PIC32==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including E-blocks, E-blocks2, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-chip $(chip:u) &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PPP===&lt;br /&gt;
&lt;br /&gt;
PPP is the older programming software from Flowcode v5 and previous and can be used to talk to versions of the E-blocks EB006 up to and including version 8. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PPP\PPPv3.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-cs 2 -chip PIC$(chip:u) -nogui &amp;quot;$(outdir)$(target).hex&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit2===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit2\pk2cmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-B$(appdir)tools\PICkit2\ -PPIC$(chip) -F$(target).hex -M -A5 -R'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Details on how to upgrade your PICkit 2 to work with new targets are available from [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=16843 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 2 was never designed to work with the newer devices and although it is known to work, you may cause damage to your PIC devices by using incorrect VPP programming voltages etc as supplied by the PICkit 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - PK3CMD (OLD)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\PICkit3\PK3CMD.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters (8-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V5 -E -M'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters (16-bit PIC):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-P$(chip) -F$(target).hex -V3.3 -E -M -L'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that the PICkit 3 will fail to program if you have spaces in your Flowcode project name, replacing spaces with underscores or removing them completely should resolve the issue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also note that if your using the PICkit 3 with MPLABX or have bought a new one recently then you will likely have to downgrade the firmware to allow Flowcode to work with the PICkit.&lt;br /&gt;
&lt;br /&gt;
Full details on how to do this are available from [http://woodworkerb.com/pickit-3-and-flowcode-6/ here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your still having problems getting the PICkit 3 to fire up then this [http://www.matrixtsl.com/mmforums/viewtopic.php?f=54&amp;amp;t=12970&amp;amp;p=58454#p52318 forum topic] may be of help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit3 - IPE (NEW)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To use the Microchip Real ICE programmer instead of the PICkit 3 substitute the parameter /TPPK3 with /TPRICE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PICkit4===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 4.20 is the minimum version that will work with the PICkit 4 hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the PICkit 4 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPPK4 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SNAP===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 5.40 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
Version 5.40 is the minimum version that will work with the Snap hardware.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the Snap depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the PICkit'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPSNAP /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ICD3===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First make sure you have the latest MPLAB X installed on your computer. We used version 4.20 which is used in the location path shown below. Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
There are two options for using the ICD3 depending on how you are powering your hardware:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered externally'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Powered via the ICD3'''&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(mplabxdir)mplab_platform\mplab_ipe\ipecmd.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 3V3:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W3.3'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters - Powered at 5V:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/P$(chip) /F&amp;quot;$(outdir)$(target).hex&amp;quot; /TPICD3 /M /OL /W5'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FS USB===&lt;br /&gt;
&lt;br /&gt;
Flowcode PIC comes with a example for using the free microchip USB bootloader. Changing your target to the MCHP_FSUSB will automatically configure the programmer to use the Microchip PDFSUSB programming tool. Note - The USB bootloader firmware must be present on the device to allow the programming tool to connect correctly to the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TINY PIC Bootloader===&lt;br /&gt;
&lt;br /&gt;
Support for the Serial TINY PIC Bootloader is documented [http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=5&amp;amp;t=4647 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AVR==&lt;br /&gt;
&lt;br /&gt;
===AVRISP mkII===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB Tiny===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(compileravr)batchfiles\avrc_usbtiny.bat'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''AVRDUDE $(chipalt) $(chip:l) &amp;quot;$(outdir)$(target).hex&amp;quot; &amp;quot;$(target).hex&amp;quot; 0 $(cfgb) $(cfg0) $(cfg1) $(cfg2) $(cfg3)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AVR Dude===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
The AVRDUDE programming tool supports a number of third party programmers for more help and information please visit the [http://savannah.nongnu.org/projects/avrdude/ AVRDUDE home page].&lt;br /&gt;
&lt;br /&gt;
[http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ AVRDUDESS] is a graphical user interface for AVRdude. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino===&lt;br /&gt;
&lt;br /&gt;
Flowcode Arduino allows you to specify a COM port to connect to the Arduino hardware via the Flowcode Project options window. Once you have specified the COM port and selected the correct target board the compile to chip option should program the Arduino device automatically using AVR dude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arduino Mega 2560 R1/R2===&lt;br /&gt;
&lt;br /&gt;
Flowcode is currently unable to program early versions of the Arduino Mega hardware. To program these devices use the tool [http://russemotto.com/xloader/ Xloader] to manually load the Flowcode generated .hex file onto the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ARM==&lt;br /&gt;
&lt;br /&gt;
Flowcode ARM comes with a set of precompiled bootloader files. This allows the matrix mLoader USB reprogrammable operation to be used on any third party ARM hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===mLoader===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
mLoader is the default programming software and can be used to talk to the various Matrix hardware including EB006, EB064, EB031, Formula Flowcode, ECIO, MIAC, ProtoBoard, ProjectBoard...&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''$(appdir)tools\mLoader\mLoader.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''-eb0310 &amp;quot;$(target).s19&amp;quot;'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SAM-BA===&lt;br /&gt;
&lt;br /&gt;
The SAM-BA tool is provided by Atmel and works with the default SAM7S bootloader which can be automatically restored to the device by powering up the ARM hardware for ten seconds using the TST jumper in the none default setting. Note this will delete the Matrix USB bootloader from the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ST ARM==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ST-LINK===&lt;br /&gt;
&lt;br /&gt;
Flowcode by default is setup to use the ST-LINK programmer using the compile to chip option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Discovery===&lt;br /&gt;
&lt;br /&gt;
Discovery boards are programmed by dropping the compiled binary firmware file onto a drive that appears under My Computer. Flowcode can automatically place the file onto the drive for you when using the compile to chip option with a discovery board selected as the target device.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Nucleo===&lt;br /&gt;
&lt;br /&gt;
Nucleo boards have a ST-LINK programmer built onto the board and so these work like standard ST ARM targets only without the additional requirement of a ST-LINK programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi boards can be programmed over the network using Putty which is included with Flowcode. Enter the network details for the Pi into the Flowcode project options and this will allow the compile to chip to connect to the Pi using Putty via a SSH connection. SSH must be enabled on your Pi for this to function correctly but this should be enabled by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AISX Presto/Forte==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Take care to ensure you '''only''' edit the values in the '''Programmer''' tab.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ProgTab.jpg]]&lt;br /&gt;
&lt;br /&gt;
First, make sure you have the latest UP installed on your computer. &lt;br /&gt;
Make sure your path matches your installed location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''C:\Program Files (x86)\ASIX\UP\up.exe'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;'''/p &amp;quot;$(outdir)$(target).hex&amp;quot; /part PIC$(chip)'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way the command line works is by using the last UP.exe settings.&lt;br /&gt;
&lt;br /&gt;
If you want to use the programmer’s internal supply.&lt;br /&gt;
&lt;br /&gt;
Open UP.exe and within the programmer settings window, select During programming check box.&lt;br /&gt;
&lt;br /&gt;
I would also recommend changing Delay for VDD switching on/off when supplied from programmer from 10000 to 50000.&lt;br /&gt;
&lt;br /&gt;
Close UP then all is ready for programming.&lt;br /&gt;
&lt;br /&gt;
If you want to see a popup progress bar during programming, remove /q from the parameters.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
Presto can only supply VDD 5.0V and VPP 13.0V &lt;br /&gt;
Forte can supply VDD 2.0V to 5.5V and VPP 6.5V to 17 Automatically, depending on the selected target device.&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:SimpleIBDemo.fcfx&amp;diff=41482</id>
		<title>File:SimpleIBDemo.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:SimpleIBDemo.fcfx&amp;diff=41482"/>
		<updated>2025-02-05T09:23:35Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:SimpleIBDemo.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:FreqGenMulti.fcfx&amp;diff=41481</id>
		<title>File:FreqGenMulti.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:FreqGenMulti.fcfx&amp;diff=41481"/>
		<updated>2025-01-31T08:39:35Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:FreqGenMulti.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:FreqGen.fcfx&amp;diff=41480</id>
		<title>File:FreqGen.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:FreqGen.fcfx&amp;diff=41480"/>
		<updated>2025-01-31T08:36:13Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:FreqGen.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:LowPassFilter.fcfx&amp;diff=41479</id>
		<title>File:LowPassFilter.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:LowPassFilter.fcfx&amp;diff=41479"/>
		<updated>2025-01-31T08:27:05Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:LowPassFilter.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Delay.fcfx&amp;diff=41478</id>
		<title>File:Delay.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Delay.fcfx&amp;diff=41478"/>
		<updated>2025-01-29T11:28:00Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:Delay.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Input_Digital_(DSP_Inputs)&amp;diff=41477</id>
		<title>Component: Input Digital (DSP Inputs)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Input_Digital_(DSP_Inputs)&amp;diff=41477"/>
		<updated>2025-01-29T11:27:39Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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.2&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| DSP Inputs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Input Digital component==&lt;br /&gt;
Allows the values from a buffer to be assigned. Either a value at a time or from an array. The input signal would usually take the form of an ADC reading or raw data values.&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_DSP_Input.fcfx FC_Comp_Source_DSP_Input.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_DSP_Input.fcfx FC_Comp_Source_DSP_Input.fcfx]&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a basic example demonstrating how to pass a value into the DSP chain.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Delay.fcfx|Delay}}&lt;br /&gt;
&lt;br /&gt;
The input value in the example uses an ADC reading but this can be taken from anything such as a reading from a CSV file on a SD card or a value passed by a sensor on a I2C bus etc.&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===AddByte===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddByte'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds a single byte value to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddByteArray===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddByteArray'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds an array of byte values to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddFloat===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddFloat'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds a single float value to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddFloatArray===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddFloatArray'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds an array of float values to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-f32-icon.png]] - FLOAT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds a single integer value to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddIntArray===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddIntArray'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds an array of integer values to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddLong===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddLong'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds a single long value to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u32-icon.png]] - ULONG&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddLongArray===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AddLongArray'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Adds an array of long values to the current location in the specified buffer. Auto increments current location if output buffer size is greater than 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u32-icon.png]] - ULONG&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Count&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Buffer Size&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of individual elements the buffer can store, default 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Buffer Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the buffer data type, data is automatically scaled to fit and make full use of the data type.&amp;amp;nbsp;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_(BL0162)_(E-blocks_2)&amp;diff=41476</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=41476"/>
		<updated>2025-01-29T11:20:12Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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&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;
==Servo Motor component==&lt;br /&gt;
Servo motor component to drive the E-blocks 2 BL0162 Servo Motors board. Provides up to eight individually addressable connections for standard DC servo motors to be connected.&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_Servo_BL0162.fcfx FC_Comp_Source_EBlocks2_Servo_BL0162.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_Servo_BL0162.fcfx FC_Comp_Source_EBlocks2_Servo_BL0162.fcfx]&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example showing how to control three servos using AutoMoveToPosion, MoveTopposition &amp;amp; SetPosition component macros.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Controlling_Servos_Example.fcfx|Controlling Servos Example.fcfx}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example using BL0162 Servo controller for BL0055 Arduino Shield&lt;br /&gt;
&lt;br /&gt;
Samples the Port D8-D13 (portB) switches and moves the servo motors based on the input states. &lt;br /&gt;
&lt;br /&gt;
D8 increments motor 0, D9 decrements motor on channel 0.&lt;br /&gt;
&lt;br /&gt;
D10 increments motor 1, D11 decrements motor on channel 1.&lt;br /&gt;
&lt;br /&gt;
D12 increments motor 3, D13 decrements motor on channel 2.&lt;br /&gt;
&lt;br /&gt;
Connections:  &lt;br /&gt;
&lt;br /&gt;
Servo Board Port D0-D2.&lt;br /&gt;
&lt;br /&gt;
Switch Board Port D8 - D13&lt;br /&gt;
&lt;br /&gt;
LCD A0 to A5 (PortC)&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BL0162_Servo_BL0055.fcfx|BL0162 Servos Example for BL0055}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new position with a fixed rate of 100 steps per second.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to move to.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DisableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DisableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Disables a servo channel effectivly disabling the motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===EnableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''EnableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets up the servo motor interrupts&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete. Returns 1 if the servo is still moving. Returns 0 if the servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeed===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeed'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro. Default speed is 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTrim===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTrim'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Allows the level of trim for each servo channel to be adjusted progmatically.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channels (1 - 8)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Set the number of servo's that you need to control. Value from 1 to 8.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Connections&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 3&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 4&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 5&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 6&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 7&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Pulse Width&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Minimum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Shortest pulse width that will be used.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Maximum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Longest pulse width used for the PWM signals.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 3&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 4&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 5&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 6&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 7&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-7-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Show Servo Interface&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 3&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 4&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 5&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 6&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 7&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Controlling_Servos_Example.fcfx&amp;diff=41475</id>
		<title>File:Controlling Servos Example.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Controlling_Servos_Example.fcfx&amp;diff=41475"/>
		<updated>2025-01-29T11:18:56Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:Controlling Servos Example.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41474</id>
		<title>Component: Servo Motor Controller (Mechatronics)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41474"/>
		<updated>2025-01-29T11:10:23Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Mechatronics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Servo Motor Controller component==&lt;br /&gt;
Can control up to eight standard PWM driven servo's.  Supports 8-bit and 16-bit movement resolutions. 'Servo Object' properties allow you to connect the controller to on-screen simulations using the &amp;quot;Servo Motor&amp;quot; component and its derivatives. &lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example showing how to control three servos using AutoMoveToPosion, MoveTopposition &amp;amp; SetPosition component macros.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Controlling_Servos_Example.fcfx|Controlling Servos Example.fcfx}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example using BL0162 Servo controller for BL0055 Arduino Shield&lt;br /&gt;
&lt;br /&gt;
Samples the Port D8-D13 (portB) switches and moves the servo motors based on the input states. &lt;br /&gt;
&lt;br /&gt;
D8 increments motor 0, D9 decrements motor on channel 0.&lt;br /&gt;
&lt;br /&gt;
D10 increments motor 1, D11 decrements motor on channel 1.&lt;br /&gt;
&lt;br /&gt;
D12 increments motor 3, D13 decrements motor on channel 2.&lt;br /&gt;
&lt;br /&gt;
Connections:  &lt;br /&gt;
&lt;br /&gt;
Servo Board Port D0-D2.&lt;br /&gt;
&lt;br /&gt;
Switch Board Port D8 - D13&lt;br /&gt;
&lt;br /&gt;
LCD A0 to A5 (PortC)&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BL0162_Servo_BL0055.fcfx|BL0162 Servos Example for BL0055}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new angle at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DisableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DisableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Disables a servo channel effectivly disabling the motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===EnableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''EnableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets up the servo motor interrupts&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete.   Returns 1 if the servos are still moving.  Returns 0 if all servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsServoAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsServoAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete for a specific servo output.  Returns 1 if the servo is still moving.   Returns 0 if the servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Servo Motor Output Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves a single step towards the new angle, the rate of movement is determined by how often the move to macro is called.  Returns 1 if the position has been reached.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves the motor straight to the specified angle. Uses the angle property to calculate the correct amount to move.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeed===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeed'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeedInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeedInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. Uses a 16-bit position parameter to add extra precision.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTrim===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTrim'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Allows the level of trim for each servo channel to be adjusted progmatically.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channels (1 - 8)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Set the number of servo's that you need to control. Value from 1 to 8.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Resources&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Peripherals&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lists the internal peripherals of the MCU used by the component. When the servo motor is initialised you will not be able to use the listed peripherals for other functionality.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Pulse Width&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Minimum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Shortest pulse width that will be used.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Maximum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Longest pulse width used for the PWM signals.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Connections&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range of movement in the servo motor to calibrate the Angle component macros. Can be found by measuring the angle between position 0 and position 255.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim Mode&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41473</id>
		<title>Component: Servo Motor Controller (Mechatronics)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41473"/>
		<updated>2025-01-29T11:06:53Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Mechatronics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Servo Motor Controller component==&lt;br /&gt;
Can control up to eight standard PWM driven servo's.  Supports 8-bit and 16-bit movement resolutions. 'Servo Object' properties allow you to connect the controller to on-screen simulations using the &amp;quot;Servo Motor&amp;quot; component and its derivatives. &lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example showing how to control three servos using AutoMoveToPosion, MoveTopposition &amp;amp; SetPosition component macros.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Controlling_Servos_Example.fcfx|Controlling Servos Example.fcfx}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example using BL0162 Servo controller for BL0055 Arduino Shield&lt;br /&gt;
&lt;br /&gt;
Samples the Port D8-D13 (portB) switches and moves the servo motors based on the input states. &lt;br /&gt;
&lt;br /&gt;
D8 increments motor 0, D9 decrements motor on channel 0.&lt;br /&gt;
&lt;br /&gt;
D10 increments motor 1, D11 decrements motor on channel 1.&lt;br /&gt;
&lt;br /&gt;
D12 increments motor 3, D13 decrements motor on channel 2.&lt;br /&gt;
&lt;br /&gt;
Connections:  &lt;br /&gt;
&lt;br /&gt;
Servo Board Port D0-D2.&lt;br /&gt;
&lt;br /&gt;
Switch Board Port D8 - D13&lt;br /&gt;
&lt;br /&gt;
LCD A0 to A5 (PortC)&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new angle at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DisableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DisableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Disables a servo channel effectivly disabling the motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===EnableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''EnableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets up the servo motor interrupts&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete.   Returns 1 if the servos are still moving.  Returns 0 if all servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsServoAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsServoAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete for a specific servo output.  Returns 1 if the servo is still moving.   Returns 0 if the servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Servo Motor Output Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves a single step towards the new angle, the rate of movement is determined by how often the move to macro is called.  Returns 1 if the position has been reached.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves the motor straight to the specified angle. Uses the angle property to calculate the correct amount to move.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeed===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeed'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeedInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeedInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. Uses a 16-bit position parameter to add extra precision.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTrim===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTrim'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Allows the level of trim for each servo channel to be adjusted progmatically.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channels (1 - 8)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Set the number of servo's that you need to control. Value from 1 to 8.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Resources&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Peripherals&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lists the internal peripherals of the MCU used by the component. When the servo motor is initialised you will not be able to use the listed peripherals for other functionality.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Pulse Width&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Minimum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Shortest pulse width that will be used.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Maximum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Longest pulse width used for the PWM signals.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Connections&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range of movement in the servo motor to calibrate the Angle component macros. Can be found by measuring the angle between position 0 and position 255.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim Mode&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41472</id>
		<title>Component: Servo Motor Controller (Mechatronics)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41472"/>
		<updated>2025-01-29T11:03:23Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Mechatronics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Servo Motor Controller component==&lt;br /&gt;
Can control up to eight standard PWM driven servo's.  Supports 8-bit and 16-bit movement resolutions. 'Servo Object' properties allow you to connect the controller to on-screen simulations using the &amp;quot;Servo Motor&amp;quot; component and its derivatives. &lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example showing how to control three servos using AutoMoveToPosion, MoveTopposition &amp;amp; SetPosition component macros.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Controlling_Servos_Example.fcfx|Controlling Servos Example.fcfx}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example using BL0162 Servo controller for BL0055 Arduino Shield&amp;lt;br&amp;gt;&lt;br /&gt;
Samples the Port D0-D7 switches and moves the servo motors based on the input states.&amp;lt;br&amp;gt;&lt;br /&gt;
D0 increments motor 0, D1 decrements motor 0.&amp;lt;br&amp;gt;&lt;br /&gt;
D2 increments motor 1, D3 decrements motor 1.&amp;lt;br&amp;gt;&lt;br /&gt;
Connections: Combo Board Ports A0-A5 &amp;amp; D0-D7 / Servo Board Port D8-D13.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|BL0162_Servo_BL0055.fcfx|BL0162 Servos Example for BL0055}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new angle at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DisableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DisableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Disables a servo channel effectivly disabling the motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===EnableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''EnableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets up the servo motor interrupts&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete.   Returns 1 if the servos are still moving.  Returns 0 if all servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsServoAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsServoAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete for a specific servo output.  Returns 1 if the servo is still moving.   Returns 0 if the servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Servo Motor Output Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves a single step towards the new angle, the rate of movement is determined by how often the move to macro is called.  Returns 1 if the position has been reached.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves the motor straight to the specified angle. Uses the angle property to calculate the correct amount to move.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeed===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeed'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeedInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeedInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. Uses a 16-bit position parameter to add extra precision.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTrim===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTrim'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Allows the level of trim for each servo channel to be adjusted progmatically.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channels (1 - 8)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Set the number of servo's that you need to control. Value from 1 to 8.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Resources&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Peripherals&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lists the internal peripherals of the MCU used by the component. When the servo motor is initialised you will not be able to use the listed peripherals for other functionality.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Pulse Width&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Minimum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Shortest pulse width that will be used.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Maximum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Longest pulse width used for the PWM signals.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Connections&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range of movement in the servo motor to calibrate the Angle component macros. Can be found by measuring the angle between position 0 and position 255.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim Mode&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Filter_(DSP_Operators)&amp;diff=41471</id>
		<title>Component: Filter (DSP Operators)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Filter_(DSP_Operators)&amp;diff=41471"/>
		<updated>2025-01-29T08:31:01Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Detailed description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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.3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| DSP Operators&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Filter component==&lt;br /&gt;
Filter component to allow basic filtering to be performed Filters include: LowPass, HighPass, BandPass, BandStop, FIR, IIR&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the data recorder you can see the analogue wave and the filter response changing as the frequency changes. &lt;br /&gt;
&lt;br /&gt;
Basically allows you to play with the filter coefficients and modify the frequency to see how the filter performs.&lt;br /&gt;
&lt;br /&gt;
The PWM is just providing an analogue output but would need a R/C filter to make it truly analogue.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Low Pass Filter ===&lt;br /&gt;
&lt;br /&gt;
Example of the filter component set up to create a low pass filter with the input frequency controlled using the potentiometer on the panel.&lt;br /&gt;
{{Fcfile|LowPassFilter.fcfx|LowPassFilter}}&lt;br /&gt;
Low pass filter running at a low frequency - note that the amplitude of the filtered data closely matches that of the original waveform data.&lt;br /&gt;
&lt;br /&gt;
[[File:LPFilter.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Low pass filter running at a high frequency - note that the amplitude of the filtered waveform is now greatly attenuated.&lt;br /&gt;
&lt;br /&gt;
[[File:LPFilter2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== High Pass Filter ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of the filter component set up to create a high pass filter with the input frequency controlled using the potentiometer on the panel.&lt;br /&gt;
{{Fcfile|HighPassFilter.fcfx|HighPassFilter}}&lt;br /&gt;
High pass filter running at a low frequency - note that the amplitude of the filtered waveform is greatly attenuated.&lt;br /&gt;
&lt;br /&gt;
[[File:HPFilter.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
High pass filter running at a high frequency - note that the amplitude of the filtered data closely matches that of the original waveform data.&lt;br /&gt;
&lt;br /&gt;
[[File:HPFilter2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Band Pass Filter ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of the filter component set up to create a band pass filter with the input frequency controlled using the potentiometer on the panel.&lt;br /&gt;
{{Fcfile|BandPassFilter.fcfx|BandPassFilter}}&lt;br /&gt;
Band pass filter running at a low frequency - note that the amplitude of the filtered waveform is greatly attenuated.&lt;br /&gt;
&lt;br /&gt;
[[File:BPFilter.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Band pass filter running at a mid frequency - note that the amplitude of the filtered data closely matches that of the original waveform data.&lt;br /&gt;
&lt;br /&gt;
[[File:BPFilter2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Band pass filter running at a high frequency - note that the amplitude of the filtered waveform is greatly attenuated.&lt;br /&gt;
&lt;br /&gt;
[[File:BPFilter3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===Filter===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Filter'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Performs the filter operation to the current value in the buffer.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FilterArray===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''FilterArray'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Performs the filter operation to the contents of the entire buffer in one go.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetFilterCoefficient===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetFilterCoefficient'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Allows the coefficients of low pass, High pass, band pass and band stop filters to be edited.  Must be enabled using the Variable Coefficients property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Index&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range: 0-1&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Value&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Connect To&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | DSP component with output buffer to collect our data from.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Buffer Size&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of individual elements the buffer can store, default 1.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Buffer Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the buffer data type.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Direction&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the data direction flow of the component&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Filter Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Type&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Specifies the filter type created by the component: Low Pass - Filters out frequencies above the cutoff frequency High Pass - Filters out frequencies below the cutoff frequency Band Pass - Combination of High Pass and Low Pass Filters Band Stop - Inverse of Band Pass FIR - Finite impulse response using standard filter coefficients IIR - Infinite impulse response using standard filter coefficients&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-7-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Variable Coefficients&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Decides if the coefficient values can be altered during runtime using the SetCoefficient component macro. Only available for the simple filter types, low pass, high pass, band pass and band stop.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-14-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Coefficient 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Cutoff frequency = Nyquist frequency / Coefficient Cutoff frequency is described as when the unwanted frequencies in the signal have been attenuated by at least 50% &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Calculations&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Sample Rate&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sample frequency used to work out some basic useful calculations&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Nyquist Frequency&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Maximum theoretical frequency that can be obtained by the sample frequency&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Cutt Off Frequency 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | First cutoff frequency&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_DSP_Filter.fcfx FC_Comp_Source_DSP_Filter.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_DSP_Filter.fcfx FC_Comp_Source_DSP_Filter.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:LowPassFilter.fcfx&amp;diff=41470</id>
		<title>File:LowPassFilter.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:LowPassFilter.fcfx&amp;diff=41470"/>
		<updated>2025-01-29T08:28:00Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:LowPassFilter.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:HighPassFilter.fcfx&amp;diff=41469</id>
		<title>File:HighPassFilter.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:HighPassFilter.fcfx&amp;diff=41469"/>
		<updated>2025-01-29T08:27:44Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:HighPassFilter.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:BandPassFilter.fcfx&amp;diff=41468</id>
		<title>File:BandPassFilter.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:BandPassFilter.fcfx&amp;diff=41468"/>
		<updated>2025-01-29T08:27:28Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:BandPassFilter.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:BandPassFilter.fcfx&amp;diff=41467</id>
		<title>File:BandPassFilter.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:BandPassFilter.fcfx&amp;diff=41467"/>
		<updated>2025-01-29T08:06:24Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:BandPassFilter.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41466</id>
		<title>Component: Servo Motor Controller (Mechatronics)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Servo_Motor_Controller_(Mechatronics)&amp;diff=41466"/>
		<updated>2025-01-28T16:49:03Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Mechatronics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Servo Motor Controller component==&lt;br /&gt;
Can control up to eight standard PWM driven servo's.  Supports 8-bit and 16-bit movement resolutions. 'Servo Object' properties allow you to connect the controller to on-screen simulations using the &amp;quot;Servo Motor&amp;quot; component and its derivatives. &lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''No detailed description exists yet for this component''&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example showing how to control three servos using AutoMoveToPosion, MoveTopposition &amp;amp; SetPosition component macros.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Controlling_Servos_Example.fcfx|Controlling Servos Example.fcfx}}&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example using BL0162 Servo controller for BL0055 Arduino Shield&amp;lt;br&amp;gt;&lt;br /&gt;
Samples the Port D0-D7 switches and moves the servo motors based on the input states.&amp;lt;br&amp;gt;&lt;br /&gt;
D0 increments motor 0, D1 decrements motor 0.&amp;lt;br&amp;gt;&lt;br /&gt;
D2 increments motor 1, D3 decrements motor 1.&amp;lt;br&amp;gt;&lt;br /&gt;
Connections: Combo Board Ports A0-A5&amp;amp;D0-D7 / Servo Board Port D8-D13.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|BL0162_Servo_BL0055.fcfx|BL0162 Servos Example for BL0055}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new angle at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AutoMoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''AutoMoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed. AutoMove not currently supported by ESP32.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to automatically move to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DisableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''DisableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Disables a servo channel effectivly disabling the motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===EnableServo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''EnableServo'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Initialise===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Initialise'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets up the servo motor interrupts&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete.   Returns 1 if the servos are still moving.  Returns 0 if all servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===IsServoAutoMoving===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''IsServoAutoMoving'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Is the AutoMoveToPosition movement complete for a specific servo output.  Returns 1 if the servo is still moving.   Returns 0 if the servo movement is complete.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Servo Motor Output Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves a single step towards the new angle, the rate of movement is determined by how often the move to macro is called.  Returns 1 if the position has been reached.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-bool-icon.png]] - BOOL&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MoveToPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''MoveToPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 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.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Target position to move towards. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAngle===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAngle'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves the motor straight to the specified angle. Uses the angle property to calculate the correct amount to move.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Angle in degrees, Range 0 to calibration angle&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeed===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeed'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetAutoMoveSpeedInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetAutoMoveSpeedInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Sets the speed of the auto move to position macro.  Default speed is shown in the Servo_Period_Multiplier property.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPosition===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPosition'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-255&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetPositionInt===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetPositionInt'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Moves directly to the specified position with no interpolation. Uses a 16-bit position parameter to add extra precision.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to assign the new position. Range: 0-7&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u16-icon.png]] - UINT&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Position&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Position to jump to. Range: 0-65535&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SetTrim===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''SetTrim'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Allows the level of trim for each servo channel to be adjusted progmatically.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The channel to set the position for.  First channel is zero.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-u8-icon.png]] - BYTE&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channels (1 - 8)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Set the number of servo's that you need to control. Value from 1 to 8.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Resources&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-10-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Peripherals&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Lists the internal peripherals of the MCU used by the component. When the servo motor is initialised you will not be able to use the listed peripherals for other functionality.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Pulse Width&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Minimum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Shortest pulse width that will be used.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Maximum (us)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Longest pulse width used for the PWM signals.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Connections&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-5-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Channel 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Pin on which to output PWM for the servo motor.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Angle&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Angle 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Range of movement in the servo motor to calibrate the Angle component macros. Can be found by measuring the angle between position 0 and position 255.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Trim&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim Mode&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Trim 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Trim the pulse width for this channel.  Use this to trim the positioning of two servos so that similar input values will produce the same degree of movement.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-17-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Servo Object 0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Drag a servo motor component onto the System Panel, and then select it here, to create an on screen simulation of the way that your flowchart moves the servo's. Servo motors should be based on the 'Servo Motor Base' component, or use a custom component set to responf to 'User.Notify' events (ID = n/a,  Data = Position (0-127)).&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Servo_Controller.fcfx FC_Comp_Source_Servo_Controller.fcfx]&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:BL0162_Servo_BL0055.fcfx&amp;diff=41465</id>
		<title>File:BL0162 Servo BL0055.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:BL0162_Servo_BL0055.fcfx&amp;diff=41465"/>
		<updated>2025-01-28T16:46:45Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Timed_interval_example.fcfx&amp;diff=41464</id>
		<title>File:Timed interval example.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Timed_interval_example.fcfx&amp;diff=41464"/>
		<updated>2025-01-24T12:21:24Z</updated>

		<summary type="html">&lt;p&gt;MartinW: MartinW uploaded a new version of File:Timed interval example.fcfx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Timed_Interval_(Timing)&amp;diff=41463</id>
		<title>Component: Timed Interval (Timing)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Timed_Interval_(Timing)&amp;diff=41463"/>
		<updated>2025-01-24T12:20:16Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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.1&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Timing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Timed Interval component==&lt;br /&gt;
Allows you to setup a specific timed interval via the use of a hardware timer peripheral. Useful for regular time accurate periodic polling and sampling.&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_TimerIntervalComponent.fcfx FC_Comp_Source_TimerIntervalComponent.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerIntervalComponent.fcfx FC_Comp_Source_TimerIntervalComponent.fcfx]&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
The Timed Interval component takes the headache out of setting up timer interrupts to interrupt an amount of fixed microseconds, milliseconds, seconds, minutes, hours or days.&lt;br /&gt;
&lt;br /&gt;
[[File:Timed Interval1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After selecting the Time Unit, and entering Time Period, the estimated best will show the exact time the callback macro is accessed.&lt;br /&gt;
&lt;br /&gt;
[[File:Timed Interval2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can even send the required delay within simulation (Timer Delay (ms).&lt;br /&gt;
&lt;br /&gt;
Unfortunately there is a small simulation only bug that is preventing the global variable within callback macro from updating, it all works on your embedded hardware.&lt;br /&gt;
&lt;br /&gt;
The workaround (included within the example) for your own project is as follows.&lt;br /&gt;
&lt;br /&gt;
First set up your timed interval component within properties along with the callback macro&lt;br /&gt;
&lt;br /&gt;
Within the timed interval example, select the TimedInterval callback macro ,then select the Built-in Function::Debug.PrintLn(&amp;quot; &amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
[[File:Timed Interval3.png]]&lt;br /&gt;
&lt;br /&gt;
Right-click then select copy.&lt;br /&gt;
&lt;br /&gt;
Paste the Built-in Function within the callback macro of your new project.&lt;br /&gt;
&lt;br /&gt;
Now the interval timer component will simulate correctly.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example program showing how to use the Timed component to trigger a callback macro at precise intervals e.g. 1 second. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Timed_interval_example.fcfx|One second timed interval component example }}&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===StartTimerInterval===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''StartTimerInterval'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Starts the timer interval.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===StopTimerInterval===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''StopTimerInterval'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Stops the timer interval.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Interval Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Time Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit of time used for the time period. For example you might want every 4 milliseconds or every 3 hours.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Time Period&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Value of time used for the time period. For example you might want every 4 milliseconds or every 3 hours.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Estimated Best Period&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The closest we can get to the required time period based on prescaler and postscaler settings. Smaller scalers provide finer resolution but impose limits on the maximum delay.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Time Measurement&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The maximum time we can do based on the current timer and scaler settings.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-22-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Callback Macro&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | User defined macro automatically called on a periodic basis.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Timer Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Timer&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Timer Peripheral to use to monitor the passage of time.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Bit Depth&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Prescaler&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Scaler applied to the timer, Small scalers allow for finer resolution but will limit the max time and also put more load on the microcontroller. Recommended to use as large a setting as possible which still provides enough accuracy. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | PostScaler&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Scaler applied to the timer, Small scalers allow for finer resolution but will limit the max time and also put more load on the microcontroller. Recommended to use as large a setting as possible which still provides enough accuracy. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Timer Delay (ms)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of milliseconds between timer events which increment the simulated timer counter variable. 10ms will yield the highest resolution. Values less than this will likely just increase the error and making the timer run slow. Higher delays will yield greater accuracy.&amp;amp;nbsp;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Timed_Interval_(Timing)&amp;diff=41462</id>
		<title>Component: Timed Interval (Timing)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Timed_Interval_(Timing)&amp;diff=41462"/>
		<updated>2025-01-24T12:19:46Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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.1&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Timing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Timed Interval component==&lt;br /&gt;
Allows you to setup a specific timed interval via the use of a hardware timer peripheral. Useful for regular time accurate periodic polling and sampling.&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_TimerIntervalComponent.fcfx FC_Comp_Source_TimerIntervalComponent.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerIntervalComponent.fcfx FC_Comp_Source_TimerIntervalComponent.fcfx]&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
The Timed Interval component takes the headache out of setting up timer interrupts to interrupt an amount of fixed microseconds, milliseconds, seconds, minutes, hours or days.&lt;br /&gt;
&lt;br /&gt;
[[File:Timed Interval1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After selecting the Time Unit, and entering Time Period, the estimated best will show the exact time the callback macro is accessed.&lt;br /&gt;
&lt;br /&gt;
[[File:Timed Interval2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can even send the required delay within simulation (Timer Delay (ms).&lt;br /&gt;
&lt;br /&gt;
Unfortunately there is a small simulation only bug that is preventing the global variable within callback macro from updating, it all works on your embedded hardware.&lt;br /&gt;
&lt;br /&gt;
The workaround (included within the example) for your own project is as follows.&lt;br /&gt;
&lt;br /&gt;
First set up your timed interval component within properties along with the callback macro&lt;br /&gt;
&lt;br /&gt;
Within the timed interval example, select the TimedInterval callback macro ,then select the Built-in Function::Debug.PrintLn(&amp;quot; &amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
[[File:Timed Interval3.png]]&lt;br /&gt;
&lt;br /&gt;
Right-click then select copy.&lt;br /&gt;
&lt;br /&gt;
Paste the Built-in Function within the callback macro of your new project.&lt;br /&gt;
&lt;br /&gt;
Now the interval timer component will simulate correctly.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example program showing how to use the Timed component to trigger a callback macro at precise intervals e.g. 1 second. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Timed_interval_example.fcfx|Once second timed interval component example }}&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===StartTimerInterval===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''StartTimerInterval'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Starts the timer interval.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===StopTimerInterval===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''StopTimerInterval'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Stops the timer interval.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Interval Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Time Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit of time used for the time period. For example you might want every 4 milliseconds or every 3 hours.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Time Period&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Value of time used for the time period. For example you might want every 4 milliseconds or every 3 hours.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Estimated Best Period&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The closest we can get to the required time period based on prescaler and postscaler settings. Smaller scalers provide finer resolution but impose limits on the maximum delay.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Time Measurement&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The maximum time we can do based on the current timer and scaler settings.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-22-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Callback Macro&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | User defined macro automatically called on a periodic basis.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Timer Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Timer&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Timer Peripheral to use to monitor the passage of time.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Bit Depth&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Prescaler&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Scaler applied to the timer, Small scalers allow for finer resolution but will limit the max time and also put more load on the microcontroller. Recommended to use as large a setting as possible which still provides enough accuracy. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | PostScaler&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Scaler applied to the timer, Small scalers allow for finer resolution but will limit the max time and also put more load on the microcontroller. Recommended to use as large a setting as possible which still provides enough accuracy. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Timer Delay (ms)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of milliseconds between timer events which increment the simulated timer counter variable. 10ms will yield the highest resolution. Values less than this will likely just increase the error and making the timer run slow. Higher delays will yield greater accuracy.&amp;amp;nbsp;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Component:_Timed_Interval_(Timing)&amp;diff=41461</id>
		<title>Component: Timed Interval (Timing)</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Component:_Timed_Interval_(Timing)&amp;diff=41461"/>
		<updated>2025-01-24T12:18:15Z</updated>

		<summary type="html">&lt;p&gt;MartinW: /* Detailed description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: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.1&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;20%&amp;quot; style=&amp;quot;color:gray;&amp;quot; | Category&lt;br /&gt;
| Timing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Timed Interval component==&lt;br /&gt;
Allows you to setup a specific timed interval via the use of a hardware timer peripheral. Useful for regular time accurate periodic polling and sampling.&lt;br /&gt;
&lt;br /&gt;
==Component Source Code==&lt;br /&gt;
&lt;br /&gt;
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_TimerIntervalComponent.fcfx FC_Comp_Source_TimerIntervalComponent.fcfx]&lt;br /&gt;
&lt;br /&gt;
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerIntervalComponent.fcfx FC_Comp_Source_TimerIntervalComponent.fcfx]&lt;br /&gt;
&lt;br /&gt;
==Detailed description==&lt;br /&gt;
&lt;br /&gt;
The Timed Interval component takes the headache out of setting up timer interrupts to interrupt an amount of fixed microseconds, milliseconds, seconds, minutes, hours or days.&lt;br /&gt;
&lt;br /&gt;
[[File:Timed Interval1.png]]&lt;br /&gt;
&lt;br /&gt;
After selecting the Time Unit, and entering Time Period, the estimated best will show the exact time the callback macro is accessed.&lt;br /&gt;
&lt;br /&gt;
[[File:Timed Interval2.png]]&lt;br /&gt;
&lt;br /&gt;
You can even send the required delay within simulation (Timer Delay (ms).&lt;br /&gt;
&lt;br /&gt;
Unfortunately there is a small simulation only bug that is preventing the global variable within callback macro from updating, it all works on your embedded hardware.&lt;br /&gt;
&lt;br /&gt;
The workaround (included within the example) for your own project is as follows.&lt;br /&gt;
&lt;br /&gt;
First set up your timed interval component within properties along with the callback macro&lt;br /&gt;
&lt;br /&gt;
Within the timed interval example, select the TimedInterval callback macro ,then select the Built-in Function::Debug.PrintLn(&amp;quot; &amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
[[File:Timed Interval3.png]]&lt;br /&gt;
&lt;br /&gt;
Right-click then select copy.&lt;br /&gt;
&lt;br /&gt;
Paste the Built-in Function within the callback macro of your new project.&lt;br /&gt;
&lt;br /&gt;
Now the interval timer component will simulate correctly.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example program showing how to use the Timed component to trigger a callback macro at precise intervals e.g. 1 second. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Timed_interval_example.fcfx|Once second timed interval component example }}&lt;br /&gt;
&lt;br /&gt;
==Macro reference==&lt;br /&gt;
&lt;br /&gt;
===StartTimerInterval===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''StartTimerInterval'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Starts the timer interval.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===StopTimerInterval===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-comp-macro.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''StopTimerInterval'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Stops the timer interval.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | [[File:Fc9-void-icon.png]] - VOID&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;border-top: 2px solid #000;&amp;quot; | ''Return''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Property reference==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%; background-color:#FFFFFF;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#D8C9D8;&amp;quot; | [[File:Fc9-prop-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#D8C9D8; color:#4B008D;&amp;quot; | '''Properties''' &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Interval Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Time Unit&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Unit of time used for the time period. For example you might want every 4 milliseconds or every 3 hours.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Time Period&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Value of time used for the time period. For example you might want every 4 milliseconds or every 3 hours.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Estimated Best Period&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The closest we can get to the required time period based on prescaler and postscaler settings. Smaller scalers provide finer resolution but impose limits on the maximum delay.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-15-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Max Time Measurement&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The maximum time we can do based on the current timer and scaler settings.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-22-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Callback Macro&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | User defined macro automatically called on a periodic basis.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Timer Properties&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Timer&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Timer Peripheral to use to monitor the passage of time.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Bit Depth&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of bits in the timer peripheral. 8-bit timers can count from 0-255 before overflowing. 16-bit timers can count from 0 to 65535 before overflowing.&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Prescaler&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Scaler applied to the timer, Small scalers allow for finer resolution but will limit the max time and also put more load on the microcontroller. Recommended to use as large a setting as possible which still provides enough accuracy. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-16-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | PostScaler&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Scaler applied to the timer, Small scalers allow for finer resolution but will limit the max time and also put more load on the microcontroller. Recommended to use as large a setting as possible which still provides enough accuracy. &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:#EAE1EA;&amp;quot; | [[File:Fc9-conn-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; style=&amp;quot;background-color:#EAE1EA; color:#4B008D;&amp;quot; | Simulation&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;10%&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Fc9-type-21-icon.png]]&lt;br /&gt;
| width=&amp;quot;90%&amp;quot; | Timer Delay (ms)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Number of milliseconds between timer events which increment the simulated timer counter variable. 10ms will yield the highest resolution. Values less than this will likely just increase the error and making the timer run slow. Higher delays will yield greater accuracy.&amp;amp;nbsp;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Timed_Interval3.png&amp;diff=41460</id>
		<title>File:Timed Interval3.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Timed_Interval3.png&amp;diff=41460"/>
		<updated>2025-01-24T12:12:49Z</updated>

		<summary type="html">&lt;p&gt;MartinW: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MartinW</name></author>
		
	</entry>
</feed>