https://github.com/olewolf/arduino-max31865

Dependencies:   max31865 mbed

Revision:
2:19d0fb7468ba
Parent:
1:58b6efe82b46
--- a/main.cpp	Wed Jan 27 14:50:17 2016 +0000
+++ b/main.cpp	Sun Aug 14 05:11:52 2016 +0000
@@ -1,47 +1,42 @@
 #include "mbed.h"
-
-InterruptIn event(USER_BUTTON);
-DigitalOut myled(LED1);
-Serial pc(SERIAL_TX, SERIAL_RX);
-
-int go_to_sleep = 0;
+#include "MAX31865.h"
 
-void pressed()
-{
-    pc.printf("Button pressed\n");
-    go_to_sleep = go_to_sleep + 1;
-    if (go_to_sleep > 3) go_to_sleep = 0;
-
-}
+Serial pc(SERIAL_TX, SERIAL_RX);
+MAX31865_RTD rtd(MAX31865_RTD::RTD_PT100,D11, D12, D13, D10);
 
 int main()
 {
-    int i = 0;
-
-    pc.printf("\nPress Button to enter/exit sleep & deepsleep\n");
-
-    event.fall(&pressed);
+    // int i = 0;
+    rtd.configure( true, true, false, true, MAX31865_FAULT_DETECTION_NONE,
+                   true, true, 0x0000, 0x7fff );
 
     while (1) {
+        rtd.read_all( );
 
-        if ((go_to_sleep == 0) || (go_to_sleep == 2)) {
-            pc.printf("%d: Running\n", i);
-            myled = !myled;
-            wait(1.0);
-        }
+        if( rtd.status( ) == 0 ) {
+            double temperature1 = rtd.temperature( );
+            pc.printf( " T = %f deg C \r\n",temperature1);
 
-        if (go_to_sleep == 1) {
-            myled = 0;
-            pc.printf("%d: Entering sleep (press user button to resume)\n", i);
-            sleep();
+        } else
+        {
+            pc.printf( "RTD fault register: %d :\r\n",rtd.status( ));
+            if( rtd.status( ) & MAX31865_FAULT_HIGH_THRESHOLD ) {
+                pc.printf( "RTD high threshold exceeded\r\n" );
+            } else if( rtd.status( ) & MAX31865_FAULT_LOW_THRESHOLD ) {
+                pc.printf( "RTD low threshold exceeded\r\n" );
+            } else if( rtd.status( ) & MAX31865_FAULT_REFIN ) {
+                pc.printf( "REFIN- > 0.85 x V_BIAS\r\n" );
+            } else if( rtd.status( ) & MAX31865_FAULT_REFIN_FORCE ) {
+                pc.printf( "REFIN- < 0.85 x V_BIAS, FORCE- open\r\n" );
+            } else if( rtd.status( ) & MAX31865_FAULT_RTDIN_FORCE ) {
+                pc.printf( "RTDIN- < 0.85 x V_BIAS, FORCE- open\r\n" );
+            } else if( rtd.status( ) & MAX31865_FAULT_VOLTAGE ) {
+                pc.printf( "Overvoltage/undervoltage fault\r\n");
+            } else {
+                pc.printf( "Unknown fault; check connection\r\n" );
+            }
         }
+        wait(1);
 
-        if (go_to_sleep == 3) {
-            myled = 0;
-            pc.printf("%d: Entering deepsleep (press user button to resume)\n", i);
-            deepsleep();
-        }
-
-        i++;
     }
 }