API

EEPROM

I2C EEPROM driver for AT24Cxx

EEPROM data sheet: https://ww1.microchip.com/downloads/en/DeviceDoc/doc0336.pdf

MIT License Copyright (c) 2018 Mike Causer Extended 2023 by brainelectronics

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

class eeprom.eeprom.EEPROM(addr: int = 80, pages: int = 128, bpp: int = 32, i2c: None = None, at24x: int = 0)[source]

Bases: object

Driver for AT24Cxx I2C EEPROM

property addr: int

Get the EEPROM I2C bus address

Returns

EEPROM I2C bus address

Return type

int

property bpp: int

Get the bytes per page of the EEPROM

Returns

Bytes per pages of the EEPROM

Return type

int

property capacity: int

Get the storage capacity of the EEPROM

Returns

EEPROM capacity of the EEPROM in bytes

Return type

int

length() int[source]

Get the EEPROM length

Returns

Number of cells in the EEPROM

Return type

int

property pages: int

Get the number of EEPROM pages

Returns

Number of pages of the EEPROM

Return type

int

print_pages(addr: int, nbytes: int) None[source]

Print pages content with boundaries.

Parameters
  • addr (int) – The start address

  • nbytes (int) – The number of bytes to read

read(addr: int, nbytes: int = 1) bytes[source]

Read bytes from the EEPROM

Parameters
  • addr (int) – The start address

  • nbytes (int) – The number of bytes to read

Returns

Data of EEPROM

Return type

bytes

update(addr: int, buf: None) None[source]

Update data in EEPROM

Parameters
  • addr (int) – The start address

  • buf (Union[bytes, List[int], str]) – The buffer to write to the EEPROM

wipe() None[source]

Wipe the complete EEPROM

write(addr: int, buf: None) None[source]

Write data to the EEPROM

Parameters
  • addr (int) – The start address

  • buf (Union[bytes, List[int], str]) – The buffer to write to the EEPROM