Maxim Integrated's IoT development kit.

Dependencies:   MAX30101 MAX30003 MAX113XX_Pixi MAX30205 max32630fthr USBDevice

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers max113xx_pixi_app.cpp Source File

max113xx_pixi_app.cpp

00001 /*
00002  * max113xx_pixi_app.cpp
00003  *
00004  *  Created on: Jun 20, 2018
00005  *      Author: Mahir.Ozturk
00006  */
00007 #include <mbed.h>
00008 #include "max113xx_pixi_app.h"
00009 #include "MAX113XX_Pixi.h"
00010 #include "MAX11301Hex.h"
00011 
00012 #define MAX113XX_DATA_READ_PERIOD_MSEC  2000
00013 #define MAX113XX_I2C_ADDRESS    0x38
00014 
00015 void max11301_reader_task(struct max11301_reader_task_args *args)
00016 {
00017     uint16_t adcData;
00018     float adcVoltage;
00019 
00020     MAX113XX_I2C pixi(args->i2cBus, MAX113XX_I2C::MAX11301, MAX113XX_I2C_ADDRESS, P5_5);
00021 
00022     pixi.dacWrite(MAX113XX_Pixi::PORT0, 0x000);    // Pixi PORT0 is -5V
00023     pixi.dacWrite(MAX113XX_Pixi::PORT1, 0xFFF);    // Pixi PORT1 is +5V
00024 
00025     printf("Starting MAX11301 PIXI ADC Demo Application...\r\n");
00026 
00027     while (1) {
00028         pixi.singleEndedADCRead(MAX113XX_Pixi::PORT9, adcData);    // Read value from PORT9
00029         adcVoltage = -5 + 2.442e-3  * adcData;                     // Convert ADC val. to a voltage
00030 
00031         printf("ADC Read is : %i,\tVoltage is %1.3f V \r\n", adcData, adcVoltage);
00032 
00033         bleGattAttrWrite(args->gatt, (uint8_t *)&adcVoltage, sizeof(adcVoltage));
00034 
00035         Thread::wait(args->notify_period_sec * 1000);
00036     }
00037 }
00038