| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions | Macros | Variables
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_PMBusMath * | math = new LT_PMBusMath()
static LT_SMBus * | smbus = new LT_SMBusPec()
static LT_PMBus * | pmbus = 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.