Simple demo for exercising the board
Dependencies: MAX11300 MAX4822 OneWire Terminal ds3231 mbed
Diff: main.cpp
- Revision:
- 10:5c9242143a30
- Parent:
- 9:a5fd406b24a6
- Child:
- 11:fe03fb61fb08
--- a/main.cpp Fri Dec 02 19:32:39 2016 +0000 +++ b/main.cpp Mon Mar 06 23:17:57 2017 +0000 @@ -75,7 +75,7 @@ for(uint8_t idx = 0; idx < 3; idx++) { pixi.gpio_write(static_cast<MAX11300::MAX11300_Ports>(idx + 9), 1); - wait_ms(100); + wait_ms(200); pixi.gpio_write(static_cast<MAX11300::MAX11300_Ports>(idx + 9), 0); } @@ -86,13 +86,17 @@ DS2484 owm(i2c_bus); OneWireMaster::CmdResult owm_result = owm.OWInitMaster(); - while(owm_result != OneWireMaster::Success) + if(owm_result != OneWireMaster::Success) { - wait_ms(100); + //wait_ms(100); term.printf("Failed to initialize OneWire master\n"); - owm_result = owm.OWInitMaster(); + //owm_result = owm.OWInitMaster(); } - term.printf("OneWire master initialized\n\n"); + else + { + term.printf("OneWire master initialized\n\n"); + } + float aio_slope = 0; float aio_offset = 0; @@ -415,17 +419,10 @@ { //print the rom number term.printf("\n"); - int8_t idx = (RomId::byteLen - 1); + int8_t idx = 7; do { - if(romId[idx] < 16) - { - term.printf("0x0%x ", romId[idx--]); - } - else - { - term.printf("0x%2x ", romId[idx--]); - } + term.printf("0x%02x ", romId.buffer[idx--]); } while(idx >= 0); term.printf("\n"); @@ -457,6 +454,7 @@ do { + printf("aio_4mA = %d\n", aio_4mA); pixi.single_ended_dac_write(MAX11300::PORT8, aio_4mA); user_entry = term.get_char("increase (i), decrease (d), quit (q) when DMM = 4mA: ", 'd', 'q'); @@ -543,22 +541,21 @@ if(result == OneWireMaster::Success) { eeprom.setRomId(search_state.romId); - - OneWireSlave::CmdResult slaveResult = eeprom.writeMemory(0, "CalTrue!", 8); + DS2431::Scratchpad scratchPadBuf = {'C','a','l','T','r','u','e','!'}; + OneWireSlave::CmdResult slaveResult = eeprom.writeMemory(0, scratchPadBuf); if(slaveResult == OneWireSlave::Success) { - uint8_t writeCalData[8]; //cal data stored MSB first; - writeCalData[0] = ((aio_4mA >> 8) & 0xFF); - writeCalData[1] = (aio_4mA & 0xFF); - writeCalData[2] = ((aio_20mA >> 8) & 0xFF); - writeCalData[3] = (aio_20mA & 0xFF); - writeCalData[4] = ((aii_4mA >> 8) & 0xFF); - writeCalData[5] = (aii_4mA & 0xFF); - writeCalData[6] = ((aii_20mA >> 8) & 0xFF); - writeCalData[7] = (aii_20mA & 0xFF); + scratchPadBuf[0] = ((aio_4mA >> 8) & 0xFF); + scratchPadBuf[1] = (aio_4mA & 0xFF); + scratchPadBuf[2] = ((aio_20mA >> 8) & 0xFF); + scratchPadBuf[3] = (aio_20mA & 0xFF); + scratchPadBuf[4] = ((aii_4mA >> 8) & 0xFF); + scratchPadBuf[5] = (aii_4mA & 0xFF); + scratchPadBuf[6] = ((aii_20mA >> 8) & 0xFF); + scratchPadBuf[7] = (aii_20mA & 0xFF); - slaveResult = eeprom.writeMemory(8, writeCalData, 8); + slaveResult = eeprom.writeMemory(8, scratchPadBuf); if(slaveResult == OneWireSlave::Success) { rtn_val = true; @@ -730,11 +727,11 @@ eeprom.setRomId(search_state.romId); uint8_t temp_data[8]; - OneWireSlave::CmdResult slaveResult = eeprom.readMemory(0, temp_data, 8); + OneWireSlave::CmdResult slaveResult = eeprom.readMemory(0, 8, temp_data); if((temp_data[0] == 'C') && (slaveResult == OneWireSlave::Success)) { - slaveResult = eeprom.readMemory(8, temp_data, 8); + slaveResult = eeprom.readMemory(8, 8, temp_data); if(slaveResult == OneWireSlave::Success) { calData[0] = ((temp_data[0] << 8) | temp_data[1]);