16 lines
26 KiB
JavaScript
16 lines
26 KiB
JavaScript
import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.B9AX-CPi.js";
|
||
const __pageData = JSON.parse('{"title":"IS31FL3746A Driver","description":"","frontmatter":{},"headers":[],"relativePath":"drivers/is31fl3746a.md","filePath":"drivers/is31fl3746a.md","lastUpdated":null}');
|
||
const _sfc_main = { name: "drivers/is31fl3746a.md" };
|
||
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="is31fl3746a-driver" tabindex="-1">IS31FL3746A Driver <a class="header-anchor" href="#is31fl3746a-driver" aria-label="Permalink to "IS31FL3746A Driver {#is31fl3746a-driver}""></a></h1><p>I²C 18x4 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 72 single-color LEDs, or 24 RGB LEDs.</p><p><a href="https://www.lumissil.com/assets/pdf/core/IS31FL3746A_DS.pdf" target="_blank" rel="noreferrer">IS31FL3746A Datasheet</a></p><h2 id="usage" tabindex="-1">Usage <a class="header-anchor" href="#usage" aria-label="Permalink to "Usage {#usage}""></a></h2><p>The IS31FL3746A driver code is automatically included if you are using the <a href="./../features/led_matrix">LED Matrix</a> or <a href="./../features/rgb_matrix">RGB Matrix</a> feature with the <code>is31fl3746a</code> driver set, and you would use those APIs instead.</p><p>However, if you need to use the driver standalone, add this to your <code>rules.mk</code>:</p><div class="language-make vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">make</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">COMMON_VPATH += </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$(</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">DRIVER_PATH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">)</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">/led/issi</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">SRC += is31fl3746a-mono.c </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># For single-color</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">SRC += is31fl3746a.c </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># For RGB</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">I2C_DRIVER_REQUIRED = yes</span></span></code></pre></div><h2 id="basic-configuration" tabindex="-1">Basic Configuration <a class="header-anchor" href="#basic-configuration" aria-label="Permalink to "Basic Configuration {#basic-configuration}""></a></h2><p>Add the following to your <code>config.h</code>:</p><table><thead><tr><th>Define</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>IS31FL3746A_SDB_PIN</code></td><td><em>Not defined</em></td><td>The GPIO pin connected to the drivers' shutdown pins</td></tr><tr><td><code>IS31FL3746A_I2C_TIMEOUT</code></td><td><code>100</code></td><td>The I²C timeout in milliseconds</td></tr><tr><td><code>IS31FL3746A_I2C_PERSISTENCE</code></td><td><code>0</code></td><td>The number of times to retry I²C transmissions</td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_1</code></td><td><em>Not defined</em></td><td>The I²C address of driver 0</td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_2</code></td><td><em>Not defined</em></td><td>The I²C address of driver 1</td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_3</code></td><td><em>Not defined</em></td><td>The I²C address of driver 2</td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_4</code></td><td><em>Not defined</em></td><td>The I²C address of driver 3</td></tr><tr><td><code>IS31FL3746A_CONFIGURATION</code></td><td><code>0x01</code></td><td>The value of the configuration register</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY</code></td><td><code>IS31FL3746A_PWM_FREQUENCY_29K_HZ</code></td><td>The PWM frequency of the LEDs</td></tr><tr><td><code>IS31FL3746A_SW_PULLDOWN</code></td><td><code>IS31FL3746A_PDR_2K_OHM_SW_OFF</code></td><td>The <code>SWx</code> pulldown resistor value</td></tr><tr><td><code>IS31FL3746A_CS_PULLUP</code></td><td><code>IS31FL3746A_PUR_2K_OHM_CS_OFF</code></td><td>The <code>CSx</code> pullup resistor value</td></tr><tr><td><code>IS31FL3746A_GLOBAL_CURRENT</code></td><td><code>0xFF</code></td><td>The global current control value</td></tr></tbody></table><h3 id="i2c-addressing" tabindex="-1">I²C Addressing <a class="header-anchor" href="#i2c-addressing" aria-label="Permalink to "I²C Addressing {#i2c-addressing}""></a></h3><p>The IS31FL3746A has 16 possible 7-bit I²C addresses, depending on how the <code>ADDR1</code> and <code>ADDR2</code> pins are connected.</p><p>To configure this, set the <code>IS31FL3746A_I2C_ADDRESS_n</code> defines to one of the following in your <code>config.h</code>, where <em>n</em> denotes the driver index:</p><table><thead><tr><th>Define</th><th>Value</th></tr></thead><tbody><tr><td><code>IS31FL3746A_I2C_ADDRESS_GND_GND</code></td><td><code>0x60</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_GND_SCL</code></td><td><code>0x61</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_GND_SDA</code></td><td><code>0x62</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_GND_VCC</code></td><td><code>0x63</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SCL_GND</code></td><td><code>0x64</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SCL_SCL</code></td><td><code>0x65</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SCL_SDA</code></td><td><code>0x66</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SCL_VCC</code></td><td><code>0x67</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SDA_GND</code></td><td><code>0x68</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SDA_SCL</code></td><td><code>0x69</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SDA_SDA</code></td><td><code>0x6A</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_SDA_VCC</code></td><td><code>0x6B</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_VCC_GND</code></td><td><code>0x6C</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_VCC_SCL</code></td><td><code>0x6D</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_VCC_SDA</code></td><td><code>0x6E</code></td></tr><tr><td><code>IS31FL3746A_I2C_ADDRESS_VCC_VCC</code></td><td><code>0x6F</code></td></tr></tbody></table><h3 id="pwm-frequency" tabindex="-1">PWM Frequency <a class="header-anchor" href="#pwm-frequency" aria-label="Permalink to "PWM Frequency {#pwm-frequency}""></a></h3><p>The PWM frequency can be adjusted by adding the following to your <code>config.h</code>:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IS31FL3746A_PWM_FREQUENCY</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> IS31FL3746A_PWM_FREQUENCY_29K_HZ</span></span></code></pre></div><p>Valid values are:</p><table><thead><tr><th>Define</th><th>Frequency</th></tr></thead><tbody><tr><td><code>IS31FL3746A_PWM_FREQUENCY_29K_HZ</code></td><td>29 kHz (default)</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY_14K5_HZ</code></td><td>14.5 kHz</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY_7K25_HZ</code></td><td>7.25 kHz</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY_3K63_HZ</code></td><td>3.63 kHz</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY_1K81_HZ</code></td><td>1.81 kHz</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY_906_HZ</code></td><td>906 Hz</td></tr><tr><td><code>IS31FL3746A_PWM_FREQUENCY_453_HZ</code></td><td>453 Hz</td></tr></tbody></table><h3 id="de-ghosting" tabindex="-1">De-Ghosting <a class="header-anchor" href="#de-ghosting" aria-label="Permalink to "De-Ghosting {#de-ghosting}""></a></h3><p>These settings control the pulldown and pullup resistor values on the <code>SWy</code> and <code>CSx</code> pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.</p><p>To adjust the resistor values, add the following to your <code>config.h</code>:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IS31FL3746A_SW_PULLDOWN</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> IS31FL3746A_PDR_2K_OHM_SW_OFF</span></span>\n<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IS31FL3746A_CS_PULLUP</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> IS31FL3746A_PUR_2K_OHM_CS_OFF</span></span></code></pre></div><p>Valid values for <code>IS31FL3746A_SW_PULLDOWN</code> are:</p><table><thead><tr><th>Define</th><th>Resistance</th></tr></thead><tbody><tr><td><code>IS31FL3746A_PDR_0_OHM</code></td><td>None</td></tr><tr><td><code>IS31FL3746A_PDR_0K5_OHM_SW_OFF</code></td><td>0.5 kΩ in SWx off time</td></tr><tr><td><code>IS31FL3746A_PDR_1K_OHM_SW_OFF</code></td><td>1 kΩ in SWx off time</td></tr><tr><td><code>IS31FL3746A_PDR_2K_OHM_SW_OFF</code></td><td>2 kΩ in SWx off time (default)</td></tr><tr><td><code>IS31FL3746A_PDR_1K_OHM</code></td><td>1 kΩ</td></tr><tr><td><code>IS31FL3746A_PDR_2K_OHM</code></td><td>2 kΩ</td></tr><tr><td><code>IS31FL3746A_PDR_4K_OHM</code></td><td>4 kΩ</td></tr><tr><td><code>IS31FL3746A_PDR_8K_OHM</code></td><td>8 kΩ</td></tr></tbody></table><p>Valid values for <code>IS31FL3746A_CS_PULLUP</code> are:</p><table><thead><tr><th>Define</th><th>Resistance</th></tr></thead><tbody><tr><td><code>IS31FL3746A_PUR_0_OHM</code></td><td>None (default)</td></tr><tr><td><code>IS31FL3746A_PUR_0K5_OHM_CS_OFF</code></td><td>0.5 kΩ in CSy off time</td></tr><tr><td><code>IS31FL3746A_PUR_1K_OHM_CS_OFF</code></td><td>1 kΩ in CSy off time</td></tr><tr><td><code>IS31FL3746A_PUR_2K_OHM_CS_OFF</code></td><td>2 kΩ in CSy off time (default)</td></tr><tr><td><code>IS31FL3746A_PUR_1K_OHM</code></td><td>1 kΩ</td></tr><tr><td><code>IS31FL3746A_PUR_2K_OHM</code></td><td>2 kΩ</td></tr><tr><td><code>IS31FL3746A_PUR_4K_OHM</code></td><td>4 kΩ</td></tr><tr><td><code>IS31FL3746A_PUR_8K_OHM</code></td><td>8 kΩ</td></tr></tbody></table><h3 id="global-current-control" tabindex="-1">Global Current Control <a class="header-anchor" href="#global-current-control" aria-label="Permalink to "Global Current Control {#global-current-control}""></a></h3><p>This setting controls the current sunk by the <code>CSy</code> pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your <code>config.h</code>:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> IS31FL3746A_GLOBAL_CURRENT</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> 0x</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">FF</span></span></code></pre></div><h2 id="arm-configuration" tabindex="-1">ARM/ChibiOS Configuration <a class="header-anchor" href="#arm-configuration" aria-label="Permalink to "ARM/ChibiOS Configuration {#arm-configuration}""></a></h2><p>Depending on the ChibiOS board configuration, you may need to <a href="./i2c#arm-configuration">enable and configure I²C</a> at the keyboard level.</p><h2 id="led-mapping" tabindex="-1">LED Mapping <a class="header-anchor" href="#led-mapping" aria-label="Permalink to "LED Mapping {#led-mapping}""></a></h2><p>In order to use this driver, each output must be mapped to an LED index, by adding the following to your <code><keyboardname>.c</code>:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> is31fl3746a_led_t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PROGMEM </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">g_is31fl3746a_leds</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[IS31FL3746A_LED_COUNT] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* Driver</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * | R G B */</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, SW1_CS1, SW1_CS2, SW1_CS3},</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // etc...</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span></code></pre></div><p>In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the <code>SW1</code> pin, and their cathodes on the <code>CS1</code>, <code>CS2</code> and <code>CS3</code> pins respectively.</p><p>For the single-color driver, the principle is the same, but there is only one channel:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> is31fl3746a_led_t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PROGMEM </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">g_is31fl3746a_leds</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[IS31FL3746A_LED_COUNT] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/* Driver</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> * | V */</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, SW1_CS1},</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // etc...</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span></code></pre></div><p>These values correspond to the register indices as shown in the datasheet on page 13, figure 8.</p><h2 id="api" tabindex="-1">API <a class="header-anchor" href="#api" aria-label="Permalink to "API {#api}""></a></h2><h3 id="api-is31fl3746a-led-t" tabindex="-1"><code>struct is31fl3746a_led_t</code> <a class="header-anchor" href="#api-is31fl3746a-led-t" aria-label="Permalink to "`struct is31fl3746a_led_t` {#api-is31fl3746a-led-t}""></a></h3><p>Contains the PWM register addresses for a single RGB LED.</p><h4 id="api-is31fl3746a-led-t-members" tabindex="-1">Members <a class="header-anchor" href="#api-is31fl3746a-led-t-members" aria-label="Permalink to "Members {#api-is31fl3746a-led-t-members}""></a></h4><ul><li><code>uint8_t driver</code><br> The driver index of the LED, from 0 to 3.</li><li><code>uint8_t r</code><br> The output PWM register address for the LED's red channel (RGB driver only).</li><li><code>uint8_t g</code><br> The output PWM register address for the LED's green channel (RGB driver only).</li><li><code>uint8_t b</code><br> The output PWM register address for the LED's blue channel (RGB driver only).</li><li><code>uint8_t v</code><br> The output PWM register address for the LED (single-color driver only).</li></ul><hr><h3 id="api-is31fl3746a-init" tabindex="-1"><code>void is31fl3746a_init(uint8_t index)</code> <a class="header-anchor" href="#api-is31fl3746a-init" aria-label="Permalink to "`void is31fl3746a_init(uint8_t index)` {#api-is31fl3746a-init}""></a></h3><p>Initialize the LED driver. This function should be called first.</p><h4 id="api-is31fl3746a-init-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-init-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-init-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The driver index.</li><li><code>uint8_t sync</code><br> Sync configuration of the LED driver.</li></ul><hr><h3 id="api-is31fl3746a-write-register" tabindex="-1"><code>void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data)</code> <a class="header-anchor" href="#api-is31fl3746a-write-register" aria-label="Permalink to "`void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3746a-write-register}""></a></h3><p>Set the value of the given register.</p><h4 id="api-is31fl3746a-write-register-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-write-register-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-write-register-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The driver index.</li><li><code>uint8_t reg</code><br> The register address.</li><li><code>uint8_t data</code><br> The value to set.</li></ul><hr><h3 id="api-is31fl3746a-select-page" tabindex="-1"><code>void is31fl3746a_select_page(uint8_t index, uint8_t page)</code> <a class="header-anchor" href="#api-is31fl3746a-select-page" aria-label="Permalink to "`void is31fl3746a_select_page(uint8_t index, uint8_t page)` {#api-is31fl3746a-select-page}""></a></h3><p>Change the current page for configuring the LED driver.</p><h4 id="api-is31fl3746a-select-page-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-select-page-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-select-page-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The driver index.</li><li><code>uint8_t page</code><br> The page number to select.</li></ul><hr><h3 id="api-is31fl3746a-set-color" tabindex="-1"><code>void is31fl3746a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)</code> <a class="header-anchor" href="#api-is31fl3746a-set-color" aria-label="Permalink to "`void is31fl3746a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3746a-set-color}""></a></h3><p>Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call <code>is31fl3746a_update_pwm_buffers()</code> after you are finished.</p><h4 id="api-is31fl3746a-set-color-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-set-color-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-set-color-arguments}""></a></h4><ul><li><code>int index</code><br> The LED index (ie. the index into the <code>g_is31fl3746a_leds</code> array).</li><li><code>uint8_t red</code><br> The red value to set.</li><li><code>uint8_t green</code><br> The green value to set.</li><li><code>uint8_t blue</code><br> The blue value to set.</li></ul><hr><h3 id="api-is31fl3746a-set-color-all" tabindex="-1"><code>void is31fl3746a_set_color_all(uint8_t red, uint8_t green, uint8_t blue)</code> <a class="header-anchor" href="#api-is31fl3746a-set-color-all" aria-label="Permalink to "`void is31fl3746a_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3746a-set-color-all}""></a></h3><p>Set the color of all LEDs (RGB driver only).</p><h4 id="api-is31fl3746a-set-color-all-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-set-color-all-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-set-color-all-arguments}""></a></h4><ul><li><code>uint8_t red</code><br> The red value to set.</li><li><code>uint8_t green</code><br> The green value to set.</li><li><code>uint8_t blue</code><br> The blue value to set.</li></ul><hr><h3 id="api-is31fl3746a-set-value" tabindex="-1"><code>void is31fl3746a_set_value(int index, uint8_t value)</code> <a class="header-anchor" href="#api-is31fl3746a-set-value" aria-label="Permalink to "`void is31fl3746a_set_value(int index, uint8_t value)` {#api-is31fl3746a-set-value}""></a></h3><p>Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call <code>is31fl3746a_update_pwm_buffers()</code> after you are finished.</p><h4 id="api-is31fl3746a-set-value-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-set-value-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-set-value-arguments}""></a></h4><ul><li><code>int index</code><br> The LED index (ie. the index into the <code>g_is31fl3746a_leds</code> array).</li><li><code>uint8_t value</code><br> The brightness value to set.</li></ul><hr><h3 id="api-is31fl3746a-set-value-all" tabindex="-1"><code>void is31fl3746a_set_value_all(uint8_t value)</code> <a class="header-anchor" href="#api-is31fl3746a-set-value-all" aria-label="Permalink to "`void is31fl3746a_set_value_all(uint8_t value)` {#api-is31fl3746a-set-value-all}""></a></h3><p>Set the brightness of all LEDs (single-color driver only).</p><h4 id="api-is31fl3746a-set-value-all-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-set-value-all-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-set-value-all-arguments}""></a></h4><ul><li><code>uint8_t value</code><br> The brightness value to set.</li></ul><hr><h3 id="api-is31fl3746a-set-scaling-register-rgb" tabindex="-1"><code>void is31fl3746a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)</code> <a class="header-anchor" href="#api-is31fl3746a-set-scaling-register-rgb" aria-label="Permalink to "`void is31fl3746a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3746a-set-scaling-register-rgb}""></a></h3><p>Configure the scaling registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call <code>is31fl3746a_update_scaling_registers()</code> after you are finished.</p><h4 id="api-is31fl3746a-set-scaling-register-rgb-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-set-scaling-register-rgb-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-set-scaling-register-rgb-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The LED index (ie. the index into the <code>g_is31fl3746a_leds</code> array).</li><li><code>uint8_t red</code><br> The scaling value for the red channel.</li><li><code>uint8_t green</code><br> The scaling value for the green channel.</li><li><code>uint8_t blue</code><br> The scaling value for the blue channel.</li></ul><hr><h3 id="api-is31fl3746a-set-scaling-register-mono" tabindex="-1"><code>void is31fl3746a_set_scaling_register(uint8_t index, uint8_t value)</code> <a class="header-anchor" href="#api-is31fl3746a-set-scaling-register-mono" aria-label="Permalink to "`void is31fl3746a_set_scaling_register(uint8_t index, uint8_t value)` {#api-is31fl3746a-set-scaling-register-mono}""></a></h3><p>Configure the scaling register for a single LED (single-color driver only). This function does not immediately update the LEDs; call <code>is31fl3746a_update_scaling_registers()</code> after you are finished.</p><h4 id="api-is31fl3746a-set-scaling-register-mono-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-set-scaling-register-mono-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-set-scaling-register-mono-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The LED index (ie. the index into the <code>g_is31fl3746a_leds</code> array).</li><li><code>uint8_t value</code><br> The scaling value for the LED.</li></ul><hr><h3 id="api-is31fl3746a-update-pwm-buffers" tabindex="-1"><code>void is31fl3746a_update_pwm_buffers(uint8_t index)</code> <a class="header-anchor" href="#api-is31fl3746a-update-pwm-buffers" aria-label="Permalink to "`void is31fl3746a_update_pwm_buffers(uint8_t index)` {#api-is31fl3746a-update-pwm-buffers}""></a></h3><p>Flush the PWM values to the LED driver.</p><h4 id="api-is31fl3746a-update-pwm-buffers-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-update-pwm-buffers-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-update-pwm-buffers-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The driver index.</li></ul><hr><h3 id="api-is31fl3746a-update-scaling-registers" tabindex="-1"><code>void is31fl3746a_update_scaling_registers(uint8_t index)</code> <a class="header-anchor" href="#api-is31fl3746a-update-scaling-registers" aria-label="Permalink to "`void is31fl3746a_update_scaling_registers(uint8_t index)` {#api-is31fl3746a-update-scaling-registers}""></a></h3><p>Flush the scaling register values to the LED driver.</p><h4 id="api-is31fl3746a-update-scaling-registers-arguments" tabindex="-1">Arguments <a class="header-anchor" href="#api-is31fl3746a-update-scaling-registers-arguments" aria-label="Permalink to "Arguments {#api-is31fl3746a-update-scaling-registers-arguments}""></a></h4><ul><li><code>uint8_t index</code><br> The driver index.</li></ul>', 99);
|
||
const _hoisted_100 = [
|
||
_hoisted_1
|
||
];
|
||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||
return openBlock(), createElementBlock("div", null, _hoisted_100);
|
||
}
|
||
const is31fl3746a = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||
export {
|
||
__pageData,
|
||
is31fl3746a as default
|
||
};
|