Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board
DC2875A.ino File Reference

Linear Technology DC2875A Demonstration Board LTC2971: Power System Management for High Voltage Systems. More...

Detailed Description

Linear Technology DC2875A Demonstration Board LTC2971: Power System Management for High Voltage Systems.

NOTES
  Setup:
   Set the terminal baud rate to 115200 and select the newline terminator.

https://www.analog.com/en/products/LTC2971.html

https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/DC2875A.html

Copyright 2019(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.

Definition in file DC2875A.ino.

Go to the source code of this file.

Functions

static void setup ()
 Initialize Linduino. More...
 
static void loop ()
 Repeats Linduino loop. More...
 
static void print_title ()
 Prints the title block when program first starts. More...
 
static void print_prompt ()
 Prints main menu. More...
 
static void print_warning_prompt ()
 Prints a warning if the demo board is not detected. More...
 
static void print_all_output_voltages ()
 Print all output voltages. More...
 
static void print_all_input_voltages ()
 Print all input voltages. More...
 
static void print_all_output_currents ()
 Print all output currents. More...
 
static void print_all_input_currents ()
 Print all input currents. More...
 
static void print_all_output_power ()
 Print all output power. More...
 
static void print_all_input_power ()
 Print all input power. More...
 
static void print_all_status ()
 Print all status bytes and words. More...
 
static void print_all_pg ()
 Print all PG states. More...
 
static void toggle_pg0 ()
 Toggle PG0. More...
 
static void toggle_pg1 ()
 Toggle PG0. More...
 
static void toggle_pg2 ()
 Toggle PG2. More...
 
static void toggle_pg3 ()
 Toggle PG3. More...
 
static void sequence_off_on ()
 Sequence off then on. More...
 
static void margin_high ()
 Margin high. More...
 
static void margin_low ()
 Margin low. More...
 
static void margin_off ()
 Go to nominal. More...
 
static void menu_1_input_telemetry ()
 Display menu 1. More...
 
static void menu_2_output_telemetry ()
 Display menu 2. More...
 
static void menu_3_pg_commands ()
 Display menu 3. More...
 
static void menu_4_margin_commands ()
 Display menu 4. More...
 
static void menu_5_pec_commands ()
 Display menu 5. More...
 

Macros

#define LTC2971_0_I2C_ADDRESS   0x5C
 
#define LTC2971_1_I2C_ADDRESS   0x5D
 
#define MFR_PG_CONFIG_ORIGINAL   0xC046
 
#define MFR_PG_CONFIG_WRITE_PG   0xC044
 

Variables

static uint8_t ltc2971_0_i2c_address
 
static uint8_t ltc2971_1_i2c_address
 
static LT_PMBusMathmath = new LT_PMBusMath()
 
static LT_SMBussmbus = new LT_SMBusPec()
 
static LT_PMBuspmbus = new LT_PMBus(smbus)
 

Function Documentation

◆ loop()

static void loop ( void  )
static

Repeats Linduino loop.

Returns
void

Definition at line 97 of file DC2875A.ino.

◆ margin_high()

static void margin_high ( )
static

Margin high.

Returns
void

Definition at line 496 of file DC2875A.ino.

◆ margin_low()

static void margin_low ( )
static

Margin low.

Returns
void

Definition at line 503 of file DC2875A.ino.

◆ margin_off()

static void margin_off ( )
static

Go to nominal.

Returns
void

Definition at line 512 of file DC2875A.ino.

◆ menu_1_input_telemetry()

static void menu_1_input_telemetry ( )
static

Display menu 1.

Returns
void

Definition at line 519 of file DC2875A.ino.

◆ menu_2_output_telemetry()

static void menu_2_output_telemetry ( )
static

Display menu 2.

Returns
void

Definition at line 572 of file DC2875A.ino.

◆ menu_3_pg_commands()

static void menu_3_pg_commands ( )
static

Display menu 3.

Returns
void

Definition at line 626 of file DC2875A.ino.

◆ menu_4_margin_commands()

static void menu_4_margin_commands ( )
static

Display menu 4.

Returns
void

Definition at line 679 of file DC2875A.ino.

◆ menu_5_pec_commands()

static void menu_5_pec_commands ( )
static

Display menu 5.

Returns
void

Definition at line 730 of file DC2875A.ino.

◆ print_all_input_currents()

static void print_all_input_currents ( )
static

Print all input currents.

Returns
void

Definition at line 283 of file DC2875A.ino.

◆ print_all_input_power()

static void print_all_input_power ( )
static

Print all input power.

Returns
void

Definition at line 333 of file DC2875A.ino.

◆ print_all_input_voltages()

static void print_all_input_voltages ( )
static

Print all input voltages.

Returns
void

Definition at line 236 of file DC2875A.ino.

◆ print_all_output_currents()

static void print_all_output_currents ( )
static

Print all output currents.

Returns
void

Definition at line 253 of file DC2875A.ino.

◆ print_all_output_power()

static void print_all_output_power ( )
static

Print all output power.

Returns
void

Definition at line 301 of file DC2875A.ino.

◆ print_all_output_voltages()

static void print_all_output_voltages ( )
static

Print all output voltages.

Definition at line 198 of file DC2875A.ino.

◆ print_all_pg()

static void print_all_pg ( )
static

Print all PG states.

Returns
void

Definition at line 387 of file DC2875A.ino.

◆ print_all_status()

static void print_all_status ( )
static

Print all status bytes and words.

Returns
void

Definition at line 350 of file DC2875A.ino.

◆ print_prompt()

static void print_prompt ( )
static

Prints main menu.

Definition at line 174 of file DC2875A.ino.

◆ print_title()

static void print_title ( void  )
static

Prints the title block when program first starts.

Definition at line 160 of file DC2875A.ino.

◆ print_warning_prompt()

static void print_warning_prompt ( )
static

Prints a warning if the demo board is not detected.

Definition at line 190 of file DC2875A.ino.

◆ sequence_off_on()

static void sequence_off_on ( )
static

Sequence off then on.

Returns
void

Definition at line 487 of file DC2875A.ino.

◆ setup()

static void setup ( void  )
static

Initialize Linduino.

Definition at line 85 of file DC2875A.ino.

◆ toggle_pg0()

static void toggle_pg0 ( )
static

Toggle PG0.

Returns
void

Definition at line 438 of file DC2875A.ino.

◆ toggle_pg1()

static void toggle_pg1 ( )
static

Toggle PG0.

Returns
void

Definition at line 451 of file DC2875A.ino.

◆ toggle_pg2()

static void toggle_pg2 ( )
static

Toggle PG2.

Returns
void

Definition at line 463 of file DC2875A.ino.

◆ toggle_pg3()

static void toggle_pg3 ( )
static

Toggle PG3.

Returns
void

Definition at line 475 of file DC2875A.ino.

Macro Definition Documentation

◆ LTC2971_0_I2C_ADDRESS

#define LTC2971_0_I2C_ADDRESS   0x5C

Definition at line 71 of file DC2875A.ino.

◆ LTC2971_1_I2C_ADDRESS

#define LTC2971_1_I2C_ADDRESS   0x5D

Definition at line 72 of file DC2875A.ino.

◆ MFR_PG_CONFIG_ORIGINAL

#define MFR_PG_CONFIG_ORIGINAL   0xC046

Definition at line 74 of file DC2875A.ino.

◆ MFR_PG_CONFIG_WRITE_PG

#define MFR_PG_CONFIG_WRITE_PG   0xC044

Definition at line 75 of file DC2875A.ino.

Variable Documentation

◆ ltc2971_0_i2c_address

uint8_t ltc2971_0_i2c_address
static

Definition at line 78 of file DC2875A.ino.

◆ ltc2971_1_i2c_address

uint8_t ltc2971_1_i2c_address
static

Definition at line 79 of file DC2875A.ino.

◆ math

LT_PMBusMath* math = new LT_PMBusMath()
static

Definition at line 80 of file DC2875A.ino.

◆ pmbus

LT_PMBus* pmbus = new LT_PMBus(smbus)
static

Definition at line 82 of file DC2875A.ino.

◆ smbus

LT_SMBus* smbus = new LT_SMBusPec()
static

Definition at line 81 of file DC2875A.ino.