Toggle Navigation
TiDAL Hatchery
Eggs
Bad News Arcana
upload.py
Users
Badges
Login
Register
upload.py
raw
Content
#!/usr/bin/python3 import sys import serial import time try: port=sys.argv[1] path=sys.argv[2] source=sys.argv[3] except: print("Usage: upload.py [PORT NAME] [PATH ON BADGE] [PATH ON LOCAL MACHINE]") sys.exit(1) inbuf = sys.stdin.buffer print(f"Writing to path {path} on port {port}, source {source}") inbuf = open(source,'rb') ser = serial.Serial(port,timeout=0.02) def to_board(s): s=s+"\r" s=s.encode('utf-8') while s: l = ser.write(s) if l < len(s): sys.stderr.println("retry remainder") s = s[l:] print(ser.read(500).decode('utf-8')) to_board('\r\r') time.sleep(1) to_board(f"f=open('{path}','wb')") while True: b = inbuf.read(64) if b: to_board("f.write({})".format(str(b))) else: break to_board("f.close()")