aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/serialhdl.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/serialhdl.py')
-rw-r--r--klippy/serialhdl.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/klippy/serialhdl.py b/klippy/serialhdl.py
index 1af64000..8112d703 100644
--- a/klippy/serialhdl.py
+++ b/klippy/serialhdl.py
@@ -3,7 +3,7 @@
# Copyright (C) 2016 Kevin O'Connor <kevin@koconnor.net>
#
# This file may be distributed under the terms of the GNU GPLv3 license.
-import logging, threading
+import logging, threading, time
import serial
import msgproto, chelper, util
@@ -325,3 +325,16 @@ def stk500v2_leave(ser, reactor):
res = ser.read(4096)
logging.debug("Got %s from stk500v2" % (repr(res),))
ser.baudrate = origbaud
+
+# Attempt an arduino style reset on a serial port
+def arduino_reset(serialport, reactor):
+ # First try opening the port at 1200 baud
+ ser = serial.Serial(serialport, 1200, timeout=0)
+ ser.read(1)
+ time.sleep(0.100)
+ # Then try toggling DTR
+ ser.dtr = True
+ time.sleep(0.100)
+ ser.dtr = False
+ time.sleep(0.100)
+ ser.close()