fix aio handler init. Fix ble handler functionality. Remove go() function from code.pys

This commit is contained in:
foamyguy 2025-06-20 10:07:47 -05:00
parent 463ac6586b
commit 16145663c1
5 changed files with 63 additions and 66 deletions

View file

@ -24,7 +24,7 @@ class AIOHandler(Handler):
def __init__(self, name, portal_device, level: int = NOTSET): def __init__(self, name, portal_device, level: int = NOTSET):
"""Create an instance.""" """Create an instance."""
super().__init__(name) super().__init__(level)
self._log_feed_name = f"{name}-logging" self._log_feed_name = f"{name}-logging"
if not issubclass(type(portal_device), PortalBase): if not issubclass(type(portal_device), PortalBase):
raise TypeError( raise TypeError(

View file

@ -13,23 +13,21 @@ device = PyPortal()
l = logging.getLogger("aio") l = logging.getLogger("aio")
l.addHandler(AIOHandler("test", device)) l.addHandler(AIOHandler("test", device))
while True:
def go(): t = random.randint(1, 5)
while True: if t == 1:
t = random.randint(1, 5) print("debug")
if t == 1: l.debug("debug message: %d", random.randint(0, 1000))
print("debug") elif t == 2:
l.debug("debug message: %d", random.randint(0, 1000)) print("info")
elif t == 2: l.info("info message: %d", random.randint(0, 1000))
print("info") elif t == 3:
l.info("info message: %d", random.randint(0, 1000)) print("warning")
elif t == 3: l.warning("warning message: %d", random.randint(0, 1000))
print("warning") elif t == 4:
l.warning("warning message: %d", random.randint(0, 1000)) print("error")
elif t == 4: l.error("error message: %d", random.randint(0, 1000))
print("error") elif t == 5:
l.error("error message: %d", random.randint(0, 1000)) print("critical")
elif t == 5: l.critical("critical message: %d", random.randint(0, 1000))
print("critical") time.sleep(5.0 + (random.random() * 5.0))
l.critical("critical message: %d", random.randint(0, 1000))
time.sleep(5.0 + (random.random() * 5.0))

View file

@ -18,7 +18,10 @@ All text above must be included in any redistribution.
from adafruit_logging import Handler, NOTSET from adafruit_logging import Handler, NOTSET
from adafruit_ble.uart import UARTServer
from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.nordic import UARTService
class BLEHandler(Handler): class BLEHandler(Handler):
@ -31,8 +34,10 @@ class BLEHandler(Handler):
""" """
super().__init__(level) super().__init__(level)
self._advertising_now = False self._advertising_now = False
self._uart = UARTServer() ble = BLERadio()
self._uart.start_advertising() self._uart = UARTService()
self._advertisement = ProvideServicesAdvertisement(self._uart)
ble.start_advertising(self._advertisement)
def format(self, record): def format(self, record):
"""Generate a string to log. """Generate a string to log.
@ -46,7 +51,5 @@ class BLEHandler(Handler):
:param record: The record (message object) to be logged :param record: The record (message object) to be logged
""" """
while not self._uart.connected:
pass
data = bytes(self.format(record), "utf-8") data = bytes(self.format(record), "utf-8")
self._uart.write(data) self._uart.write(data)

View file

@ -11,23 +11,21 @@ l = logging.getLogger("ble")
l.addHandler(BLEHandler()) l.addHandler(BLEHandler())
while True:
def go(): t = random.randint(1, 5)
while True: if t == 1:
t = random.randint(1, 5) print("debug")
if t == 1: l.debug("%d", random.randint(0, 1000))
print("debug") elif t == 2:
l.debug("%d", random.randint(0, 1000)) print("info")
elif t == 2: l.info("%d", random.randint(0, 1000))
print("info") elif t == 3:
l.info("%d", random.randint(0, 1000)) print("warning")
elif t == 3: l.warning("%d", random.randint(0, 1000))
print("warning") elif t == 4:
l.warning("%d", random.randint(0, 1000)) print("error")
elif t == 4: l.error("%d", random.randint(0, 1000))
print("error") elif t == 5:
l.error("%d", random.randint(0, 1000)) print("critical")
elif t == 5: l.critical(" %d", random.randint(0, 1000))
print("critical") time.sleep(5.0 + (random.random() * 5.0))
l.critical(" %d", random.randint(0, 1000))
time.sleep(5.0 + (random.random() * 5.0))

View file

@ -24,23 +24,21 @@ storage.mount(vfs, "/sd")
l = logging.getLogger("file") l = logging.getLogger("file")
l.addHandler(logging.FileHandler("/sd/test.txt")) l.addHandler(logging.FileHandler("/sd/test.txt"))
while True:
def go(): t = random.randint(1, 5)
while True: if t == 1:
t = random.randint(1, 5) print("debug")
if t == 1: l.debug("debug message: %d", random.randint(0, 1000))
print("debug") elif t == 2:
l.debug("debug message: %d", random.randint(0, 1000)) print("info")
elif t == 2: l.info("info message: %d", random.randint(0, 1000))
print("info") elif t == 3:
l.info("info message: %d", random.randint(0, 1000)) print("warning")
elif t == 3: l.warning("warning message: %d", random.randint(0, 1000))
print("warning") elif t == 4:
l.warning("warning message: %d", random.randint(0, 1000)) print("error")
elif t == 4: l.error("error message: %d", random.randint(0, 1000))
print("error") elif t == 5:
l.error("error message: %d", random.randint(0, 1000)) print("critical")
elif t == 5: l.critical("critical message: %d", random.randint(0, 1000))
print("critical") time.sleep(5.0 + (random.random() * 5.0))
l.critical("critical message: %d", random.randint(0, 1000))
time.sleep(5.0 + (random.random() * 5.0))