MAX77816 Library. The MAX77816 is a high-current, high-efficiency buck-boost regulator targeting single-cell Li-ion battery powered applications. Please find more detail things on the website: https://www.maximintegrated.com/en/products/power/switching-regulators/MAX77816.html

Dependencies:   max32630fthr max77816 mbed

Committer:
daniel_gs_jeong
Date:
Fri Sep 28 10:00:25 2018 +0000
Revision:
0:22087b5c9de4
MAX77816 Library. The MAX77816 is a high-current, high-efficiency buck-boost regulator targeting single-cell Li-ion battery powered applications. Please find more detail things on the website, https://www.maximintegrated.com/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniel_gs_jeong 0:22087b5c9de4 1 /**********************************************************************
daniel_gs_jeong 0:22087b5c9de4 2 * Copyright (C) 2018 Maxim Integrated Products, Inc., All Rights Reserved.
daniel_gs_jeong 0:22087b5c9de4 3 *
daniel_gs_jeong 0:22087b5c9de4 4 * Permission is hereby granted, free of charge, to any person obtaining a
daniel_gs_jeong 0:22087b5c9de4 5 * copy of this software and associated documentation files (the "Software"),
daniel_gs_jeong 0:22087b5c9de4 6 * to deal in the Software without restriction, including without limitation
daniel_gs_jeong 0:22087b5c9de4 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
daniel_gs_jeong 0:22087b5c9de4 8 * and/or sell copies of the Software, and to permit persons to whom the
daniel_gs_jeong 0:22087b5c9de4 9 * Software is furnished to do so, subject to the following conditions:
daniel_gs_jeong 0:22087b5c9de4 10 *
daniel_gs_jeong 0:22087b5c9de4 11 * The above copyright notice and this permission notice shall be included
daniel_gs_jeong 0:22087b5c9de4 12 * in all copies or substantial portions of the Software.
daniel_gs_jeong 0:22087b5c9de4 13 *
daniel_gs_jeong 0:22087b5c9de4 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
daniel_gs_jeong 0:22087b5c9de4 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
daniel_gs_jeong 0:22087b5c9de4 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
daniel_gs_jeong 0:22087b5c9de4 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
daniel_gs_jeong 0:22087b5c9de4 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
daniel_gs_jeong 0:22087b5c9de4 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
daniel_gs_jeong 0:22087b5c9de4 20 * OTHER DEALINGS IN THE SOFTWARE.
daniel_gs_jeong 0:22087b5c9de4 21 *
daniel_gs_jeong 0:22087b5c9de4 22 * Except as contained in this notice, the name of Maxim Integrated
daniel_gs_jeong 0:22087b5c9de4 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
daniel_gs_jeong 0:22087b5c9de4 24 * Products, Inc. Branding Policy.
daniel_gs_jeong 0:22087b5c9de4 25 *
daniel_gs_jeong 0:22087b5c9de4 26 * The mere transfer of this software does not imply any licenses
daniel_gs_jeong 0:22087b5c9de4 27 * of trade secrets, proprietary technology, copyrights, patents,
daniel_gs_jeong 0:22087b5c9de4 28 * trademarks, maskwork rights, or any other form of intellectual
daniel_gs_jeong 0:22087b5c9de4 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
daniel_gs_jeong 0:22087b5c9de4 30 * ownership rights.
daniel_gs_jeong 0:22087b5c9de4 31 **********************************************************************/
daniel_gs_jeong 0:22087b5c9de4 32
daniel_gs_jeong 0:22087b5c9de4 33
daniel_gs_jeong 0:22087b5c9de4 34 #include "mbed.h"
daniel_gs_jeong 0:22087b5c9de4 35 #include "max77816.h"
daniel_gs_jeong 0:22087b5c9de4 36
daniel_gs_jeong 0:22087b5c9de4 37 int main()
daniel_gs_jeong 0:22087b5c9de4 38 {
daniel_gs_jeong 0:22087b5c9de4 39 unsigned int icnt = 0;
daniel_gs_jeong 0:22087b5c9de4 40
daniel_gs_jeong 0:22087b5c9de4 41 DigitalOut rLED(LED1, LED_OFF);
daniel_gs_jeong 0:22087b5c9de4 42 DigitalOut gLED(LED2, LED_OFF);
daniel_gs_jeong 0:22087b5c9de4 43 DigitalOut bLED(LED3, LED_OFF);
daniel_gs_jeong 0:22087b5c9de4 44
daniel_gs_jeong 0:22087b5c9de4 45 I2C i2cBus(P5_7, P6_0);
daniel_gs_jeong 0:22087b5c9de4 46 i2cBus.frequency(400000);
daniel_gs_jeong 0:22087b5c9de4 47 MAX77816 max77816(&i2cBus);
daniel_gs_jeong 0:22087b5c9de4 48 rLED = rLED;
daniel_gs_jeong 0:22087b5c9de4 49 wait_ms(100);
daniel_gs_jeong 0:22087b5c9de4 50
daniel_gs_jeong 0:22087b5c9de4 51 max77816.writeReg(MAX77816::REG_3, 0x71);
daniel_gs_jeong 0:22087b5c9de4 52 while(1) {
daniel_gs_jeong 0:22087b5c9de4 53 uint8_t regValue[8];
daniel_gs_jeong 0:22087b5c9de4 54 int retVal = max77816.readBlock(MAX77816::REG_0, MAX77816::REG_7, regValue);
daniel_gs_jeong 0:22087b5c9de4 55 if(retVal < 0) {
daniel_gs_jeong 0:22087b5c9de4 56 printf("Error reading Register value\n");
daniel_gs_jeong 0:22087b5c9de4 57 rLED = !rLED;
daniel_gs_jeong 0:22087b5c9de4 58 continue;
daniel_gs_jeong 0:22087b5c9de4 59 }
daniel_gs_jeong 0:22087b5c9de4 60
daniel_gs_jeong 0:22087b5c9de4 61 printf("MAX77816 ReadCnt %d : ", icnt++);
daniel_gs_jeong 0:22087b5c9de4 62 for(int ireg = 0; ireg< 8; ireg++)
daniel_gs_jeong 0:22087b5c9de4 63 printf("REG[0x%02X] = 0x%02X ", ireg, regValue[ireg]);
daniel_gs_jeong 0:22087b5c9de4 64 printf("\n");
daniel_gs_jeong 0:22087b5c9de4 65 wait(1);
daniel_gs_jeong 0:22087b5c9de4 66
daniel_gs_jeong 0:22087b5c9de4 67 max77816.setVout(icnt&0x7f);
daniel_gs_jeong 0:22087b5c9de4 68 max77816.setVoutH(icnt&0x7f);
daniel_gs_jeong 0:22087b5c9de4 69
daniel_gs_jeong 0:22087b5c9de4 70 printf("\033[H"); //home
daniel_gs_jeong 0:22087b5c9de4 71 printf("\033[0J"); //erase from cursor to end of screen
daniel_gs_jeong 0:22087b5c9de4 72 gLED = !gLED;
daniel_gs_jeong 0:22087b5c9de4 73 }
daniel_gs_jeong 0:22087b5c9de4 74 }
daniel_gs_jeong 0:22087b5c9de4 75