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

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()