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

Fork of MAX77756_Demo by Daniel Geonsi Jeong

Committer:
daniel_gs_jeong
Date:
Mon Sep 18 10:58:59 2017 +0000
Revision:
1:51eaf328d3fd
Parent:
0:53b089c2fe50
Initial version of MAX77756 Sample code

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