Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board

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.