Jump to content

Component: Combo Board (EB083) (E-blocks 1): Difference between revisions

From Flowcode Help
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{| style="width:50%"
 
{| width="50%"
|-
|-
| width="20%" style="color: gray;" | Author
| width="20%" style="color:gray;" | Author
| Matrix TSL
| Matrix TSL
|-
|-
| width="20%" style="color: gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.0 (Release)
| 1.0
|-
|-
| width="20%" style="color: gray;" | Category
| width="20%" style="color:gray;" | Category
| E-blocks 1
| E-blocks 1
|}
|}




==Combo Board component==
A component to drive the EB083 Combo board including LEDs, Switches, LCD, 7-Segs  and analogue inputs.


==[[File:Component Icon 9a7d4e50_8d7e_4c5e_9a93_7948ab47edad.png|Image]] Combo Board (EB083) component==
==Component Source Code==
A simulated version of the EB083 Combo board including LEDs, Switches, LCD, 7-Segs
and analogue inputs.


==Examples==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EB086_DEMO.fcfx FC_Comp_Source_EB086_DEMO.fcfx]
The following files provide examples of how to use this component:


{{Fcfile|Mega2560 & Combo.fcfx|Arduino Mega 2560 & Combo Board}}
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EB086_DEMO.fcfx FC_Comp_Source_EB086_DEMO.fcfx]


:This blank project consists of the Matrix EB083 Combo Board connected to an Arduino Mega 2560.
==Detailed description==




{{Fcfile|UnoR3 & Combo.fcfx|Arduino Uno R3 & Combo Board}}


:This blank project consists of the Matrix EB093 Combo Board connected to an Arduino Uno R3.


:


:Note; Due to a limitation in the Arduino Uno hardware, portA6 & PortA7 are replicated from PortA5 in this template.


==Downloadable macro reference==


===<span style="font-weight: normal;"><u><tt>Clear</tt></u></span>===
Clears the entire contents of the display.


'''Parameters'''


:''This macro has no parameters''




'''Return value'''
''No detailed description exists yet for this component''


:''This call does not return a value''
==Examples==




===<span style="font-weight: normal;"><u><tt>PrintString</tt></u></span>===
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro


'''Parameters'''


:[[Variable Types|<- STRING]] ''Text''
::Enter the text or variable to print to the LCD
::''This parameter may be returned back to the caller''




'''Return value'''


:''This call does not return a value''




===<span style="font-weight: normal;"><u><tt>SetPort</tt></u></span>===
Sets the state of a single port


'''Parameters'''


:[[Variable Types|BYTE]] ''Port''
::0 = PortA, 1 = PortB


:[[Variable Types|BYTE]] ''Value''
The following files provide examples of how to use this component:


{{Fcfile|Mega2560 & Combo.fcfx|Arduino Mega 2560 & Combo Board}}


'''Return value'''
:This blank project consists of the Matrix EB083 Combo Board connected to an Arduino Mega 2560.


:''This call does not return a value''


{{Fcfile|UnoR3 & Combo.fcfx|Arduino Uno R3 & Combo Board}}


===<span style="font-weight: normal;"><u><tt>GetSwitchState</tt></u></span>===
:This blank project consists of the Matrix EB093 Combo Board connected to an Arduino Uno R3.
Reads the state of a single switch


'''Parameters'''
:


:[[Variable Types|BYTE]] ''Port''
:Note; Due to a limitation in the Arduino Uno hardware, portA6 &amp; PortA7 are replicated from PortA5 in this template.
::0 = PortA, 1 = PortB


:[[Variable Types|BYTE]] ''Switch''
::0 = SW0, 7 = SW7




'''Return value'''


:[[Variable Types|BYTE]]




===<span style="font-weight: normal;"><u><tt>PrintAscii</tt></u></span>===
Takes the ascii value for a character and prints the character


'''Parameters'''


:[[Variable Types|BYTE]] ''character''
::Holds an ascii value.




'''Return value'''


:''This call does not return a value''
==Macro reference==


===Clear===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Clear'''
|-
| colspan="2" | Clears the entire contents of the display.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>PrintNumber</tt></u></span>===
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767


'''Parameters'''
===ClearLine===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ClearLine'''
|-
| colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Line
|-
| colspan="2" | The line to clear, zero being the first (top) line of the display&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|INT]] ''Number''
::Enter the number or variable to print to the LCD


===Command===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Command'''
|-
| colspan="2" | Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | instruction
|-
| colspan="2" | Send a defined command to the LCD Screen. See datasheet for supported commands.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:''This call does not return a value''
===Cursor===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Cursor'''
|-
| colspan="2" | Moves the cursor on the LCD Display&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | x
|-
| colspan="2" | Set the cursor position in the X plane, 0 is the left most cell&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | y
|-
| colspan="2" | Set the cursor position in the Y plane, 0 is the top most cell&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>RAMWrite</tt></u></span>===
===GetPort===
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''GetPort'''
|-
| colspan="2" | Reads the state of a single port&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Bank
|-
| colspan="2" | 0 = Top Bank of Switches, 1 = Bottom Bank of Switches&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Index''
===GetSwitchState===
::Values 0 to 7
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''GetSwitchState'''
|-
| colspan="2" | Reads the state of a single switch Returns: 0 = Switch not pressed, 1 = Switch pressed&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Bank
|-
| colspan="2" | 0 = Top Bank of Switches, 1 = Bottom Bank of Switches&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Switch
|-
| colspan="2" | 0 = SW0, 7 = SW7&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''d0''


:[[Variable Types|BYTE]] ''d1''
===PrintAscii===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''PrintAscii'''
|-
| colspan="2" | Takes the ascii value for a character and prints the character&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | character
|-
| colspan="2" | Holds an ascii value.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''d2''


:[[Variable Types|BYTE]] ''d3''
===PrintFloat===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''PrintFloat'''
|-
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | Number
|-
| colspan="2" | Enter the number or variable to print to the LCD&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | DecimalPlaces
|-
| colspan="2" | Enter how many decimal places to round up to (1 - 6)&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''d4''


:[[Variable Types|BYTE]] ''d5''
===PrintFormattedNumber===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''PrintFormattedNumber'''
|-
| colspan="2" | Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | Number
|-
| colspan="2" | Enter the number or variable to print to the LCD&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | Format
|-
| colspan="2" | 0=Signed, 1=Unsigned&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''d6''


:[[Variable Types|BYTE]] ''d7''
===PrintNumber===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''PrintNumber'''
|-
| colspan="2" | Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Number
|-
| colspan="2" | Enter the number or variable to print to the LCD&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
===PrintString===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''PrintString'''
|-
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Text
|-
| colspan="2" | Enter the text or variable to print to the LCD&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


===RAMWrite===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''RAMWrite'''
|-
| colspan="2" | Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | Values 0 to 7&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d0
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d1
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d2
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d3
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d4
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d5
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d6
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d7
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>GetPort</tt></u></span>===
Reads the state of a single port


'''Parameters'''
===RawSend===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''RawSend'''
|-
| colspan="2" | Sends data to the LCD display&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | data
|-
| colspan="2" | The data byte to send to the LCD&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | type
|-
| colspan="2" | A boolean to indicate command type: true to write data, false to write a command&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''Port''
::0 = PortA, 1 = PortB


===ReadAnalogAsByte===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ReadAnalogAsByte'''
|-
| colspan="2" | Reads one of the analogue components as an byte value&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | 0 = Light Sensor, 1 = Potentiometer&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:[[Variable Types|BYTE]]
===ReadAnalogAsInt===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ReadAnalogAsInt'''
|-
| colspan="2" | Reads one of the analogue components as an Integer value&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | 0 = Light Sensor, 1 = Potentiometer&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>ClearLine</tt></u></span>===
===RemapCharacter===
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data.
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''RemapCharacter'''
|-
| colspan="2" | Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters.  The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | RemapIdx
|-
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | SearchCharacter
|-
| colspan="2" | Character to look for a replace&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ReplacementCharacter
|-
| colspan="2" | New character value to use in place of the search character.&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Parameters'''


:[[Variable Types|BYTE]] ''Line''
===ScrollDisplay===
::The line to clear, zero being the first (top) line of the display
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ScrollDisplay'''
|-
| colspan="2" | Scrolls the display left or right by a number of given positions.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Position
|-
| colspan="2" | Holds the number of positions to shift the display&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Direction
|-
| colspan="2" | 0 = left, 1 = right&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
===SegShowDigit===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SegShowDigit'''
|-
| colspan="2" | Displays a digit on the 7-seg display &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Digit
|-
| colspan="2" | Which of the digits to change (0 - 3)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
| colspan="2" | The value to display (0 - 9)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | DecimalPoint
|-
| colspan="2" | Decides if the decimal point is lit&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This call does not return a value''


===SegShowSegments===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SegShowSegments'''
|-
| colspan="2" | Allows the individual segments of the display to be controlled. &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Digit
|-
| colspan="2" | Which of the digits to change (0 - 3)&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Segments
|-
| colspan="2" | 8-bit Binary value to set the segments, bit0 = segA, bit1 = segB...&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


===<span style="font-weight: normal;"><u><tt>Cursor</tt></u></span>===
Moves the cursor on the LCD Display


'''Parameters'''
===SetLEDState===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetLEDState'''
|-
| colspan="2" | Sets the state of a single LED&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Bank
|-
| colspan="2" | 0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | LED
|-
| colspan="2" | 0 = LED0, 7 = LED7&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | State
|-
| colspan="2" | 0 = Off, 1 = On&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:[[Variable Types|BYTE]] ''x''
::Set the cursor position in the X plane, 0 is the left most cell


:[[Variable Types|BYTE]] ''y''
===SetPort===
::Set the cursor position in the Y plane, 0 is the top most cell
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetPort'''
|-
| colspan="2" | Sets the state of a single port&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Bank
|-
| colspan="2" | 0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




'''Return value'''
===Start===
 
{| class="mtx-class-macrotable wikitable"
:''This call does not return a value''
|-
 
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
 
| width="90%" class="mtx-class-macrohead" | '''Start'''
===<span style="font-weight: normal;"><u><tt>Command</tt></u></span>===
|-
Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet.
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising.&nbsp;
 
|-
'''Parameters'''
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
:[[Variable Types|BYTE]] ''instruction''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
::Send a defined command to the LCD Screen. See datasheet for supported commands.
|}
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>PrintFormattedNumber</tt></u></span>===
Will allow you to print a number up to 32-bits with signed or unsigned formatting.
 
Signed = -2147483648 to 2147483647
 
Unsigned = 0 to 4294967295
 
'''Parameters'''
 
:[[Variable Types|ULONG]] ''Number''
::Enter the number or variable to print to the LCD
 
:[[Variable Types|BOOL]] ''Format''
::0=Signed, 1=Unsigned
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>ScrollDisplay</tt></u></span>===
Scrolls the display left or right by a number of given positions.
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''Position''
::Holds the number of positions to shift the display
 
:[[Variable Types|BYTE]] ''Direction''
::0 = left, 1 = right
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>SegShowDigit</tt></u></span>===
Displays a digit on the 7-seg display
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''Digit''
::Which of the digits to change (0 - 3)
 
:[[Variable Types|BYTE]] ''Value''
::The value to display (0 - 9)
 
:[[Variable Types|BYTE]] ''DecimalPoint''
::Decides if the decimal point is lit
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>RawSend</tt></u></span>===
Sends data to the LCD display
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''data''
::The data byte to send to the LCD
 
:[[Variable Types|BOOL]] ''type''
::A boolean to indicate command type: true to write data, false to write a command
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>ReadAnalogAsByte</tt></u></span>===
Reads one of the analogue components as an byte value
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''Channel''
::0 = LDR, 1 = POT
 
 
'''Return value'''
 
:[[Variable Types|BYTE]]
 
 
===<span style="font-weight: normal;"><u><tt>ReadAnalogAsInt</tt></u></span>===
Reads one of the analogue components as an Integer value
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''Channel''
::0 = LDR, 1 = POT
 
 
'''Return value'''
 
:[[Variable Types|INT]]
 
 
===<span style="font-weight: normal;"><u><tt>RemapCharacter</tt></u></span>===
Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters.
 
The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map.
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''RemapIdx''
::Remap Index, Range: 0 to (Remap Characters - 1)
 
:[[Variable Types|BYTE]] ''SearchCharacter''
::Character to look for a replace
 
:[[Variable Types|BYTE]] ''ReplacementCharacter''
::New character value to use in place of the search character.
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>Start</tt></u></span>===
Startup routine required by the hardware device.
 
Automatically clears the display after initialising.
 
'''Parameters'''
 
:''This macro has no parameters''
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
===<span style="font-weight: normal;"><u><tt>SetLEDState</tt></u></span>===
Sets the state of a single LED
 
'''Parameters'''
 
:[[Variable Types|BYTE]] ''Port''
::0 = PortA, 1 = PortB
 
:[[Variable Types|BYTE]] ''LED''
::0 = LED0, 7 = LED7
 
:[[Variable Types|BYTE]] ''State''
 
 
'''Return value'''
 
:''This call does not return a value''
 
 
 
==Simulation macro reference==
 
''This component does not contain any simulation macros''




==Property reference==
==Property reference==
<span style="font-weight: normal;"><u>Pin A0</u></span>


This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA0''.
{| class="mtx-class-macrotable wikitable"
 
|-
''<span style="color:red;">No additional information</span>''
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
 
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
 
|-
 
|-
<span style="font-weight: normal;"><u>Pin A1</u></span>
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Connection Type
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA1''.
|-
 
| colspan="2" | &nbsp;
''<span style="color:red;">No additional information</span>''
|-
 
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
 
| width="90%" class="mtx-class-propfolder" | Bank 0 Connections
 
|-
<span style="font-weight: normal;"><u>Pin A2</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-19-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA2''.
| width="90%" | Bank 0
 
|-
''<span style="color:red;">No additional information</span>''
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
 
| width="90%" class="mtx-class-propfolder" | Bank 1 Connections
<span style="font-weight: normal;"><u>Pin A3</u></span>
|-
 
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA3''.
| width="10%" align="center" | [[File:Fc9-type-19-icon.png]]
 
| width="90%" | Bank 1
''<span style="color:red;">No additional information</span>''
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
<span style="font-weight: normal;"><u>Pin A4</u></span>
| width="90%" class="mtx-class-propfolder" | Analog Connections
 
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA4''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-6-icon.png]]
''<span style="color:red;">No additional information</span>''
| width="90%" | Light Sensor
 
|-
 
| colspan="2" | Light Sensor ADC channel Connected to Bank 0 pin 0 which is usually analog pin AN0.&nbsp;
 
|-
<span style="font-weight: normal;"><u>Pin A5</u></span>
| width="10%" align="center" | [[File:Fc9-type-6-icon.png]]
 
| width="90%" | Potentiometer
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA5''.
|-
 
| colspan="2" | Potentiometer ADC channel Connected to Bank 0 pin 1 which is usually analog pin AN1.&nbsp;
''<span style="color:red;">No additional information</span>''
|-
 
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
 
| width="90%" class="mtx-class-propfolder" | Simulation
 
|-
<span style="font-weight: normal;"><u>Pin A6</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA6''.
| width="90%" | Analog Scope Traces
 
|-
''<span style="color:red;">No additional information</span>''
| colspan="2" | Controls if traces are automatically added to the data recorder window for the analogue signals on the combo board.&nbsp;
 
|}
 
 
<span style="font-weight: normal;"><u>Pin A7</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinA7''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B0</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB0''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B1</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB1''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B2</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB2''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B3</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB3''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B4</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB4''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B5</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB5''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B6</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB6''.
 
''<span style="color:red;">No additional information</span>''
 
 
 
<span style="font-weight: normal;"><u>Pin B7</u></span>
 
This property is of type ''Single digital pin'' and can be referenced with the variable name ''PinB7''.
 
''<span style="color:red;">No additional information</span>''

Latest revision as of 14:36, 13 July 2026

Author Matrix TSL
Version 1.0
Category E-blocks 1


Combo Board component

A component to drive the EB083 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

The following files provide examples of how to use this component:

Arduino Mega 2560 & Combo Board

This blank project consists of the Matrix EB083 Combo Board connected to an Arduino Mega 2560.


Arduino Uno R3 & Combo Board

This blank project consists of the Matrix EB093 Combo Board connected to an Arduino Uno R3.
Note; Due to a limitation in the Arduino Uno hardware, portA6 & PortA7 are replicated from PortA5 in this template.






Macro reference

Clear

Clear
Clears the entire contents of the display. 
- VOID Return


ClearLine

ClearLine
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. 
- BYTE Line
The line to clear, zero being the first (top) line of the display 
- VOID Return


Command

Command
Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet. 
- BYTE instruction
Send a defined command to the LCD Screen. See datasheet for supported commands. 
- VOID Return


Cursor

Cursor
Moves the cursor on the LCD Display 
- BYTE x
Set the cursor position in the X plane, 0 is the left most cell 
- BYTE y
Set the cursor position in the Y plane, 0 is the top most cell 
- VOID Return


GetPort

GetPort
Reads the state of a single port 
- BYTE Bank
0 = Top Bank of Switches, 1 = Bottom Bank of Switches 
- BYTE Return


GetSwitchState

GetSwitchState
Reads the state of a single switch Returns: 0 = Switch not pressed, 1 = Switch pressed 
- BYTE Bank
0 = Top Bank of Switches, 1 = Bottom Bank of Switches 
- BYTE Switch
0 = SW0, 7 = SW7 
- BYTE Return


PrintAscii

PrintAscii
Takes the ascii value for a character and prints the character 
- BYTE character
Holds an ascii value. 
- VOID Return


PrintFloat

PrintFloat
Print a Float number rounded up to a specified amount of decimal places. 
- FLOAT Number
Enter the number or variable to print to the LCD 
- BYTE DecimalPlaces
Enter how many decimal places to round up to (1 - 6) 
- VOID Return


PrintFormattedNumber

PrintFormattedNumber
Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295 
- ULONG Number
Enter the number or variable to print to the LCD 
- BOOL Format
0=Signed, 1=Unsigned 
- VOID Return


PrintNumber

PrintNumber
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 
- INT Number
Enter the number or variable to print to the LCD 
- VOID Return


PrintString

PrintString
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
- STRING Text
Enter the text or variable to print to the LCD 
- VOID Return


RAMWrite

RAMWrite
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory 
- BYTE Index
Values 0 to 7 
- BYTE d0
 
- BYTE d1
 
- BYTE d2
 
- BYTE d3
 
- BYTE d4
 
- BYTE d5
 
- BYTE d6
 
- BYTE d7
 
- VOID Return


RawSend

RawSend
Sends data to the LCD display 
- BYTE data
The data byte to send to the LCD 
- BOOL type
A boolean to indicate command type: true to write data, false to write a command 
- VOID Return


ReadAnalogAsByte

ReadAnalogAsByte
Reads one of the analogue components as an byte value 
- BYTE Channel
0 = Light Sensor, 1 = Potentiometer 
- BYTE Return


ReadAnalogAsInt

ReadAnalogAsInt
Reads one of the analogue components as an Integer value 
- BYTE Channel
0 = Light Sensor, 1 = Potentiometer 
- INT Return


RemapCharacter

RemapCharacter
Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. 
- BYTE RemapIdx
Remap Index, Range: 0 to (Remap Characters - 1) 
- BYTE SearchCharacter
Character to look for a replace 
- BYTE ReplacementCharacter
New character value to use in place of the search character. 
- VOID Return


ScrollDisplay

ScrollDisplay
Scrolls the display left or right by a number of given positions. 
- BYTE Position
Holds the number of positions to shift the display 
- BYTE Direction
0 = left, 1 = right 
- VOID Return


SegShowDigit

SegShowDigit
Displays a digit on the 7-seg display  
- BYTE Digit
Which of the digits to change (0 - 3) 
- BYTE Value
The value to display (0 - 9) 
- BYTE DecimalPoint
Decides if the decimal point is lit 
- VOID Return


SegShowSegments

SegShowSegments
Allows the individual segments of the display to be controlled.  
- BYTE Digit
Which of the digits to change (0 - 3) 
- BYTE Segments
8-bit Binary value to set the segments, bit0 = segA, bit1 = segB... 
- VOID Return


SetLEDState

SetLEDState
Sets the state of a single LED 
- BYTE Bank
0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs 
- BYTE LED
0 = LED0, 7 = LED7 
- BYTE State
0 = Off, 1 = On 
- VOID Return


SetPort

SetPort
Sets the state of a single port 
- BYTE Bank
0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs 
- BYTE Value
 
- VOID Return


Start

Start
Startup routine required by the hardware device. Automatically clears the display after initialising. 
- VOID Return


Property reference

Properties
Connection Type
 
Bank 0 Connections
Bank 0
 
Bank 1 Connections
Bank 1
 
Analog Connections
Light Sensor
Light Sensor ADC channel Connected to Bank 0 pin 0 which is usually analog pin AN0. 
Potentiometer
Potentiometer ADC channel Connected to Bank 0 pin 1 which is usually analog pin AN1. 
Simulation
Analog Scope Traces
Controls if traces are automatically added to the data recorder window for the analogue signals on the combo board.