Code supports writing to the SD card as well as working with the Volckens group smartphone apps for the mbed HRM1017

Dependencies:   ADS1115 BLE_API BME280 Calibration CronoDot EEPROM LSM303 MCP40D17 NCP5623BMUTBG SDFileSystem SI1145 STC3100 mbed nRF51822

Fork of UPAS_BLE_and_USB by Volckens Group Sensors

Committer:
caseyquinn
Date:
Sun May 03 13:23:35 2015 +0000
Revision:
2:e596e685eb39
Parent:
1:37babeb68ab9
Child:
3:2d059d88582b
5 seconds between logging, append to file, and saving ADS1115 data

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caseyquinn 0:14d46ef4b6cb 1 #include "mbed.h"
caseyquinn 0:14d46ef4b6cb 2 #include "SDFileSystem.h"
caseyquinn 0:14d46ef4b6cb 3 #include "Adafruit_ADS1015.h"
caseyquinn 1:37babeb68ab9 4 #include "MCP40D17.h"
caseyquinn 1:37babeb68ab9 5
caseyquinn 1:37babeb68ab9 6 #define SERIAL_BAUD_RATE 9600
caseyquinn 0:14d46ef4b6cb 7
caseyquinn 0:14d46ef4b6cb 8 I2C i2c(p22, p20);
caseyquinn 0:14d46ef4b6cb 9 Adafruit_ADS1115 ads(&i2c);
caseyquinn 1:37babeb68ab9 10 MCP40D17 DigPot(&i2c);
caseyquinn 2:e596e685eb39 11 Serial pc(USBTX, USBRX);
caseyquinn 1:37babeb68ab9 12 DigitalOut blower(p29, 1);
caseyquinn 0:14d46ef4b6cb 13
caseyquinn 0:14d46ef4b6cb 14 int omronReading;
caseyquinn 0:14d46ef4b6cb 15 int vInReading;
caseyquinn 0:14d46ef4b6cb 16 int vBlowerReading;
caseyquinn 0:14d46ef4b6cb 17 int omronDiff;
caseyquinn 1:37babeb68ab9 18 int digital_pot_setpoint = 0x3D; //min = 0x7F, max = 0x00
caseyquinn 2:e596e685eb39 19 //char filename[] = "/sd/AMSLOG00.txt";
caseyquinn 2:e596e685eb39 20
caseyquinn 2:e596e685eb39 21 //SDFileSystem sd(p12, p13, p15, p14, "sd");
caseyquinn 0:14d46ef4b6cb 22 SDFileSystem sd(SPIS_PSELMOSI, SPIS_PSELMISO, SPIS_PSELSCK, SPIS_PSELSS, "sd"); // I believe this matches Todd's pinout, let me know if this doesn't work. (p12, p13, p15, p14)
caseyquinn 2:e596e685eb39 23
caseyquinn 0:14d46ef4b6cb 24 int main()
caseyquinn 0:14d46ef4b6cb 25 {
caseyquinn 2:e596e685eb39 26
caseyquinn 2:e596e685eb39 27 // create a new file
caseyquinn 2:e596e685eb39 28
caseyquinn 2:e596e685eb39 29 /* for (uint8_t i = 0; i < 100; i++) {
caseyquinn 2:e596e685eb39 30 filename[6] = i/10 + '0';
caseyquinn 2:e596e685eb39 31 filename[7] = i%10 + '0';
caseyquinn 2:e596e685eb39 32 FILE *fp = fopen(filename, "r");
caseyquinn 2:e596e685eb39 33 if (fp == NULL) {
caseyquinn 2:e596e685eb39 34 // only open a new file if it doesn't exist
caseyquinn 2:e596e685eb39 35 FILE *fp = fopen(filename, "w");
caseyquinn 2:e596e685eb39 36 fclose(fp);
caseyquinn 2:e596e685eb39 37 break; // leave the loop!
caseyquinn 2:e596e685eb39 38 }
caseyquinn 2:e596e685eb39 39
caseyquinn 2:e596e685eb39 40
caseyquinn 2:e596e685eb39 41 }
caseyquinn 2:e596e685eb39 42 */
caseyquinn 1:37babeb68ab9 43
caseyquinn 0:14d46ef4b6cb 44 while(1){
caseyquinn 2:e596e685eb39 45
caseyquinn 0:14d46ef4b6cb 46 omronReading = ads.readADC_SingleEnded(0, 0xC583); // read channel 0
caseyquinn 2:e596e685eb39 47 pc.printf("Omron Reading: %d\r\n", omronReading); // print reading
caseyquinn 0:14d46ef4b6cb 48 vInReading = ads.readADC_SingleEnded(1, 0xD583); // read channel 0
caseyquinn 0:14d46ef4b6cb 49 vBlowerReading = ads.readADC_SingleEnded(2, 0xE783); // read channel 0
caseyquinn 0:14d46ef4b6cb 50 omronDiff = ads.readADC_Differential(0x8583); // differential channel 2-3
caseyquinn 2:e596e685eb39 51
caseyquinn 2:e596e685eb39 52 //Mount the filesystem
caseyquinn 2:e596e685eb39 53 sd.mount();
caseyquinn 2:e596e685eb39 54 FILE *fp = fopen("/sd/sdtest.txt", "a");
caseyquinn 2:e596e685eb39 55 fprintf(fp, "%d,%d,%d,%d\r\n", omronReading,vInReading, vBlowerReading, omronDiff);
caseyquinn 2:e596e685eb39 56 //fprintf(fp, "wff\r\n");
caseyquinn 2:e596e685eb39 57 fclose(fp);
caseyquinn 2:e596e685eb39 58 //Unmount the filesystem
caseyquinn 2:e596e685eb39 59 sd.unmount();
caseyquinn 2:e596e685eb39 60
caseyquinn 2:e596e685eb39 61 wait(5);
caseyquinn 2:e596e685eb39 62
caseyquinn 2:e596e685eb39 63 DigPot.writeRegister(digital_pot_setpoint);
caseyquinn 2:e596e685eb39 64
caseyquinn 2:e596e685eb39 65
caseyquinn 0:14d46ef4b6cb 66 }
caseyquinn 0:14d46ef4b6cb 67 }
caseyquinn 0:14d46ef4b6cb 68
caseyquinn 0:14d46ef4b6cb 69
caseyquinn 0:14d46ef4b6cb 70