/** * Read a single 16 bits integer */ uint16_t Eeprom::readInt(int address) { if (!isReadOk(address + sizeof(uint16_t))) return 0; return eeprom_read_word((uint16_t *) address); }
/** * Read a single 32 bits integer */ uint32_t Eeprom::readLong(int address) { if (!isReadOk(address + sizeof(uint32_t))) return 0; return eeprom_read_dword((unsigned long *) address); }
/** * Read a single byte */ uint8_t Eeprom::readByte(int address) { if (!isReadOk(address + sizeof(uint8_t))) return 0; return eeprom_read_byte((unsigned char *) address); }
bool EEPROMClassEx::readBit(int address, byte bit) { if (bit> 7) return false; if (!isReadOk(address+sizeof(uint8_t))) return false; byte byteVal = eeprom_read_byte((unsigned char *) address); byte bytePos = (1 << bit); return (byteVal & bytePos); }
double EEPROMClassEx::readDouble(int address) { if (!isReadOk(address+sizeof(double))) return 0; double _value; readBlock<double>(address, _value); return _value; }
float EEPROMClassEx::readFloat(int address) { if (!isReadOk(address+sizeof(float))) return 0; float _value; readBlock<float>(address, _value); return _value; }
/** * Read a single bit */ bool Eeprom::readBit(int address, uint8_t bit) { if (bit > 7) return false; if (!isReadOk(address+sizeof(uint8_t))) return false; uint8_t byteVal = eeprom_read_byte((unsigned char *) address); uint8_t bytePos = (1 << bit); return (byteVal & bytePos); }
uint16_t EEPROMClassEx::readInt(int address) { if (!isReadOk(address+sizeof(uint16_t))) return 0; return eeprom_read_word((unsigned int *) address); }