Maxim Integrated's IoT development kit.

Dependencies:   MAX30101 MAX30003 MAX113XX_Pixi MAX30205 max32630fthr USBDevice

Committer:
Mahir Ozturk
Date:
Thu Jul 19 18:27:45 2018 +0300
Revision:
16:503f8308e2db
Parent:
15:0d47d5879a21
Update mbed-os to fix the bug: Symbol __user_perthread_libspace multiply defined

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mahir Ozturk 13:fba77a5d0fa0 1 /*
Mahir Ozturk 13:fba77a5d0fa0 2 * max113xx_pixi_app.cpp
Mahir Ozturk 13:fba77a5d0fa0 3 *
Mahir Ozturk 13:fba77a5d0fa0 4 * Created on: Jun 20, 2018
Mahir Ozturk 13:fba77a5d0fa0 5 * Author: Mahir.Ozturk
Mahir Ozturk 13:fba77a5d0fa0 6 */
Mahir Ozturk 13:fba77a5d0fa0 7 #include <mbed.h>
Mahir Ozturk 13:fba77a5d0fa0 8 #include "max113xx_pixi_app.h"
Mahir Ozturk 13:fba77a5d0fa0 9 #include "MAX113XX_Pixi.h"
Mahir Ozturk 13:fba77a5d0fa0 10 #include "MAX11301Hex.h"
Mahir Ozturk 13:fba77a5d0fa0 11
Mahir Ozturk 13:fba77a5d0fa0 12 #define MAX113XX_DATA_READ_PERIOD_MSEC 2000
Mahir Ozturk 13:fba77a5d0fa0 13 #define MAX113XX_I2C_ADDRESS 0x38
Mahir Ozturk 13:fba77a5d0fa0 14
Mahir Ozturk 13:fba77a5d0fa0 15 void max11301_reader_task(struct max11301_reader_task_args *args)
Mahir Ozturk 13:fba77a5d0fa0 16 {
Mahir Ozturk 13:fba77a5d0fa0 17 uint16_t adcData;
Mahir Ozturk 13:fba77a5d0fa0 18 float adcVoltage;
Mahir Ozturk 13:fba77a5d0fa0 19
Mahir Ozturk 13:fba77a5d0fa0 20 MAX113XX_I2C pixi(args->i2cBus, MAX113XX_I2C::MAX11301, MAX113XX_I2C_ADDRESS, P5_5);
Mahir Ozturk 13:fba77a5d0fa0 21
Mahir Ozturk 13:fba77a5d0fa0 22 pixi.dacWrite(MAX113XX_Pixi::PORT0, 0x000); // Pixi PORT0 is -5V
Mahir Ozturk 13:fba77a5d0fa0 23 pixi.dacWrite(MAX113XX_Pixi::PORT1, 0xFFF); // Pixi PORT1 is +5V
Mahir Ozturk 13:fba77a5d0fa0 24
Mahir Ozturk 13:fba77a5d0fa0 25 printf("Starting MAX11301 PIXI ADC Demo Application...\r\n");
Mahir Ozturk 13:fba77a5d0fa0 26
Mahir Ozturk 13:fba77a5d0fa0 27 while (1) {
Mahir Ozturk 13:fba77a5d0fa0 28 pixi.singleEndedADCRead(MAX113XX_Pixi::PORT9, adcData); // Read value from PORT9
Mahir Ozturk 13:fba77a5d0fa0 29 adcVoltage = -5 + 2.442e-3 * adcData; // Convert ADC val. to a voltage
Mahir Ozturk 13:fba77a5d0fa0 30
Mahir Ozturk 13:fba77a5d0fa0 31 printf("ADC Read is : %i,\tVoltage is %1.3f V \r\n", adcData, adcVoltage);
Mahir Ozturk 13:fba77a5d0fa0 32
Mahir Ozturk 13:fba77a5d0fa0 33 bleGattAttrWrite(args->gatt, (uint8_t *)&adcVoltage, sizeof(adcVoltage));
Mahir Ozturk 13:fba77a5d0fa0 34
Mahir Ozturk 13:fba77a5d0fa0 35 Thread::wait(args->notify_period_sec * 1000);
Mahir Ozturk 13:fba77a5d0fa0 36 }
Mahir Ozturk 13:fba77a5d0fa0 37 }
Mahir Ozturk 13:fba77a5d0fa0 38