Seth Ruiter / Mbed 2 deprecated bouke

Dependencies:   MODSERIAL SDFileSystemSeth mbed

Fork of Opstellingbachelor_opdracht by Claudia Haarman

Revision:
8:1326141017ea
Parent:
7:9f9ea047975d
Child:
9:d9ba61ce7a29
--- a/main.cpp	Mon Oct 10 14:25:22 2016 +0000
+++ b/main.cpp	Tue Oct 11 14:07:58 2016 +0000
@@ -8,17 +8,13 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 // Thermocouple pin declarations
-DigitalOut SCK_1(D0);       // sck pin of thermocouples
-DigitalOut CS_1(D1);        // chip select pin of thermocouples
+DigitalOut SCK_1(PTD1);       // sck pin of thermocouples
+DigitalOut CS_1(PTE25);        // chip select pin of thermocouples
 
 
 //DigitalIn pins[12]={D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13};        //thermocouples 1 - 12 select corresponding pin numbers mbed
-DigitalIn pins[1]={D2};        //thermocouple 1 select corresponding pin numbers mbed
-
+DigitalIn pins[3]={D2, D3, D4};        //thermocouple select corresponding pin numbers mbed
 
-float d;
-//int16_t b[12] = { };
-int16_t b[1];
 
 // Torque sensor
 AnalogIn fcs(PTB2);     // force sensor output connected to analog 0
@@ -38,7 +34,7 @@
 Ticker tick;
 
 const int baudrate = 115200;      // baud rate
-const float Ts = 0.1;            // sample time (sec)
+const float Ts = 0.25;            // sample time (sec)
 
 const int led_on = 0;
 const int led_off = 1;
@@ -82,15 +78,19 @@
     //uses MAX31855 chip
     //see https://datasheets.maximintegrated.com/en/ds/MAX31855.pdf for documentation
     
+    
+    float d = 0;
+    int16_t b[3] = {0,0,0};
+
     CS_1 = 0;       //Active-Low Chip Select. Set CS low to enable the serial interface.
-    wait_ms(70);    //wait 70 ms for chip to be ready
-
+    wait_us(0.2);
+    
     for (int i = 15; i >= 0; i--) {
         SCK_1 = 0;                      //set clock value to 0
-        wait_ms(0.1);                   //wait for 100ns
+        wait_us(0.1);                   //wait for 100ns
         SCK_1 = 1;                      //then set clock high again
-        wait_ms(0.1);                   //wait for 100ns
-        for (int j = 0; j < 1; j++) { //read out bits for each thermocouple (0 to 11)
+        wait_us(0.1);                   //wait for 100ns
+        for (int j = 0; j < 3; j++) { //read out bits for each thermocouple (0 to 11)
             if (pins[j]) {
                 b[j] |= (1 << i);       //bitshift
             }
@@ -99,16 +99,17 @@
     
     CS_1 = 1;
     
-    for (int j = 0; j < 1; j++) {     //for every thermocouple (starting from 0 to 11, so 12 in total)
+    for (int j = 0; j < 3; j++) {     //for every thermocouple (starting from 0 to 11, so 12 in total)
         if (b[j] & 0x1) {               //b[j] contains the bits that are received from every chip. if least significant bit is 1, then open circuit.
             b[j] = 20000;
         } else {
             b[j] &= 0xfffc;             //if no fault then select 14 bit thermocouple data from bitstring
             d = b[j] / 16.0;
         }
-        fprintf(fp, "%.3f \n\r", d);
-        pc.printf("%.3f \n\r", d);
+        //fprintf(fp, "%.3f \n\r", d);
+        pc.printf("%.3f\t", d);
     }
+    pc.printf("\n\r");
     //fprintf(fp, "\n\r");
     return;
 
@@ -118,7 +119,7 @@
 {
     if(meas){                                   // alleen data uitlezen en opslaan als meas = 1
         fcs_read = fcs.read();                  // capture torque sensor data   
-        fprintf(fp, "%.3f\t", fcs_read);        // output data to file
+        //fprintf(fp, "%.3f\t", fcs_read);        // output data to file
         pc.printf("%.3f\t", fcs_read);          // output data to screen
         readTC();                               // call function to read thermocouple data    
     }
@@ -135,7 +136,7 @@
     pc.baud(baudrate);
     tick.attach(&fn1_activate,Ts);
     led_control(led_off,led_off,led_off);   // start with LEDs off
-
+    
     while (1) {
         if(fn1_go) {                        // statements to execute when go-flag is active
             fn1_go = 0;