diff --git a/adafruit_24lc32.py b/adafruit_24lc32.py index 30d57ea..5bdc007 100644 --- a/adafruit_24lc32.py +++ b/adafruit_24lc32.py @@ -177,8 +177,8 @@ def __setitem__( address, self._max_size ) ) - - self._write(address, value, self._wraparound) + if self[address] != bytearray([value]): + self._write(address, value, self._wraparound) elif isinstance(address, slice): if not isinstance(value, (bytes, bytearray, list, tuple)): @@ -200,8 +200,8 @@ def __setitem__( raise ValueError( "Cannot set values with a list smaller than the number of indexes" ) - - self._write(address.start, value, self._wraparound) + if self[address] != bytes(value): + self._write(address.start, value, self._wraparound) def _read_address(self, address: int, read_buffer: bytearray) -> bytearray: # Implemented by subclass