Component: RGB LED LP5030 LP5036 (LEDs): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (14 intermediate revisions by 2 users not shown) | |||
| Line 15: | Line 15: | ||
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. | ||
== | ==Detailed description== | ||
| Line 42: | Line 44: | ||
==Examples== | ==Examples== | ||
| Line 63: | Line 71: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
{| class="wikitable | |||
==Macro reference== | |||
===GetBrightness=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetBrightness''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets the brightness of a single LED. | ||
|- | |- | ||
|- | |- | ||
| Line 150: | Line 97: | ||
| 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%" | RGB | ||
|- | |- | ||
| colspan="2" | | | 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-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'' | ||
|} | |} | ||
{| class="wikitable | ===GetDiscreteRGB=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetDiscreteRGB''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets the RGB format colour of a single LED. | ||
|- | |- | ||
|- | |- | ||
| Line 181: | Line 124: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | ColourIndex | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetRGB=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRGB''' | ||
|- | |- | ||
| colspan="2" | Gets the | | colspan="2" | Gets the RGB colour of a single LED. Array variables only. For individual variables, use GetDiscreteRGB | ||
|- | |- | ||
|- | |- | ||
| Line 207: | Line 151: | ||
|- | |- | ||
| 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-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 231: | Line 157: | ||
{| class="wikitable | ===Initialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''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. | | 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. | ||
| Line 244: | Line 171: | ||
===ReadReg=== | |||
{| class="mtx-class-macrotable wikitable" | |||
== | |||
{| class="wikitable | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadReg''' | ||
|- | |- | ||
| colspan="2" | Reads the data from one or more sequential registers | |||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="10%" align="center" | [[File:Fc9- | | width="90%" | Address | ||
| width="90%" | | |||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Count | |||
| width="90%" | | |||
|- | |- | ||
| 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 345: | Line 200: | ||
{| class="wikitable | ===SetBrightness=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetBrightness''' | ||
|- | |- | ||
| colspan="2" | Allows the brightness of a single LED to be specified as a byte from 0 to 255. Default on reset is 255. | | 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 368: | Line 224: | ||
{| class="wikitable | ===SetDiscreteRGB=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetDiscreteRGB''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the colour of a single LED to be specified in RGB format | ||
|- | |- | ||
|- | |- | ||
| Line 379: | Line 236: | ||
| 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%" | Red | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Green | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Blue | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 424: | Line 258: | ||
{| class="wikitable | ===SetRGB=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetRGB''' | ||
|- | |- | ||
| 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. Array variables only. For individual variables and literal values, use SetDiscreteRGB | ||
|- | |- | ||
|- | |- | ||
| Line 447: | Line 282: | ||
{| class="wikitable | ===SetUnitAddress=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetUnitAddress''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the component to taklk to more then one IC or broadcast to all connected ICs. | ||
|- | |- | ||
|- | |- | ||
| Line 458: | Line 294: | ||
| width="90%" | Address | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | Range: 0- | | colspan="2" | Range: 0-3 = Individual / 4 = Broadcast | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===WriteReg=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteReg''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Writes data to one or more sequential registers | ||
|- | |- | ||
|- | |- | ||
| Line 481: | Line 313: | ||
| width="90%" | Address | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | 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'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Driver | ||
|- | |- | ||
|- | |- | ||
| Line 525: | Line 352: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 569: | Line 396: | ||
| 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" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
| Line 578: | Line 405: | ||
| colspan="2" | | | colspan="2" | | ||
|} | |} | ||
==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] | |||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | LEDs |
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.
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 | |
Property reference
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