diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.cpp b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.cpp index 798bafd..ff8b56b 100644 --- a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.cpp +++ b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.cpp @@ -10,7 +10,7 @@ void pP_i2c::i2cInput(int bytesReceived) { cmdRcvd[a] = Wire.receive(); } else { - Wire.receive(); + longRcvd[a] = Wire.receive(); } } if (bytesReceived == 1 && (cmdRcvd[0] < regMapSize)) { @@ -46,7 +46,7 @@ void pP_i2c::i2cInput(int bytesReceived) { return; break; case 0x06: - voltMeterConstant = (uint8_t) cmdRcvd[1]; + voltMeterConstant = longRcvd[0]*65536+longRcvd[1]*256+longRcvd[2]; return; break; default: diff --git a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.h b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.h index 07e3faa..20c5611 100644 --- a/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.h +++ b/firmware/AVR-Source/Pyr0_Piezo_Sensor_v2.x.x/pP_i2c.h @@ -16,10 +16,12 @@ /*-------------------------Variables------------------------*/ #define regMapSize 7 -#define maxBytes 3 +#define maxBytes 2 +#define longBytes 4 byte regMap[regMapSize]; byte regMapTemp[regMapSize]; byte cmdRcvd[maxBytes]; +byte longRcvd[longBytes]; /*------------------------------------------------*/