#!/usr/bin/python3 # # evmUploader.py - uploads files over a serial line with some delays and # hardware handshake DSR-DTR. Adds the '>' prefix and # '<' postfix. # # fjkraan@electrickery.nl, 2025-11-06 import sys import serial import time port = '/dev/ttyACM0' # default port baud = 9600 # default BAUD rate if len(sys.argv) == 1: print("Usage: python uploader.py []") exit() if len(sys.argv) > 1: hexFile = sys.argv[1] if len(sys.argv) > 2: port = sys.argv[2] if len(sys.argv) > 3: baud = sys.argv[3] LF = "\n" CR = "\r" sendDelay = 0.001 time.sleep(sendDelay) ser = serial.Serial(port, baud, timeout=0, rtscts=True) # open serial port print("Uploading " + hexFile + " to " + port) file = open(hexFile, 'r') lines = file.readlines() file.close() time.sleep(sendDelay) ser.write(str.encode('>')) for line in lines: lineStrip = line.strip() if (lineStrip): for char in lineStrip: ser.write(str.encode(char)) time.sleep(sendDelay) ser.write(str.encode(CR + LF)) print(CR + lineStrip[0:4],end='') # update current line number on console ser.write(str.encode('<')) ser.close() print() print("Done.")