valve measurement board

Dependencies:   mbed ads1115_test SDFileSystem

Committer:
tanahashi
Date:
Sun Oct 18 13:51:47 2020 +0000
Revision:
0:cb9da8306a40
Child:
1:655abe8ab309
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tanahashi 0:cb9da8306a40 1 #include "mbed.h"
tanahashi 0:cb9da8306a40 2 #include "SDFileSystem.h"
tanahashi 0:cb9da8306a40 3
tanahashi 0:cb9da8306a40 4 #include "Adafruit_ADS1015.h"
tanahashi 0:cb9da8306a40 5
tanahashi 0:cb9da8306a40 6 #define ADS1115_ADDR 0b1001000
tanahashi 0:cb9da8306a40 7
tanahashi 0:cb9da8306a40 8 #define TEMP_LSB 0.0625f
tanahashi 0:cb9da8306a40 9
tanahashi 0:cb9da8306a40 10 //Serial pc(USBTX, USBRX, 115200);
tanahashi 0:cb9da8306a40 11
tanahashi 0:cb9da8306a40 12 I2C i2c(p9, p10);
tanahashi 0:cb9da8306a40 13
tanahashi 0:cb9da8306a40 14 Adafruit_ADS1115 ads1115(&i2c, ADS1115_ADDR);
tanahashi 0:cb9da8306a40 15
tanahashi 0:cb9da8306a40 16 SDFileSystem sd(p5, p6, p7, p8, "sd");
tanahashi 0:cb9da8306a40 17
tanahashi 0:cb9da8306a40 18 SPI TempK(p5, p6, p7);
tanahashi 0:cb9da8306a40 19
tanahashi 0:cb9da8306a40 20 DigitalOut led1(LED1);
tanahashi 0:cb9da8306a40 21
tanahashi 0:cb9da8306a40 22 DigitalOut ss1(p19);
tanahashi 0:cb9da8306a40 23 DigitalOut ss2(p20);
tanahashi 0:cb9da8306a40 24
tanahashi 0:cb9da8306a40 25 Timer timer;
tanahashi 0:cb9da8306a40 26 Timer sd_timer;
tanahashi 0:cb9da8306a40 27
tanahashi 0:cb9da8306a40 28 FILE *fp;
tanahashi 0:cb9da8306a40 29
tanahashi 0:cb9da8306a40 30 char file_name[64];
tanahashi 0:cb9da8306a40 31
tanahashi 0:cb9da8306a40 32 int press_bit1, press_bit2;
tanahashi 0:cb9da8306a40 33 float temp1, temp2;
tanahashi 0:cb9da8306a40 34
tanahashi 0:cb9da8306a40 35 int main()
tanahashi 0:cb9da8306a40 36 {
tanahashi 0:cb9da8306a40 37 timer.start();
tanahashi 0:cb9da8306a40 38 uint16_t data[2];
tanahashi 0:cb9da8306a40 39 ads1115.setGain(GAIN_TWOTHIRDS);
tanahashi 0:cb9da8306a40 40 TempK.format(16, 0);
tanahashi 0:cb9da8306a40 41 TempK.frequency(5000000);
tanahashi 0:cb9da8306a40 42
tanahashi 0:cb9da8306a40 43 char file_name_format[] = "/sd/IZU2020_VALVE_MEASUREMENT_%d.dat";
tanahashi 0:cb9da8306a40 44 int file_number = 1;
tanahashi 0:cb9da8306a40 45 while(1) {
tanahashi 0:cb9da8306a40 46 sprintf(file_name, file_name_format, file_number);
tanahashi 0:cb9da8306a40 47 fp = fopen(file_name, "r");
tanahashi 0:cb9da8306a40 48 if(fp != NULL) {
tanahashi 0:cb9da8306a40 49 fclose(fp);
tanahashi 0:cb9da8306a40 50 file_number++;
tanahashi 0:cb9da8306a40 51 } else {
tanahashi 0:cb9da8306a40 52 sprintf(file_name, file_name_format, file_number);
tanahashi 0:cb9da8306a40 53 break;
tanahashi 0:cb9da8306a40 54 }
tanahashi 0:cb9da8306a40 55 }
tanahashi 0:cb9da8306a40 56 fp = fopen(file_name, "w");
tanahashi 0:cb9da8306a40 57 sd_timer.start();
tanahashi 0:cb9da8306a40 58
tanahashi 0:cb9da8306a40 59 while(1) {
tanahashi 0:cb9da8306a40 60
tanahashi 0:cb9da8306a40 61 press_bit1 = ads1115.readADC_SingleEnded(1);
tanahashi 0:cb9da8306a40 62 press_bit2 = ads1115.readADC_SingleEnded(3);
tanahashi 0:cb9da8306a40 63
tanahashi 0:cb9da8306a40 64 ss1 = 0;
tanahashi 0:cb9da8306a40 65 data[0] = TempK.write(0x00);
tanahashi 0:cb9da8306a40 66 data[1] = TempK.write(0x00);
tanahashi 0:cb9da8306a40 67 ss1 = 1;
tanahashi 0:cb9da8306a40 68 data[0] &= 0xfffc;
tanahashi 0:cb9da8306a40 69 temp1 = (float)((int16_t)data[0]) * TEMP_LSB;
tanahashi 0:cb9da8306a40 70
tanahashi 0:cb9da8306a40 71 ss2 = 0;
tanahashi 0:cb9da8306a40 72 data[0] = TempK.write(0x00);
tanahashi 0:cb9da8306a40 73 data[1] = TempK.write(0x00);
tanahashi 0:cb9da8306a40 74 ss2 = 1;
tanahashi 0:cb9da8306a40 75 data[0] &= 0xfffc;
tanahashi 0:cb9da8306a40 76 temp2 = (float)((int16_t)data[0]) * TEMP_LSB;
tanahashi 0:cb9da8306a40 77
tanahashi 0:cb9da8306a40 78 //pc.printf("%d\t%d\t%d\t%f\t%f\r\n", timer.read_ms(), press_bit1, press_bit2, temp1, temp2);
tanahashi 0:cb9da8306a40 79 fprintf(fp, "%d\t%d\t%d\t%f\t%f\r\n", timer.read_ms(), press_bit1, press_bit2, temp1, temp2);
tanahashi 0:cb9da8306a40 80
tanahashi 0:cb9da8306a40 81 if(sd_timer.read_ms() > 20*1000) {
tanahashi 0:cb9da8306a40 82 if(fp) {
tanahashi 0:cb9da8306a40 83 fclose(fp);
tanahashi 0:cb9da8306a40 84 fp = fopen(file_name, "a");
tanahashi 0:cb9da8306a40 85 }
tanahashi 0:cb9da8306a40 86 }
tanahashi 0:cb9da8306a40 87 }
tanahashi 0:cb9da8306a40 88 }