Simple demo for exercising the board

Dependencies:   MAX11300 MAX4822 OneWire Terminal ds3231 mbed

Revision:
1:03c04017a728
Parent:
0:24b8a6f0a563
Child:
2:0c0994f70fd2
--- a/main.cpp	Fri Jul 29 06:46:54 2016 +0000
+++ b/main.cpp	Fri Jul 29 22:38:59 2016 +0000
@@ -60,7 +60,7 @@
     
     rly_drvr.reset_all_relays(rly_drvr_reset);
     
-    MAX11300 pixi(spi_bus, D8);
+    MAX11300 pixi(spi_bus, D8, NC, D9);
     
     //set all analog outs to 0
     for(uint8_t idx = 0; idx < 9; idx++)
@@ -95,9 +95,13 @@
     int32_t relay = 0;
     
     uint16_t analog_out, analog_val;
+    float aio, aii;
     
     const int32_t QUIT = 14;
     
+    MAX11300::CmdResult pixi_result;
+    MAX4822::CmdResult rly_drvr_result;
+    
     while(user_entry != QUIT)
     {
         term.printf("1. Set RTC\n");
@@ -145,11 +149,19 @@
             break;
             
             case 4:
-                rly_drvr.set_relay(static_cast<MAX4822::RelayChannel>(relay));
+                rly_drvr_result = rly_drvr.set_relay(static_cast<MAX4822::RelayChannel>(relay));
+                if(rly_drvr_result != MAX4822::Success)
+                {
+                    term.printf("Failed to set relay\n");
+                }
             break;
             
             case 5:
-                rly_drvr.reset_relay(static_cast<MAX4822::RelayChannel>(relay));
+                rly_drvr_result = rly_drvr.reset_relay(static_cast<MAX4822::RelayChannel>(relay));
+                if(rly_drvr_result != MAX4822::Success)
+                {
+                    term.printf("Failed to reset relay\n");
+                }
             break;
             
             case 6:
@@ -163,27 +175,53 @@
             break;
             
             case 8:
-                pixi.gpio_write(static_cast<MAX11300::MAX11300_Ports>(relay), 1);
+                pixi_result = pixi.gpio_write(static_cast<MAX11300::MAX11300_Ports>(relay), 1);
+                if(pixi_result != MAX11300::Success)
+                {
+                    term.printf("Failed to set relay\n");
+                }
             break;
             
             case 9:
-                pixi.gpio_write(static_cast<MAX11300::MAX11300_Ports>(relay), 0);
+                pixi_result = pixi.gpio_write(static_cast<MAX11300::MAX11300_Ports>(relay), 0);
+                if(pixi_result != MAX11300::Success)
+                {
+                    term.printf("Failed to reset relay\n");
+                }
             break;
             
             case 10:
-                analog_out = term.get_int32("Please select a 0-10V output; 0-7: ", 0, 7);
-                analog_val = term.get_int32("please select a value from 0-4095: ", 0, 4095);
-                pixi.single_ended_dac_write(static_cast<MAX11300::MAX11300_Ports>(analog_out), analog_val);
+                analog_out = (term.get_int32("Please select a 0-10V output; 1-8: ", 1, 8) - 1);
+                analog_val = term.get_int32("Please select a value from 0-4095: ", 0, 4095);
+                
+                pixi_result = pixi.single_ended_dac_write(static_cast<MAX11300::MAX11300_Ports>(analog_out), analog_val);
+                if(pixi_result != MAX11300::Success)
+                {
+                    term.printf("Failed to set 0-10 out\n");
+                }
             break;
             
             case 11:
-                analog_val = term.get_int32("please select a value from 0-4095: ", 0, 4095);
-                pixi.single_ended_dac_write(MAX11300::PORT8, analog_val);
+                analog_val = term.get_int32("Please select a value from 0-4095: ", 0, 4095);
+                
+                pixi_result = pixi.single_ended_dac_write(MAX11300::PORT8, analog_val);
+                if(pixi_result != MAX11300::Success)
+                {
+                    term.printf("Failed to set 4-20 out\n");
+                }
             break;
             
             case 12:
-                pixi.single_ended_adc_read(MAX11300::PORT12, analog_val);
-                term.printf("4-20 in = %d\n", analog_val);
+                pixi_result = pixi.single_ended_adc_read(MAX11300::PORT12, analog_val);
+                aii = ((9.7e-6 *analog_val) + 2.3e-5);
+                if(pixi_result == MAX11300::Success)
+                {
+                    term.printf("4-20 in = %.2e\n", aii);
+                }
+                else
+                {
+                    term.printf("Failed to read 4-20 in\n");
+                }
             break;
             
             case (QUIT - 1):