Demo code for the MAX11301WING. Programs a +5V on Port 0, -5V on Port 1 and a single-ended ADC on Port 9.

Dependencies:   MAX113XX_Pixi max32630fthr

Fork of MAX11301_Demo by John Greene

main.cpp

Committer:
coreyharris
Date:
2017-08-17
Revision:
0:6727152ebfbb
Child:
1:c161bde4496f

File content as of revision 0:6727152ebfbb:

#include "mbed.h"
#include "max32630fthr.h"
#include "MAX113XX_Pixi.h"
#include "MAX11301Hex.h"

MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);


int main()
{
    Serial pc(USBTX, USBRX);
    pc.baud(115200);
    
    DigitalOut rLed(LED1, LED_OFF);
    DigitalOut gLed(LED2, LED_OFF);
    DigitalOut bLed(LED3, LED_OFF);
    
    I2C i2cBus(I2C1_SDA, I2C1_SCL);                 // I2C bus

    MAX113XX_I2C * pixi;
    pixi = new MAX113XX_I2C(i2cBus, MAX113XX_I2C::MAX11301, 0x38, P5_5);
    
    uint16_t adcData;
    float adcVoltage;
    
    while(1) {
        
        for( int idx = 0; idx <= 0xFFF; idx++ ) {
            
            pixi->dacWrite(MAX113XX_Pixi::PORT0, idx);
            pixi->singleEndedADCRead(MAX113XX_Pixi::PORT9, adcData);  
            adcVoltage = -5 + 2.4414e-3 * adcData;
            
            pc.printf("ADC Voltage is %1.3f V, Count is 0x%x \r\n", adcVoltage, idx);  
        }
        
        pc.printf("\r\n\r\nSweep complete, starting new sweep \r\n\r\n");
        wait(2.0);
               
    }
}