The sample code to control MAX77756. It controls the output voltage from 1500mV to 7500mV in 50mV step. It was tested using MAX32630FTHR and MAX77756 Evaluation Kit.

Dependencies:   max32630fthr max77756 mbed

Committer:
daniel_gs_jeong
Date:
Mon Sep 18 10:53:47 2017 +0000
Revision:
0:53b089c2fe50
Sample code to control MAX77756. This sample code controls the output voltage from 1500mV to 7500mV in 50mV step voltage and it was tested using MAX32630FTHR and MAX77756 Evaluation Kit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniel_gs_jeong 0:53b089c2fe50 1 /**********************************************************************
daniel_gs_jeong 0:53b089c2fe50 2 * Copyright (C) 2017 Maxim Integrated Products, Inc., All Rights Reserved.
daniel_gs_jeong 0:53b089c2fe50 3 *
daniel_gs_jeong 0:53b089c2fe50 4 * Permission is hereby granted, free of charge, to any person obtaining a
daniel_gs_jeong 0:53b089c2fe50 5 * copy of this software and associated documentation files (the "Software"),
daniel_gs_jeong 0:53b089c2fe50 6 * to deal in the Software without restriction, including without limitation
daniel_gs_jeong 0:53b089c2fe50 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
daniel_gs_jeong 0:53b089c2fe50 8 * and/or sell copies of the Software, and to permit persons to whom the
daniel_gs_jeong 0:53b089c2fe50 9 * Software is furnished to do so, subject to the following conditions:
daniel_gs_jeong 0:53b089c2fe50 10 *
daniel_gs_jeong 0:53b089c2fe50 11 * The above copyright notice and this permission notice shall be included
daniel_gs_jeong 0:53b089c2fe50 12 * in all copies or substantial portions of the Software.
daniel_gs_jeong 0:53b089c2fe50 13 *
daniel_gs_jeong 0:53b089c2fe50 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
daniel_gs_jeong 0:53b089c2fe50 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
daniel_gs_jeong 0:53b089c2fe50 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
daniel_gs_jeong 0:53b089c2fe50 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
daniel_gs_jeong 0:53b089c2fe50 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
daniel_gs_jeong 0:53b089c2fe50 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
daniel_gs_jeong 0:53b089c2fe50 20 * OTHER DEALINGS IN THE SOFTWARE.
daniel_gs_jeong 0:53b089c2fe50 21 *
daniel_gs_jeong 0:53b089c2fe50 22 * Except as contained in this notice, the name of Maxim Integrated
daniel_gs_jeong 0:53b089c2fe50 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
daniel_gs_jeong 0:53b089c2fe50 24 * Products, Inc. Branding Policy.
daniel_gs_jeong 0:53b089c2fe50 25 *
daniel_gs_jeong 0:53b089c2fe50 26 * The mere transfer of this software does not imply any licenses
daniel_gs_jeong 0:53b089c2fe50 27 * of trade secrets, proprietary technology, copyrights, patents,
daniel_gs_jeong 0:53b089c2fe50 28 * trademarks, maskwork rights, or any other form of intellectual
daniel_gs_jeong 0:53b089c2fe50 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
daniel_gs_jeong 0:53b089c2fe50 30 * ownership rights.
daniel_gs_jeong 0:53b089c2fe50 31 **********************************************************************/
daniel_gs_jeong 0:53b089c2fe50 32
daniel_gs_jeong 0:53b089c2fe50 33
daniel_gs_jeong 0:53b089c2fe50 34 #include "mbed.h"
daniel_gs_jeong 0:53b089c2fe50 35 #include "max77756.h"
daniel_gs_jeong 0:53b089c2fe50 36
daniel_gs_jeong 0:53b089c2fe50 37 int main()
daniel_gs_jeong 0:53b089c2fe50 38 {
daniel_gs_jeong 0:53b089c2fe50 39 uint32_t rData;
daniel_gs_jeong 0:53b089c2fe50 40 uint32_t outVoltage = 1500;
daniel_gs_jeong 0:53b089c2fe50 41
daniel_gs_jeong 0:53b089c2fe50 42 DigitalOut rLED(LED1, LED_OFF);
daniel_gs_jeong 0:53b089c2fe50 43 DigitalOut gLED(LED2, LED_OFF);
daniel_gs_jeong 0:53b089c2fe50 44 DigitalOut bLED(LED3, LED_OFF);
daniel_gs_jeong 0:53b089c2fe50 45
daniel_gs_jeong 0:53b089c2fe50 46 I2C i2cBus(P5_7, P6_0);
daniel_gs_jeong 0:53b089c2fe50 47 i2cBus.frequency(400000);
daniel_gs_jeong 0:53b089c2fe50 48 MAX77756 max77756(&i2cBus);
daniel_gs_jeong 0:53b089c2fe50 49
daniel_gs_jeong 0:53b089c2fe50 50 wait_ms(100);
daniel_gs_jeong 0:53b089c2fe50 51
daniel_gs_jeong 0:53b089c2fe50 52 max77756.config(MAX77756::S_SPECTRUM_OFF, MAX77756::S_START_8_ms,
daniel_gs_jeong 0:53b089c2fe50 53 MAX77756::I_PEAK_LIMIT_700_mA, MAX77756::EN_LOGICAL_OR);
daniel_gs_jeong 0:53b089c2fe50 54
daniel_gs_jeong 0:53b089c2fe50 55 while(1) {
daniel_gs_jeong 0:53b089c2fe50 56
daniel_gs_jeong 0:53b089c2fe50 57 rData = max77756.outEnable(MAX77756::DISABLE);
daniel_gs_jeong 0:53b089c2fe50 58 if (rData < 0) {
daniel_gs_jeong 0:53b089c2fe50 59 rLED = 1;
daniel_gs_jeong 0:53b089c2fe50 60 continue;
daniel_gs_jeong 0:53b089c2fe50 61 }
daniel_gs_jeong 0:53b089c2fe50 62 wait_ms(1000);
daniel_gs_jeong 0:53b089c2fe50 63
daniel_gs_jeong 0:53b089c2fe50 64 rData = max77756.setVout(outVoltage);
daniel_gs_jeong 0:53b089c2fe50 65 if (rData < 0) {
daniel_gs_jeong 0:53b089c2fe50 66 rLED = 1;
daniel_gs_jeong 0:53b089c2fe50 67 continue;
daniel_gs_jeong 0:53b089c2fe50 68 }
daniel_gs_jeong 0:53b089c2fe50 69 rData = max77756.outEnable(MAX77756::ENABLE);
daniel_gs_jeong 0:53b089c2fe50 70 if (rData < 0) {
daniel_gs_jeong 0:53b089c2fe50 71 rLED = 1;
daniel_gs_jeong 0:53b089c2fe50 72 continue;
daniel_gs_jeong 0:53b089c2fe50 73 }
daniel_gs_jeong 0:53b089c2fe50 74
daniel_gs_jeong 0:53b089c2fe50 75 outVoltage += 50;
daniel_gs_jeong 0:53b089c2fe50 76 if (outVoltage > 7500) {
daniel_gs_jeong 0:53b089c2fe50 77 outVoltage = 1500;
daniel_gs_jeong 0:53b089c2fe50 78 }
daniel_gs_jeong 0:53b089c2fe50 79
daniel_gs_jeong 0:53b089c2fe50 80 gLED = !gLED;
daniel_gs_jeong 0:53b089c2fe50 81 wait_ms(1000);
daniel_gs_jeong 0:53b089c2fe50 82 }
daniel_gs_jeong 0:53b089c2fe50 83 }
daniel_gs_jeong 0:53b089c2fe50 84