Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions adafruit_sen6x.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,18 +264,20 @@ def _write_command(
data: Optional list of 16-bit values to write
execution_time: Time to wait after command (seconds)
"""

buffer = struct.pack(">H", command)
with self.i2c_device as i2c:
# Write command (MSB first)
i2c.write(struct.pack(">H", command))

# Write data if provided
if data is not None:
if data is None:
i2c.write(buffer)
else:
for value in data:
# Pack 16-bit value
value_bytes = struct.pack(">H", value)
# Calculate and append CRC
crc = self._crc8(value_bytes)
i2c.write(value_bytes + bytes([crc]))
buffer += value_bytes + bytes([crc])
i2c.write(buffer)

# Wait for command execution
time.sleep(execution_time)
Expand Down