QA: Lint MicroPython modules.

pull/1075/head
Phil Howard 2025-04-25 17:02:02 +01:00
rodzic 42da5174bb
commit c7461571ac
5 zmienionych plików z 51 dodań i 46 usunięć

Wyświetl plik

@ -145,6 +145,7 @@ class Automation2040W():
return self.__relays[relay].value()
self.__relays[relay].value(actuate)
return None
def actuate_relay(self, relay):
if relay < 0 or relay >= self.NUM_RELAYS:
@ -172,7 +173,7 @@ class Automation2040W():
try:
if value >= 0.0 and value <= 100.0:
self.__outputs[output].duty_u16(int((value / 100.0) * 65535))
return
return None
except TypeError:
pass
@ -338,6 +339,7 @@ class Automation2040WMini():
return self.__relay.value()
self.__relay.value(actuate)
return None
def actuate_relay(self):
self.__relay.on()
@ -361,7 +363,7 @@ class Automation2040WMini():
try:
if value >= 0.0 and value <= 100.0:
self.__outputs[output].duty_u16(int((value / 100.0) * 65535))
return
return None
except TypeError:
pass

Wyświetl plik

@ -1,5 +1,5 @@
from pimoroni import RGBLED, Button
from picographics import PicoGraphics, DISPLAY_INTERSTATE75_32X32, DISPLAY_INTERSTATE75_64X32, DISPLAY_INTERSTATE75_96X32, DISPLAY_INTERSTATE75_96X48, DISPLAY_INTERSTATE75_128X32, DISPLAY_INTERSTATE75_64X64, DISPLAY_INTERSTATE75_128X64, DISPLAY_INTERSTATE75_192X64, DISPLAY_INTERSTATE75_256X64
from picographics import PicoGraphics, DISPLAY_INTERSTATE75_32X32, DISPLAY_INTERSTATE75_64X32, DISPLAY_INTERSTATE75_96X32, DISPLAY_INTERSTATE75_96X48, DISPLAY_INTERSTATE75_128X32, DISPLAY_INTERSTATE75_64X64, DISPLAY_INTERSTATE75_128X64, DISPLAY_INTERSTATE75_192X64, DISPLAY_INTERSTATE75_256X64, DISPLAY_INTERSTATE75_128X128
from pimoroni_i2c import PimoroniI2C
import hub75
import sys
@ -29,6 +29,7 @@ class Interstate75:
DISPLAY_INTERSTATE75_128X64 = DISPLAY_INTERSTATE75_128X64
DISPLAY_INTERSTATE75_192X64 = DISPLAY_INTERSTATE75_192X64
DISPLAY_INTERSTATE75_256X64 = DISPLAY_INTERSTATE75_256X64
DISPLAY_INTERSTATE75_128X128 = DISPLAY_INTERSTATE75_128X128
PANEL_GENERIC = hub75.PANEL_GENERIC
PANEL_FM6126A = hub75.PANEL_FM6126A
@ -43,10 +44,18 @@ class Interstate75:
NUM_SWITCHES = 2
def __init__(self, display, panel_type=hub75.PANEL_GENERIC, stb_invert=False, color_order=hub75.COLOR_ORDER_RGB):
self.interstate75w = "Pico W" in sys.implementation._machine
self.interstate75w = "Pico W" in sys.implementation._machine # noqa: SLF001
self.display = PicoGraphics(display=display)
self.width, self.height = self.display.get_bounds()
self.hub75 = hub75.Hub75(self.width, self.height, panel_type=panel_type, stb_invert=stb_invert, color_order=color_order)
out_width = self.width
out_height = self.height
if display == DISPLAY_INTERSTATE75_128X128:
out_width = 256
out_height = 64
self.hub75 = hub75.Hub75(out_width, out_height, panel_type=panel_type, stb_invert=stb_invert, color_order=color_order)
self.hub75.start()
if self.interstate75w:
self._switch_pins = self.SWITCH_PINS_W

Wyświetl plik

@ -116,9 +116,9 @@ class Inventor2040W():
def play_tone(self, frequency):
try:
self.audio_pwm.freq(frequency)
except ValueError:
except ValueError as e:
self.play_silence()
raise ValueError("frequency of range. Expected greater than 0")
raise ValueError("frequency of range. Expected greater than 0") from e
corrected_volume = (self.__volume ** 4) # Correct for RC Filter curve
self.audio_pwm.duty_u16(int(32768 * corrected_volume))
@ -143,6 +143,7 @@ class Inventor2040W():
raise ValueError("volume out of range. Expected 0.0 to 1.0")
self.__volume = volume
return None
def mute_audio(self):
self.__amp_en.off()

Wyświetl plik

@ -54,8 +54,7 @@ class LTE():
def ipconfig(self, *args, **kwargs):
if len(args):
return self._ppp.ipconfig(*args)
else:
return self._ppp.ipconfig(**kwargs)
return self._ppp.ipconfig(**kwargs)
def iccid(self):
try:
@ -73,8 +72,7 @@ class LTE():
response = self._send_at_command("AT+CSQ", 1)
quality = int(response.split(":")[1].split(",")[0])
# Conversion as per AT command set datasheet
db = -113 + (2 * quality)
return db
return -113 + (2 * quality)
except CellularError:
pass
return None
@ -125,7 +123,7 @@ class LTE():
self._wait_ready()
self._send_at_command("ATE0") # Disable local echo
self._send_at_command(f"AT+CGDCONT=1,\"IP\",\"{self._apn}\"") # Set apn and activate pdp context
self._send_at_command(f'AT+CGDCONT=1,"IP","{self._apn}"') # Set apn and activate pdp context
# Wait for roaming lte connection to be established
giveup = time.time() + timeout
@ -137,8 +135,8 @@ class LTE():
raise CellularError("timed out getting network registration")
# Disable server and client certification validation
self._send_at_command("AT+CSSLCFG=\"authmode\",0,0")
self._send_at_command("AT+CSSLCFG=\"enableSNI\",0,1")
self._send_at_command('AT+CSSLCFG="authmode",0,0')
self._send_at_command('AT+CSSLCFG="enableSNI",0,1')
print(f" - SIM ICCID is {self.iccid()}")

Wyświetl plik

@ -29,8 +29,7 @@ class Analog:
def read_current(self):
if self.resistor > 0:
return self.read_voltage() / self.resistor
else:
return self.read_voltage()
return self.read_voltage()
class AnalogMux:
@ -50,46 +49,46 @@ class AnalogMux:
def select(self, address):
if address < 0:
raise ValueError("address is less than zero")
elif address > self.max_address:
if address > self.max_address:
raise ValueError("address is greater than number of available addresses")
else:
if self.muxed_pin and self.pulls[address] is None:
self.muxed_pin.init(Pin.IN, None)
self.addr0_pin.value(address & 0b001)
if self.muxed_pin and self.pulls[address] is None:
self.muxed_pin.init(Pin.IN, None)
if self.addr1_pin is not None:
self.addr1_pin.value(address & 0b010)
self.addr0_pin.value(address & 0b001)
if self.addr2_pin is not None:
self.addr2_pin.value(address & 0b100)
if self.addr1_pin is not None:
self.addr1_pin.value(address & 0b010)
if self.en_pin is not None:
self.en_pin.value(1)
if self.addr2_pin is not None:
self.addr2_pin.value(address & 0b100)
if self.muxed_pin and self.pulls[address] is not None:
self.muxed_pin.init(Pin.IN, self.pulls[address])
if self.en_pin is not None:
self.en_pin.value(1)
if self.muxed_pin and self.pulls[address] is not None:
self.muxed_pin.init(Pin.IN, self.pulls[address])
def disable(self):
if self.en_pin is not None:
self.en_pin.value(0)
else:
if self.en_pin is None:
raise RuntimeError("there is no enable pin assigned to this mux")
self.en_pin.value(0)
def configure_pull(self, address, pull=None):
if address < 0:
raise ValueError("address is less than zero")
elif address > self.max_address:
if address > self.max_address:
raise ValueError("address is greater than number of available addresses")
else:
self.pulls[address] = pull
self.pulls[address] = pull
def read(self):
if self.muxed_pin is not None:
return self.muxed_pin.value()
else:
if self.muxed_pin is None:
raise RuntimeError("there is no muxed pin assigned to this mux")
return self.muxed_pin.value()
class Button:
def __init__(self, button, invert=True, repeat_time=200, hold_time=1000):
@ -113,10 +112,9 @@ class Button:
self.pressed = True
self.last_time = current_time
return True
else:
self.pressed_time = 0
self.pressed = False
self.last_time = 0
self.pressed_time = 0
self.pressed = False
self.last_time = 0
if self.repeat_time == 0:
return False
@ -132,10 +130,7 @@ class Button:
return False
def raw(self):
if self.invert:
return not self.pin.value()
else:
return self.pin.value()
return self.pin.value() ^ self.invert
@property
def is_pressed(self):