| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions | Macros
LT3965.h File Reference
Switching Regulators, Battery Chargers, and LED Drivers » LT3965: Octal Matrix LED Bypass Switch

LT3965 - Octal Matrix LED Bypass Switch. More...

## Detailed Description

LT3965 - Octal Matrix LED Bypass Switch.

    The LT3965 is an LED bypass switching device for dimming indiviadual LEDs in a
    string using a common current source. It features eight individually controlled
    floating source N-channel MOSFET switches rated for 17V/330 mΩ. The eight
    switches can be connected in parallel and/or in series to bypass current around
    one or more LEDs in a string. The LT3965 as a slave uses the I2C serial interface
    to communicate with the master. Each of eight channels can be independently
    programmed to bypass the LED string in constant on, constant off, dimming without
    fade transition or dimming with fade transition mode.

    WRITE PROTOCOLS (MSB FIRST):

                Byte #1                     Byte #2                         Byte #3

    ACMODE WRITE      0   1   0   A4  A3  A2  A1  0(W)        B7  B6  B5  B4  B3  B2  B1  B0
    SCMODE WRITE SHORT    1   0   1   A4  A3  A2  A1  0(W)    0   C3  C2  C1  B3  B2  B1  B0
    SCMODE WRITE LONG   1   0   1   A4  A3  A2  A1  0(W)    1   C3  C2  C1  B11 B10 B9  B8    B7  B6  B5  B4  B3  B2  B1  B0
    BCMODE WRITE      0   0   0   1   1   0   0   0(W)

    W           : I2C Write (0)
    R           : I2C Read  (1)
    Ax          : Device Address
    Bx          : Data Bits
    Cx          : Channel Address

http://www.linear.com/product/LT3965

http://www.linear.com/product/LT3965#demoboards

Copyright 2018(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
- The use of this software may or may not infringe the patent rights of one or more patent holders. This license does not release you from the requirement that you obtain separate licenses from these patent holders to use this software.
- Use of the software either in source or binary form, must be run on or directly connected to an Analog Devices Inc. component.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Header for LT3965: Octal Matrix LED Bypass Switch

Definition in file LT3965.h.

Go to the source code of this file.

## Functions
int8_t | i2c_acwrite (uint8_t address, uint8_t value)
| ACMODE Write Command to write a "value" byte to device at "address". More...
int8_t | i2c_acread (uint8_t address, uint8_t *values)
| ACMODE Read Command to read 3 data bytes from device at "address". More...
int8_t | i2c_scwriteshort (uint8_t address, uint8_t channel, uint8_t data_SCMREG)
| SCMODE Write Command Short Format to write a "value" byte to device at "address". More...
int8_t | i2c_scwritelong (uint8_t address, uint8_t channel, uint8_t data_SCMREG, uint8_t dimming_value)
| SCMODE Write Command Long Format to write 2 "value" bytes to device at "address". More...
int8_t | i2c_scwriteshort_scread (uint8_t address, uint8_t channel, uint8_t data_SCMREG, uint8_t *values)
| SCMODE Write Short + SCMODE Read Command. More...
int8_t | i2c_bcread (uint8_t *value)
| BCMODE Read Command. More...

## Macros
#define | UP 1
#define | DOWN 0
#define | TRUE 1
#define | FALSE 0
#define | ALERTPIN 2
#define | PWMPIN 7
#define | LOADPIN 9
#define | BUTTONPIN 12
#define | REDLED 11
LT3965 I2C 7-BIT DEVICE ADDRESS
#define | address1 0b00000000
#define | address2 0b00001111
#define | AC_ADDR_0 0x20
#define | SC_ADDR_0 0x50
#define | BC_ADDR 0x0C
#define | TM_ADDR 0x73
8 CHANNELS
#define | CHANNEL0 0X00
#define | CHANNEL1 0X01
#define | CHANNEL2 0X02
#define | CHANNEL3 0X03
#define | CHANNEL4 0X04
#define | CHANNEL5 0X05
#define | CHANNEL6 0X06
#define | CHANNEL7 0X07

## Function Documentation

## ◆ i2c_acread()

int8_t i2c_acread | ( | uint8_t | address,
|  | uint8_t * | values
| ) |  |

ACMODE Read Command to read 3 data bytes from device at "address".

Definition at line 83 of file LT3965.cpp.

## ◆ i2c_acwrite()

int8_t i2c_acwrite | ( | uint8_t | address,
|  | uint8_t | value
| ) |  |

ACMODE Write Command to write a "value" byte to device at "address".

Definition at line 73 of file LT3965.cpp.

## ◆ i2c_bcread()

int8_t i2c_bcread | ( | uint8_t * | value | ) |

BCMODE Read Command.

Definition at line 135 of file LT3965.cpp.

## ◆ i2c_scwritelong()

int8_t i2c_scwritelong | ( | uint8_t | address,
|  | uint8_t | channel,
|  | uint8_t | data_SCMREG,
|  | uint8_t | dimming_value
| ) |  |

SCMODE Write Command Long Format to write 2 "value" bytes to device at "address".

Definition at line 107 of file LT3965.cpp.

## ◆ i2c_scwriteshort()

int8_t i2c_scwriteshort | ( | uint8_t | address,
|  | uint8_t | channel,
|  | uint8_t | data_SCMREG
| ) |  |

SCMODE Write Command Short Format to write a "value" byte to device at "address".

Definition at line 93 of file LT3965.cpp.

## ◆ i2c_scwriteshort_scread()

int8_t i2c_scwriteshort_scread | ( | uint8_t | address,
|  | uint8_t | channel,
|  | uint8_t | data_SCMREG,
|  | uint8_t * | values
| ) |  |

SCMODE Write Short + SCMODE Read Command.

Definition at line 121 of file LT3965.cpp.

## Macro Definition Documentation

## ◆ AC_ADDR_0

#define AC_ADDR_0 0x20

Definition at line 83 of file LT3965.h.

## ◆ address1

#define address1 0b00000000

Definition at line 80 of file LT3965.h.

## ◆ address2

#define address2 0b00001111

Definition at line 81 of file LT3965.h.

## ◆ ALERTPIN

#define ALERTPIN 2

Definition at line 107 of file LT3965.h.

## ◆ BC_ADDR

#define BC_ADDR 0x0C

Definition at line 85 of file LT3965.h.

## ◆ BUTTONPIN

#define BUTTONPIN 12

Definition at line 110 of file LT3965.h.

## ◆ CHANNEL0

#define CHANNEL0 0X00

Definition at line 91 of file LT3965.h.

## ◆ CHANNEL1

#define CHANNEL1 0X01

Definition at line 92 of file LT3965.h.

## ◆ CHANNEL2

#define CHANNEL2 0X02

Definition at line 93 of file LT3965.h.

## ◆ CHANNEL3

#define CHANNEL3 0X03

Definition at line 94 of file LT3965.h.

## ◆ CHANNEL4

#define CHANNEL4 0X04

Definition at line 95 of file LT3965.h.

## ◆ CHANNEL5

#define CHANNEL5 0X05

Definition at line 96 of file LT3965.h.

## ◆ CHANNEL6

#define CHANNEL6 0X06

Definition at line 97 of file LT3965.h.

## ◆ CHANNEL7

#define CHANNEL7 0X07

Definition at line 98 of file LT3965.h.

## ◆ DOWN

#define DOWN 0

Definition at line 102 of file LT3965.h.

## ◆ FALSE

#define FALSE 0

Definition at line 105 of file LT3965.h.

## ◆ LOADPIN

#define LOADPIN 9

Definition at line 109 of file LT3965.h.

## ◆ PWMPIN

#define PWMPIN 7

Definition at line 108 of file LT3965.h.

## ◆ REDLED

#define REDLED 11

Definition at line 111 of file LT3965.h.

## ◆ SC_ADDR_0

#define SC_ADDR_0 0x50

Definition at line 84 of file LT3965.h.

## ◆ TM_ADDR

#define TM_ADDR 0x73

Definition at line 86 of file LT3965.h.

## ◆ TRUE

#define TRUE 1

Definition at line 104 of file LT3965.h.

## ◆ UP

#define UP 1

Definition at line 101 of file LT3965.h.