You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.6 KiB
56 lines
1.6 KiB
import logging
|
|
import time
|
|
from typing import Sequence
|
|
|
|
import serial
|
|
|
|
#DEVICE_ID = "/dev/tty.usbmodem207E3283544E1"
|
|
DEVICE_ID = "/dev/tty.usbmodem2067368F32521"
|
|
BAUDRATE = 115200
|
|
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def write_bytes(
|
|
serial: serial.Serial,
|
|
values: Sequence[int],
|
|
):
|
|
data = bytearray(values)
|
|
serial.write(data)
|
|
|
|
|
|
def main():
|
|
with serial.Serial(DEVICE_ID, BAUDRATE) as serial_connection:
|
|
logger.info(f"Connection open with: {serial_connection.name}")
|
|
serial_connection.write(int.to_bytes(0, 1, "little") + b'Hello')
|
|
time.sleep(0.1)
|
|
logger.info(f"in_waiting: {serial_connection.in_waiting}")
|
|
x = serial_connection.read(serial_connection.in_waiting)
|
|
logger.info(f"received: {x}")
|
|
logger.info(f"in_waiting: {serial_connection.in_waiting}")
|
|
|
|
delay = 0.1
|
|
while True:
|
|
logger.info("Set blue LED")
|
|
write_bytes(serial_connection, [1, 1])
|
|
time.sleep(delay)
|
|
logger.info("Set green LED")
|
|
write_bytes(serial_connection, [2, 1])
|
|
time.sleep(delay)
|
|
logger.info("Set red LED")
|
|
write_bytes(serial_connection, [3, 1])
|
|
time.sleep(delay)
|
|
|
|
logger.info("Reset blue LED")
|
|
write_bytes(serial_connection, [1, 0])
|
|
time.sleep(delay)
|
|
logger.info("Reset green LED")
|
|
write_bytes(serial_connection, [2, 0])
|
|
time.sleep(delay)
|
|
logger.info("Reset red LED")
|
|
write_bytes(serial_connection, [3, 0])
|
|
time.sleep(delay)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|