Difference between revisions of "Component: RGB LED LP5030 LP5036 (LEDs)"
From Flowcode Help
Jump to navigationJump to search| (12 intermediate revisions by the same user not shown) | |||
| Line 14: | Line 14: | ||
==RGB LED LP5030 LP5036 component==  | ==RGB LED LP5030 LP5036 component==  | ||
An I2C Based RGB LED driver with 30 or 36 individual constant-current sinks. Used to drive 10 or 12 RGB LEDs with a wide range of applications.  | An I2C Based RGB LED driver with 30 or 36 individual constant-current sinks. Used to drive 10 or 12 RGB LEDs with a wide range of applications.  | ||
| + | |||
| + | ==Component Source Code==  | ||
| + | |||
| + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LP5036_RGB_LED.fcfx FC_Comp_Source_LP5036_RGB_LED.fcfx]  | ||
| + | |||
| + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LP5036_RGB_LED.fcfx FC_Comp_Source_LP5036_RGB_LED.fcfx]  | ||
==Detailed description==  | ==Detailed description==  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Line 28: | Line 50: | ||
==Examples==  | ==Examples==  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Line 39: | Line 77: | ||
''<span style="color:red;">No additional examples</span>''  | ''<span style="color:red;">No additional examples</span>''  | ||
| − | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==Macro reference==  | ||
| + | |||
| + | ===GetBrightness===  | ||
{| 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;" | '''GetBrightness'''  | 
|-  | |-  | ||
| − | | colspan="2" | Gets the   | + | | colspan="2" | Gets the brightness of a single LED.   | 
|-  | |-  | ||
|-  | |-  | ||
| Line 59: | Line 110: | ||
| colspan="2" | Byte array containing at least 3 bytes to store Red, Green and Blue   | | colspan="2" | Byte array containing at least 3 bytes to store Red, Green and Blue   | ||
|-  | |-  | ||
| − | | 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''  | ||
| + | |}  | ||
| + | |||
| + | |||
| + | ===GetDiscreteRGB===  | ||
| + | {| 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;" | '''GetDiscreteRGB'''  | ||
| + | |-  | ||
| + | | colspan="2" | Gets the RGB format colour of a single LED.   | ||
| + | |-  | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | Address  | ||
| + | |-  | ||
| + | | colspan="2" | Range: 0-11   | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | ColourIndex  | ||
| + | |-  | ||
| + | | colspan="2" |    | ||
| + | |-  | ||
| + | | 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''  | ||
|}  | |}  | ||
| + | ===GetRGB===  | ||
{| 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;" | '''GetRGB'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Gets the RGB colour of a single LED. Array variables only. For individual variables, use GetDiscreteRGB   | 
|-  | |-  | ||
|-  | |-  | ||
| Line 78: | Line 154: | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | RGB  | 
| + | |-  | ||
| + | | colspan="2" | Byte array containing at least 3 bytes to store Red, Green and Blue   | ||
| + | |-  | ||
| + | | 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''  | ||
| + | |}  | ||
| + | |||
| + | |||
| + | ===Initialise===  | ||
| + | {| 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;" | '''Initialise'''  | ||
| + | |-  | ||
| + | | colspan="2" | Starts up the I2C comms ready for communicating with the LP503x module. Must be called before any of the other component macros are called.   | ||
|-  | |-  | ||
| − | |||
|-  | |-  | ||
| 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 87: | Line 177: | ||
| + | ===ReadReg===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 115: | Line 206: | ||
| + | ===SetBrightness===  | ||
{| 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;" | '''SetBrightness'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Allows the brightness of a single LED to be specified as a byte from 0 to 255. Default on reset is 255.   | 
|-  | |-  | ||
|-  | |-  | ||
| Line 126: | Line 218: | ||
| width="90%" | Address  | | width="90%" | Address  | ||
|-  | |-  | ||
| − | | colspan="2" |    | + | | colspan="2" | Range: 0-11   | 
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Brightness  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Brightness value: Range 0-255   | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
| 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 143: | Line 230: | ||
| + | ===SetDiscreteRGB===  | ||
{| 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;" | '''SetDiscreteRGB'''  | 
|-  | |-  | ||
| − | | colspan="2" | Allows the colour of a single LED to be specified in RGB  | + | | colspan="2" | Allows the colour of a single LED to be specified in RGB format   | 
|-  | |-  | ||
|-  | |-  | ||
| Line 157: | Line 245: | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | Red  | 
| + | |-  | ||
| + | | colspan="2" |    | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | Green  | ||
| + | |-  | ||
| + | | colspan="2" |    | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | Blue  | ||
|-  | |-  | ||
| − | | colspan="2" |   | + | | 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 166: | Line 264: | ||
| + | ===SetRGB===  | ||
{| 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;" | '''SetRGB'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Allows the colour of a single LED to be specified in RGB. Array variables only. For individual variables and literal values, use SetDiscreteRGB   | 
|-  | |-  | ||
|-  | |-  | ||
| Line 182: | Line 281: | ||
| width="90%" | RGB  | | width="90%" | RGB  | ||
|-  | |-  | ||
| − | | colspan="2" | Byte array containing at least 3 bytes to   | + | | colspan="2" | Byte array containing at least 3 bytes to set Red, Green and Blue   | 
|-  | |-  | ||
| − | | 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''  | ||
|}  | |}  | ||
| + | ===SetUnitAddress===  | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| Line 207: | Line 307: | ||
| + | ===WriteReg===  | ||
{| 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;" | '''WriteReg'''  | 
| + | |-  | ||
| + | | colspan="2" | Writes data to one or more sequential registers   | ||
| + | |-  | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | Address  | ||
| + | |-  | ||
| + | | colspan="2" |    | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| + | | width="90%" | Data  | ||
| + | |-  | ||
| + | | colspan="2" |    | ||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| + | | width="90%" | Count  | ||
|-  | |-  | ||
| + | | 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  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | |||
| − | |||
| Line 228: | Line 342: | ||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]  | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''    | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''    | ||
| + | |-  | ||
| + | |-  | ||
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]  | ||
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Driver  | ||
|-  | |-  | ||
|-  | |-  | ||
| Line 240: | Line 358: | ||
| colspan="2" |    | | colspan="2" |    | ||
|-  | |-  | ||
| − | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]  | |
| − | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | | width="10%" align="center" style="background-color:#  | ||
| − | | width="90%" style="background-color:#  | ||
|-  | |-  | ||
|-  | |-  | ||
| Line 299: | Line 402: | ||
| colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  a 10ms delay between an I2C stop event and the next I2C start event.  Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  I2C communications.    | | colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  a 10ms delay between an I2C stop event and the next I2C start event.  Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  I2C communications.    | ||
|-  | |-  | ||
| − | | width="10%" align="center" style="background-color:#  | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]  | 
| − | | width="90%" style="background-color:#  | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation  | 
|-  | |-  | ||
|-  | |-  | ||
Latest revision as of 10:26, 20 October 2023
| Author | Matrix TSL | 
| Version | 1.0 | 
| Category | LEDs | 
Contents
RGB LED LP5030 LP5036 component
An I2C Based RGB LED driver with 30 or 36 individual constant-current sinks. Used to drive 10 or 12 RGB LEDs with a wide range of applications.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LP5036_RGB_LED.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LP5036_RGB_LED.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
GetBrightness
| GetBrightness | |
| Gets the brightness of a single LED. | |
| Address | |
| Range: 0-11 | |
| RGB | |
| Byte array containing at least 3 bytes to store Red, Green and Blue | |
| Return | |
GetDiscreteRGB
| GetDiscreteRGB | |
| Gets the RGB format colour of a single LED. | |
| Address | |
| Range: 0-11 | |
| ColourIndex | |
| Return | |
GetRGB
Initialise
| Initialise | |
| Starts up the I2C comms ready for communicating with the LP503x module. Must be called before any of the other component macros are called. | |
| Return | |
ReadReg
| ReadReg | |
| Reads the data from one or more sequential registers | |
| Address | |
| Data | |
| Count | |
| Return | |
SetBrightness
SetDiscreteRGB
| SetDiscreteRGB | |
| Allows the colour of a single LED to be specified in RGB format | |
| Address | |
| Range: 0-11 | |
| Red | |
| Green | |
| Blue | |
| Return | |
SetRGB
SetUnitAddress
| SetUnitAddress | |
| Allows the component to taklk to more then one IC or broadcast to all connected ICs. | |
| Address | |
| Range: 0-3 = Individual / 4 = Broadcast | |
| Return | |
WriteReg
| WriteReg | |
| Writes data to one or more sequential registers | |
| Address | |
| Data | |
| Count | |
| Return | |