@@ -65,10 +65,32 @@ void EPROMStore::updateInt16(int loByteAddr, int hiByteAddr, int16_t value)
65
65
66
66
int16_t EPROMStore::readInt16 (int loByteAddr, int hiByteAddr)
67
67
{
68
- uint8_t valLo= EPROMStore::read (loByteAddr);
69
- uint8_t valHi= EPROMStore::read (hiByteAddr);
68
+ uint8_t valLo = EPROMStore::read (loByteAddr);
69
+ uint8_t valHi = EPROMStore::read (hiByteAddr);
70
70
uint16_t uValue = (uint16_t )valLo + (uint16_t )valHi * 256 ;
71
71
int16_t value = static_cast <int16_t >(uValue);
72
72
// LOGV4(DEBUG_VERBOSE, F("EEPROM: Read16 %d from %d, %d"), value, loByteAddr, hiByteAddr);
73
73
return value;
74
74
}
75
+
76
+ void EPROMStore::updateInt32 (int lowestByteAddr, int32_t value)
77
+ {
78
+ LOGV4 (DEBUG_VERBOSE, F (" EEPROM: Writing32 %l to %d-%d" ), value, lowestByteAddr, lowestByteAddr + 3 );
79
+ update (lowestByteAddr, value & 0x00FF );
80
+ update (lowestByteAddr + 1 , (value >> 8 ) & 0x00FF );
81
+ update (lowestByteAddr + 2 , (value >> 16 ) & 0x00FF );
82
+ update (lowestByteAddr + 3 , (value >> 24 ) & 0x00FF );
83
+ }
84
+
85
+ int32_t EPROMStore::readInt32 (int lowestByteAddr)
86
+ {
87
+ uint8_t val1 = EPROMStore::read (lowestByteAddr);
88
+ uint8_t val2 = EPROMStore::read (lowestByteAddr + 1 );
89
+ uint8_t val3 = EPROMStore::read (lowestByteAddr + 2 );
90
+ uint8_t val4 = EPROMStore::read (lowestByteAddr + 3 );
91
+ LOGV5 (DEBUG_INFO, F (" EEPROM: Read32 read these bytes: %x %x %x %x" ), val1, val2, val3, val4);
92
+ uint32_t uValue = (uint32_t )val1 + (uint32_t )val2 * 256 + (uint32_t )val3 * 256 * 256 + (uint32_t )val4 * 256 * 256 * 256 ;
93
+ int32_t value = static_cast <int32_t >(uValue);
94
+ LOGV4 (DEBUG_INFO, F (" EEPROM: Read32 which is %l from %d-%d" ), value, lowestByteAddr, lowestByteAddr + 3 );
95
+ return value;
96
+ }
0 commit comments