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
main.cpp@0:14d46ef4b6cb, 2015-05-01 (annotated)
- Committer:
- caseyquinn
- Date:
- Fri May 01 04:47:24 2015 +0000
- Revision:
- 0:14d46ef4b6cb
- Child:
- 1:37babeb68ab9
UPAS SD Card and ADS1115
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:14d46ef4b6cb | 4 | |
caseyquinn | 0:14d46ef4b6cb | 5 | I2C i2c(p22, p20); |
caseyquinn | 0:14d46ef4b6cb | 6 | Adafruit_ADS1115 ads(&i2c); |
caseyquinn | 0:14d46ef4b6cb | 7 | DigitalOut blower(p29, 0); |
caseyquinn | 0:14d46ef4b6cb | 8 | |
caseyquinn | 0:14d46ef4b6cb | 9 | int omronReading; |
caseyquinn | 0:14d46ef4b6cb | 10 | int vInReading; |
caseyquinn | 0:14d46ef4b6cb | 11 | int vBlowerReading; |
caseyquinn | 0:14d46ef4b6cb | 12 | int omronDiff; |
caseyquinn | 0:14d46ef4b6cb | 13 | |
caseyquinn | 0:14d46ef4b6cb | 14 | //Create an SDFileSystem object |
caseyquinn | 0:14d46ef4b6cb | 15 | 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 | 0:14d46ef4b6cb | 16 | |
caseyquinn | 0:14d46ef4b6cb | 17 | |
caseyquinn | 0:14d46ef4b6cb | 18 | int main() |
caseyquinn | 0:14d46ef4b6cb | 19 | { |
caseyquinn | 0:14d46ef4b6cb | 20 | |
caseyquinn | 0:14d46ef4b6cb | 21 | |
caseyquinn | 0:14d46ef4b6cb | 22 | while(1){ |
caseyquinn | 0:14d46ef4b6cb | 23 | |
caseyquinn | 0:14d46ef4b6cb | 24 | omronReading = ads.readADC_SingleEnded(0, 0xC583); // read channel 0 |
caseyquinn | 0:14d46ef4b6cb | 25 | vInReading = ads.readADC_SingleEnded(1, 0xD583); // read channel 0 |
caseyquinn | 0:14d46ef4b6cb | 26 | vBlowerReading = ads.readADC_SingleEnded(2, 0xE783); // read channel 0 |
caseyquinn | 0:14d46ef4b6cb | 27 | omronDiff = ads.readADC_Differential(0x8583); // differential channel 2-3 |
caseyquinn | 0:14d46ef4b6cb | 28 | |
caseyquinn | 0:14d46ef4b6cb | 29 | //Mount the filesystem |
caseyquinn | 0:14d46ef4b6cb | 30 | sd.mount(); |
caseyquinn | 0:14d46ef4b6cb | 31 | //Perform a write test |
caseyquinn | 0:14d46ef4b6cb | 32 | FILE *fp = fopen("/sd/sdtest.txt", "w"); |
caseyquinn | 0:14d46ef4b6cb | 33 | fprintf(fp, "%d,%d,%d,%d\r\n", omronReading,vInReading, vBlowerReading, omronDiff); |
caseyquinn | 0:14d46ef4b6cb | 34 | fclose(fp); |
caseyquinn | 0:14d46ef4b6cb | 35 | |
caseyquinn | 0:14d46ef4b6cb | 36 | |
caseyquinn | 0:14d46ef4b6cb | 37 | //Unmount the filesystem |
caseyquinn | 0:14d46ef4b6cb | 38 | sd.unmount(); |
caseyquinn | 0:14d46ef4b6cb | 39 | wait(5); |
caseyquinn | 0:14d46ef4b6cb | 40 | } |
caseyquinn | 0:14d46ef4b6cb | 41 | } |
caseyquinn | 0:14d46ef4b6cb | 42 | |
caseyquinn | 0:14d46ef4b6cb | 43 | |
caseyquinn | 0:14d46ef4b6cb | 44 |