aboutsummaryrefslogtreecommitdiffstats
path: root/reset.py
blob: ae5d74b29c5aedb26d3b7f6cfd29470015dd7909 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/python

import serial
import os

try:
    highest = 0
    # this totally won't work on Mac OSX! /dev/ttySOMETHINGELSE?
    for f in filter(lambda x: x.startswith('ttyACM'), os.listdir('/dev/')):
        if (int(f[6:]) > highest):
            highest = int(f[6:])

    print "Trying /dev/ttyACM%d..." % highest
    ser = serial.Serial('/dev/ttyACM%d' % highest, baudrate=115200)
    ser.open()

    # pull dtr and rts low
    ser.setRTS(0)
    ser.setDTR(0)

    # toggle DTR
    ser.setDTR(1)

    # close
    ser.close()

except:
    print "Failed to open the serial port for reset, perhaps this is your first upload or the board was already in bootloader mode"