Simple demo for exercising the board
Dependencies: MAX11300 MAX4822 OneWire Terminal ds3231 mbed
Diff: main.cpp
- 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):