Difference between revisions of "Component: Combo (BL0114) (E-blocks 2)"
From Flowcode Help
Jump to navigationJump to search| (10 intermediate revisions by 2 users not shown) | |||
| Line 15: | Line 15: | ||
A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs  and analogue inputs.    | A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs  and analogue inputs.    | ||
| − | ==  | + | ==Detailed description==  | 
| + | |||
| + | |||
| + | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | ''No detailed description exists yet for this component''  | ||
| + | ==Examples==  | ||
| − | |||
| + | Creates a standard stopwatch with 0.01 second accuracy complete with start/stop/restart functionality.<br>  | ||
| + | Displays using the 7-segment displays on the BL0114 Combo<br>  | ||
| + | Combo connected to Ports A and B<br>  | ||
| + | A4 Start / Stop - A5 Reset<br>  | ||
| + | {{Fcfile|BL0114_Combo_7-seg_Timer_PIC.fcfx|Combo 7-Seg Timer}}<br>  | ||
==Macro reference==  | ==Macro reference==  | ||
| + | ===IO_GetPort===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IO_GetPort'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Reads the state of a single port   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Bank  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | 0 = Top Bank of Switches, 1 = Bottom Bank of Switches   | 
|-  | |-  | ||
| − | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===IO_GetSwitchState===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IO_GetSwitchState'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Reads the state of a single switch Returns: 0 = Switch not pressed, 1 = Switch pressed   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" |   | + | | width="90%" | Bank  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | 0 = Top Bank of Switches, 1 = Bottom Bank of Switches   | 
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" |   | + | | width="90%" | Switch  | 
|-  | |-  | ||
| − | | colspan="2" | 0=  | + | | colspan="2" | 0 = SW0, 7 = SW7   | 
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | 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''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===IO_ReadAnalogAsByte===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IO_ReadAnalogAsByte'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Reads one of the analogue components as an byte value   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Channel  | 
| + | |-  | ||
| + | | colspan="2" | 0 = Light Sensor, 1 = Potentiometer   | ||
| + | |-  | ||
| + | | 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''  | ||
| + | |}  | ||
| + | |||
| + | |||
| + | ===IO_ReadAnalogAsInt===  | ||
| + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IO_ReadAnalogAsInt'''  | ||
|-  | |-  | ||
| − | |   | + | | colspan="2" | Reads one of the analogue components as an Integer value   | 
| − | |||
|-  | |-  | ||
| − | |||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Channel  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | 0 = Light Sensor, 1 = Potentiometer   | 
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | 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''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===IO_SetLEDState===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IO_SetLEDState'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Sets the state of a single LED   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Bank  | 
| + | |-  | ||
| + | | colspan="2" | 0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs   | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | LED  | ||
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | 0 = LED0, 7 = LED7   | 
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | State  | 
|-  | |-  | ||
| − | | colspan="2" | 0 =   | + | | colspan="2" | 0 = Off, 1 = On   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 137: | Line 150: | ||
| + | ===IO_SetPort===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 160: | Line 174: | ||
| + | ===LCD_Clear===  | ||
| + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
| + | |-  | ||
| + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_Clear'''  | ||
| + | |-  | ||
| + | | colspan="2" | Clears the entire contents of the display.   | ||
| + | |-  | ||
| + | |-  | ||
| + | | 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''  | ||
| + | |}  | ||
| + | |||
| + | |||
| + | ===LCD_ClearLine===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_ClearLine'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | 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.   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Line  | 
| + | |-  | ||
| + | | colspan="2" | The line to clear, zero being the first (top) line of the display   | ||
| + | |-  | ||
| + | | 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''  | ||
| + | |}  | ||
| + | |||
| + | |||
| + | ===LCD_Command===  | ||
| + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_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.   | 
| − | |||
|-  | |-  | ||
| − | |||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | instruction  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Send a defined command to the LCD Screen. See datasheet for supported commands.   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 188: | Line 226: | ||
| + | ===LCD_Cursor===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_Cursor'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Moves the cursor on the LCD Display   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" |   | + | | width="90%" | x  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Set the cursor position in the X plane, 0 is the left most cell   | 
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | y  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Set the cursor position in the Y plane, 0 is the top most cell   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 211: | Line 250: | ||
| + | ===LCD_PrintAscii===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_PrintAscii'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Takes the ascii value for a character and prints the character   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | character  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Holds an ascii value.   | 
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | 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''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===LCD_PrintFloat===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_PrintFloat'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Print a Float number rounded up to a specified amount of decimal places.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT  | 
| − | | width="90%" |   | + | | width="90%" | Number  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Enter the number or variable to print to the LCD   | 
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | DecimalPlaces  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Enter how many decimal places to round up to (1 - 6)   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 252: | Line 293: | ||
| + | ===LCD_PrintFormattedNumber===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_PrintFormattedNumber'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | 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   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG  | 
| − | | width="90%" |   | + | | width="90%" | Number  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Enter the number or variable to print to the LCD   | 
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL  | 
| − | | width="90%" |   | + | | width="90%" | Format  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | 0=Signed, 1=Unsigned   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 275: | Line 317: | ||
| + | ===LCD_PrintNumber===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_PrintNumber'''  | 
| + | |-  | ||
| + | | colspan="2" | Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767   | ||
|-  | |-  | ||
| − | |||
|-  | |-  | ||
| + | | 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   | ||
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 288: | Line 336: | ||
| + | ===LCD_PrintString===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_PrintString'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING  | 
| − | | width="90%" |   | + | | width="90%" | Text  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Enter the text or variable to print to the LCD   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 306: | Line 355: | ||
| + | ===LCD_RAMWrite===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 364: | Line 414: | ||
| + | ===LCD_RawSend===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_RawSend'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Sends data to the LCD display   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | data  | 
| + | |-  | ||
| + | | colspan="2" | The data byte to send to the LCD   | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL  | ||
| + | | width="90%" | type  | ||
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | A boolean to indicate command type: true to write data, false to write a command   | 
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | 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''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===LCD_RemapCharacter===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_RemapCharacter'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | 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.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" |   | + | | width="90%" | RemapIdx  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1)   | 
|-  | |-  | ||
| − | | width="10%" align="center  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%"   | + | | width="90%" | SearchCharacter  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
| + | | colspan="2" | Character to look for a replace   | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | ReplacementCharacter  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | New character value to use in place of the search character.   | 
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 418: | Line 467: | ||
| + | ===LCD_ScrollDisplay===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_ScrollDisplay'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Scrolls the display left or right by a number of given positions.   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Position  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Holds the number of positions to shift the display   | 
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Direction  | 
|-  | |-  | ||
| − | | colspan="2" | 0 =   | + | | colspan="2" | 0 = left, 1 = right   | 
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | 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''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===LCD_Start===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCD_Start'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===Seg_ShowDigit===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Seg_ShowDigit'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Displays a digit on the 7-seg display    | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Digit  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Which of the digits to change (0 - 3)   | 
|-  | |-  | ||
| − | | width="10%" align="center  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%  | + | | width="90%" | Value  | 
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
| − | |   | + | | colspan="2" | The value to display (0 - 9)   | 
| − | |||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| + | | width="90%" | DecimalPoint  | ||
|-  | |-  | ||
| − | + | | colspan="2" | Decides if the decimal point is lit   | |
| − | |||
| − | |||
| − | |||
| − | | colspan="2" |   | ||
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | ||
| Line 495: | Line 534: | ||
| + | ===Seg_ShowSegments===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Seg_ShowSegments'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Allows the individual segments of the display to be controlled.    | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Digit  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Which of the digits to change (0 - 3)   | 
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" |   | + | | width="90%" | Segments  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
| + | | colspan="2" | 8-bit Binary value to set the segments, bit0 = segA, bit1 = segB...   | ||
|-  | |-  | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | | 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''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | |||
| − | |||
| Line 587: | Line 612: | ||
| colspan="2" | Controls if traces are automatically added to the data recorder window for the analogue signals on the combo board.   | | colspan="2" | Controls if traces are automatically added to the data recorder window for the analogue signals on the combo board.   | ||
|}  | |}  | ||
| + | |||
| + | ==Component Source Code==  | ||
| + | |||
| + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_COMBO_BL0114.fcfx FC_Comp_Source_EBlocks2_COMBO_BL0114.fcfx]  | ||
| + | |||
| + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_COMBO_BL0114.fcfx FC_Comp_Source_EBlocks2_COMBO_BL0114.fcfx]  | ||
Latest revision as of 08:58, 9 June 2025
| Author | Matrix TSL | 
| Version | 1.0 | 
| Category | E-blocks 2 | 
Contents
- 1 Combo component
 - 2 Detailed description
 - 3 Examples
 - 4 Macro reference
- 4.1 IO_GetPort
 - 4.2 IO_GetSwitchState
 - 4.3 IO_ReadAnalogAsByte
 - 4.4 IO_ReadAnalogAsInt
 - 4.5 IO_SetLEDState
 - 4.6 IO_SetPort
 - 4.7 LCD_Clear
 - 4.8 LCD_ClearLine
 - 4.9 LCD_Command
 - 4.10 LCD_Cursor
 - 4.11 LCD_PrintAscii
 - 4.12 LCD_PrintFloat
 - 4.13 LCD_PrintFormattedNumber
 - 4.14 LCD_PrintNumber
 - 4.15 LCD_PrintString
 - 4.16 LCD_RAMWrite
 - 4.17 LCD_RawSend
 - 4.18 LCD_RemapCharacter
 - 4.19 LCD_ScrollDisplay
 - 4.20 LCD_Start
 - 4.21 Seg_ShowDigit
 - 4.22 Seg_ShowSegments
 
 - 5 Property reference
 - 6 Component Source Code
 
Combo component
A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.
Detailed description
No detailed description exists yet for this component
Examples
Creates a standard stopwatch with 0.01 second accuracy complete with start/stop/restart functionality.
Displays using the 7-segment displays on the BL0114 Combo
Combo connected to Ports A and B
A4 Start / Stop - A5 Reset
Combo 7-Seg Timer
Macro reference
IO_GetPort
| IO_GetPort | |
| Reads the state of a single port | |
| Bank | |
| 0 = Top Bank of Switches, 1 = Bottom Bank of Switches | |
| Return | |
IO_GetSwitchState
IO_ReadAnalogAsByte
| IO_ReadAnalogAsByte | |
| Reads one of the analogue components as an byte value | |
| Channel | |
| 0 = Light Sensor, 1 = Potentiometer | |
| Return | |
IO_ReadAnalogAsInt
| IO_ReadAnalogAsInt | |
| Reads one of the analogue components as an Integer value | |
| Channel | |
| 0 = Light Sensor, 1 = Potentiometer | |
| Return | |
IO_SetLEDState
| IO_SetLEDState | |
| Sets the state of a single LED | |
| Bank | |
| 0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs | |
| LED | |
| 0 = LED0, 7 = LED7 | |
| State | |
| 0 = Off, 1 = On | |
| Return | |
IO_SetPort
| IO_SetPort | |
| Sets the state of a single port | |
| Bank | |
| 0 = Top Bank of LEDs, 1 = Bottom Bank of LEDs | |
| Value | |
| Return | |
LCD_Clear
| LCD_Clear | |
| Clears the entire contents of the display. | |
| Return | |
LCD_ClearLine
LCD_Command
LCD_Cursor
LCD_PrintAscii
| LCD_PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Holds an ascii value. | |
| Return | |
LCD_PrintFloat
LCD_PrintFormattedNumber
LCD_PrintNumber
| LCD_PrintNumber | |
| Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Enter the number or variable to print to the LCD | |
| Return | |
LCD_PrintString
| LCD_PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Enter the text or variable to print to the LCD | |
| Return | |
LCD_RAMWrite
LCD_RawSend
| LCD_RawSend | |
| Sends data to the LCD display | |
| data | |
| The data byte to send to the LCD | |
| type | |
| A boolean to indicate command type: true to write data, false to write a command | |
| Return | |
LCD_RemapCharacter
LCD_ScrollDisplay
LCD_Start
| LCD_Start | |
| Startup routine required by the hardware device. Automatically clears the display after initialising. | |
| Return | |
Seg_ShowDigit
Seg_ShowSegments
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_EBlocks2_COMBO_BL0114.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_EBlocks2_COMBO_BL0114.fcfx