From 1c11a83eefe75f219ba18bcc79ca6b0343fd12f0 Mon Sep 17 00:00:00 2001 From: foamyguy Date: Thu, 5 Dec 2024 11:20:32 -0600 Subject: [PATCH] only write if values differ --- adafruit_24lc32.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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