From 745b520dd6de348c2016a9c699b8590290819195 Mon Sep 17 00:00:00 2001 From: Gaute Hope Date: Mon, 8 Feb 2016 23:09:56 +0100 Subject: [PATCH] ard-reset-arduino: support pyserial 3.0 --- HISTORY.md | 1 + bin/ard-reset-arduino | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 47f1dc8..07b8e68 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -24,6 +24,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it - Fix: Document OSX 1.0/1.6 ARDUINO_DIR differences (https://github.com/thomaskilian) - Fix: Fix regex to support BOARD_TAGs with hyphens e.g. attiny44-20 (https://github.com/sej7278) - Fix: Remove check for BOOTLOADER_PATH, just check for BOOTLOADER_FILE (Issue #402) (https://github.com/sej7278) +- Fix: Port ard-reset-arduino to pyserial 3.0 (#407, #408) (https://github.com/gauteh) ### 1.5 (2015-04-07) - New: Add support for new 1.5.x library layout (Issue #275) (https://github.com/lukasz-e) diff --git a/bin/ard-reset-arduino b/bin/ard-reset-arduino index 3e43486..bca0b03 100755 --- a/bin/ard-reset-arduino +++ b/bin/ard-reset-arduino @@ -6,6 +6,12 @@ import os.path import argparse from time import sleep +pyserial_version = None +try: + pyserial_version = int(serial.VERSION[0]) +except: + pyserial_version = 2 # less than 2.3 + parser = argparse.ArgumentParser(description='Reset an Arduino') parser.add_argument('--caterina', action='store_true', help='Reset a Leonardo, Micro, Robot or LilyPadUSB.') parser.add_argument('--verbose', action='store_true', help="Watch what's going on on STDERR.") @@ -17,7 +23,12 @@ if args.caterina: if args.verbose: print('Forcing reset using 1200bps open/close on port %s' % args.port[0]) ser = serial.Serial(args.port[0], 57600) ser.close() - ser.setBaudrate(1200) + + if pyserial_version < 3: + ser.setBaudRate (1200) + else: + ser.baudrate = 1200 + ser.open() ser.setRTS(True) # RTS line needs to be held high and DTR low ser.setDTR(False) # (see Arduino IDE source code)