Skip to content

Commit

Permalink
Run pylint and black
Browse files Browse the repository at this point in the history
  • Loading branch information
mcauser committed Feb 4, 2024
1 parent 0cf03f2 commit b1977f2
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 44 deletions.
2 changes: 1 addition & 1 deletion examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
["xl9535_relay/examples/detailed.py", "github:mcauser/micropython-xl9535-kxv5-relay/examples/xl9535_relay_detailed.py"]
],
"deps": [],
"version": "1.0.0"
"version": "1.0.1"
}
8 changes: 4 additions & 4 deletions examples/xl9535_relay_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@

# toggle A0 a few times
for _ in range(5):
board.relay(0, True)
time.sleep_ms(200)
board.relay(0, False)
time.sleep_ms(200)
board.relay(0, True)
time.sleep_ms(200)
board.relay(0, False)
time.sleep_ms(200)


# turn all relays on
Expand Down
4 changes: 2 additions & 2 deletions examples/xl9535_relay_circuits.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
board.init()

# turn all relays on
board.relays(0xffff)
board.relays(0xFFFF)

# turn all circuits on
board.circuits(0xffff)
board.circuits(0xFFFF)

# turn circuit A0 off
board.circuit(0, False)
Expand Down
6 changes: 3 additions & 3 deletions examples/xl9535_relay_cycle.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@

# turn all relays on, one-by-one
for i in range(16):
board.relays(1 << i)
time.sleep_ms(200)
board.relays(1 << i)
time.sleep_ms(200)

# turn all on
board.relays(0xffff)
board.relays(0xFFFF)
time.sleep_ms(1000)

# turn all off
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
["xl9535_relay/__init__.py", "github:mcauser/micropython-xl9535-kxv5-relay/src/xl9535_relay.py"]
],
"deps": [],
"version": "1.0.0"
"version": "1.0.1"
}
63 changes: 30 additions & 33 deletions src/xl9535_relay.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* XL9535-K16V5
"""

__version__ = '1.0.0'
__version__ = "1.0.1"

# registers
# XL9535_INPUT_PORT0 = const(0x00)
Expand All @@ -25,6 +25,7 @@
XL9535_CONFIG_PORT0 = const(0x06)
# XL9535_CONFIG_PORT1 = const(0x07)


class XL9535_KXV5:
def __init__(self, i2c, address=0x20):
self._i2c = i2c
Expand All @@ -34,7 +35,7 @@ def __init__(self, i2c, address=0x20):

def check(self):
if self._i2c.scan().count(self._address) == 0:
raise OSError(f'XL9535 not found at I2C address {self._address:#x}')
raise OSError(f"XL9535 not found at I2C address {self._address:#x}")
return True

def init(self):
Expand All @@ -55,62 +56,58 @@ def init(self):

# get/set a single relay
def relay(self, num, value=None):
assert 0 <= num <= 15, 'num should be in range 0-15'
assert 0 <= num <= 15, "num should be in range 0-15"
p = num // 8
b = 1 << (num % 8)
self._i2c.readfrom_mem_into(self._address, XL9535_OUTPUT_PORT0, self._buf2)
if value is None:
# get relay status
return self._buf2[p] & b == b
else:
# set relay status
self._buf2[p] &= ~b # unset bit
if value:
self._buf2[p] |= b # reset bit
self._i2c.writeto_mem(self._address, XL9535_OUTPUT_PORT0, self._buf2)
# set relay status
self._buf2[p] &= ~b # unset bit
if value:
self._buf2[p] |= b # reset bit
self._i2c.writeto_mem(self._address, XL9535_OUTPUT_PORT0, self._buf2)

# get/set a single circuit
def circuit(self, num, value=None):
assert 0 <= num <= 15, 'num should be in range 0-15'
assert 0 <= num <= 15, "num should be in range 0-15"
p = num // 8
b = 1 << (num % 8)
self._i2c.readfrom_mem_into(self._address, XL9535_CONFIG_PORT0, self._buf2)
self._buf2[0] ^= 0xff
self._buf2[1] ^= 0xff
self._buf2[0] ^= 0xFF
self._buf2[1] ^= 0xFF
if value is None:
# get circuit status
return self._buf2[p] & b == b
else:
# set circuit status
self._buf2[p] &= ~b # unset bit
if value:
self._buf2[p] |= b # reset bit
self._buf2[0] ^= 0xff
self._buf2[1] ^= 0xff
self._i2c.writeto_mem(self._address, XL9535_CONFIG_PORT0, self._buf2)
# set circuit status
self._buf2[p] &= ~b # unset bit
if value:
self._buf2[p] |= b # reset bit
self._buf2[0] ^= 0xFF
self._buf2[1] ^= 0xFF
self._i2c.writeto_mem(self._address, XL9535_CONFIG_PORT0, self._buf2)

# get/set all relays
def relays(self, value=None):
self._i2c.readfrom_mem_into(self._address, XL9535_OUTPUT_PORT0, self._buf2)
if value is None:
# get all relays
return (self._buf2[1] << 8) | self._buf2[0]
else:
# set all relays
assert 0 <= value <= 65535, 'value should be in range 0-65535'
self._buf2[0] = value
self._buf2[1] = value >> 8
self._i2c.writeto_mem(self._address, XL9535_OUTPUT_PORT0, self._buf2)
# set all relays
assert 0 <= value <= 65535, "value should be in range 0-65535"
self._buf2[0] = value
self._buf2[1] = value >> 8
self._i2c.writeto_mem(self._address, XL9535_OUTPUT_PORT0, self._buf2)

# get/set all circuits
def circuits(self, value=None):
self._i2c.readfrom_mem_into(self._address, XL9535_CONFIG_PORT0, self._buf2)
if value is None:
# get all circuits
return ((self._buf2[1] << 8) | self._buf2[0]) ^ 0xffff
else:
# set all circuits
assert 0 <= value <= 65535, 'value should be in range 0-65535'
self._buf2[0] = value ^ 0xff
self._buf2[1] = (value >> 8) ^ 0xff
self._i2c.writeto_mem(self._address, XL9535_CONFIG_PORT0, self._buf2)
return ((self._buf2[1] << 8) | self._buf2[0]) ^ 0xFFFF
# set all circuits
assert 0 <= value <= 65535, "value should be in range 0-65535"
self._buf2[0] = value ^ 0xFF
self._buf2[1] = (value >> 8) ^ 0xFF
self._i2c.writeto_mem(self._address, XL9535_CONFIG_PORT0, self._buf2)

0 comments on commit b1977f2

Please sign in to comment.