Move reseting Leonardo logic to ard-reset-arduino
ard-reset-leonardo which was used for reseting Leonardo was written in Python. Now the logic is added inside the ard-reset-arduino perl script itself. Fix #62 Squashed commit of the following: commita63366980f
Author: Simon John <git@the-jedi.co.uk> Date: Fri Jun 14 11:36:00 2013 +0200 who put a space in the shebangs?! commitc798eb26ea
Author: Simon John <git@the-jedi.co.uk> Date: Fri Jun 14 11:10:12 2013 +0200 replaced ard-reset-leonardo with an update to ard-reset-arduino which is now called from Arduino.mk with the --leonardo flag removed some trailing whitespace upped version string in Arduino.mk
This commit is contained in:
parent
9b38631d61
commit
60ca7d2852
5 changed files with 46 additions and 35 deletions
|
@ -7,6 +7,8 @@ The following is the rough list of changes that went into different versions. I
|
|||
- Fix whitespace and add /dev/null redirection (https://github.com/sej7278)
|
||||
- Change the way AUTO_ARDUINO_VERSION is computed (https://github.com/sej7278)
|
||||
- Make serial monitor baudrate detection work in Mac as well(https://github.com/sej7278)
|
||||
- Fix directory creation for library source files (https://github.com/matthijskooijman)
|
||||
- Rewrite ard-leonardo-reset script in perl (https://github.com/sej7278)
|
||||
|
||||
### 0.10.5 (2013-06-11)
|
||||
- Add USB_VID and USB_PID to CPPFLAGS only if the board is Leonardo.
|
||||
|
|
|
@ -382,7 +382,7 @@ endif
|
|||
#
|
||||
ifndef RESET_CMD
|
||||
ifeq ($(BOARD_TAG),leonardo)
|
||||
RESET_CMD = $(ARDMK_PATH)/ard-reset-leonardo \
|
||||
RESET_CMD = $(ARDMK_PATH)/ard-reset-arduino --leonardo \
|
||||
$(ARD_RESET_OPTS) $(call get_arduino_port)
|
||||
else
|
||||
RESET_CMD = $(ARDMK_PATH)/ard-reset-arduino \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#! /usr/bin/env perl
|
||||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
@ -7,16 +7,17 @@ use Device::SerialPort;
|
|||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
|
||||
my %Opt =
|
||||
(
|
||||
my %Opt =
|
||||
(
|
||||
period => 0.1,
|
||||
);
|
||||
|
||||
GetOptions(\%Opt,
|
||||
GetOptions(\%Opt,
|
||||
"period=f", # width of reset pulse in seconds
|
||||
"verbose!",
|
||||
"help!",
|
||||
"help!",
|
||||
"info!",
|
||||
"leonardo!",
|
||||
);
|
||||
|
||||
if ($Opt{help} || $Opt{info})
|
||||
|
@ -31,21 +32,33 @@ foreach my $dev (@ARGV)
|
|||
{
|
||||
my $p = Device::SerialPort->new($dev)
|
||||
or die "Unable to open $dev: $!\n";
|
||||
|
||||
|
||||
if ($Opt{leonardo})
|
||||
{
|
||||
$p->baudrate(1200);
|
||||
$p->write_settings;
|
||||
$p->close;
|
||||
|
||||
print STDERR "Switching to 1200 baud on $dev\n"
|
||||
if $Opt{verbose};
|
||||
}
|
||||
else
|
||||
{
|
||||
my $dt = $Opt{period};
|
||||
|
||||
print STDERR "Setting DTR high for ${dt}s on $dev\n"
|
||||
if $Opt{verbose};
|
||||
|
||||
|
||||
die "Invalid pulse width ($dt), "
|
||||
unless $dt > 0.0;
|
||||
|
||||
|
||||
$p->pulse_dtr_on($dt * 1000.0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
## here endeth the main
|
||||
|
||||
sub usage
|
||||
sub usage
|
||||
{
|
||||
pod2usage(-verbose => 2);
|
||||
}
|
||||
|
@ -53,20 +66,22 @@ sub usage
|
|||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
|
||||
ard-reset-arduino - Reset an Arduino
|
||||
|
||||
|
||||
=head1 USAGE
|
||||
|
||||
|
||||
$ ard-reset-arduino /dev/cu.usb*
|
||||
|
||||
$ ard-reset-arduino --verbose --period=0.1 /dev/cu.usb*
|
||||
|
||||
|
||||
$ ard-reset-arduino --verbose --leonardo /dev/ttyUSB0
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
To reset (most) Arduinos, it's enough to just pulse the DTR line.
|
||||
|
||||
You can do that from the shell with stty, but there's an interesting
|
||||
You can do that from the shell with stty, but there's an interesting
|
||||
diversity of command flags. This little program gives a uniform interface
|
||||
at the cost of requiring C<Device::SerialPort>.
|
||||
|
||||
|
@ -82,8 +97,12 @@ Watch what's going on on STDERR.
|
|||
|
||||
Specify the DTR pulse width in seconds.
|
||||
|
||||
=item --leonardo
|
||||
|
||||
Reset a Leonardo.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
=head1 BUGS AND LIMITATIONS
|
||||
|
||||
There are no known bugs in this application.
|
||||
|
@ -91,18 +110,20 @@ There are no known bugs in this application.
|
|||
Please report problems to the author.
|
||||
|
||||
Patches are welcome.
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Martin Oldfield, ex-atelier@mjo.tc
|
||||
|
||||
Support for Leonardo added by sej7278, https://github.com/sej7278
|
||||
|
||||
Thanks to Daniele Vergini who suggested this to me, and supplied
|
||||
a command line version.
|
||||
|
||||
|
||||
=head1 LICENCE AND COPYRIGHT
|
||||
|
||||
|
||||
Copyright (c) 2012, Martin Oldfield. All rights reserved.
|
||||
|
||||
|
||||
This file is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2.1 of the License, or
|
||||
|
@ -110,6 +131,6 @@ by the Free Software Foundation; either version 2.1 of the License, or
|
|||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
#! /usr/bin/python
|
||||
|
||||
import sys
|
||||
import serial
|
||||
|
||||
ser = serial.Serial(sys.argv[1], 57600)
|
||||
ser.close()
|
||||
ser.open()
|
||||
ser.close()
|
||||
ser.setBaudrate(1200)
|
||||
ser.open()
|
||||
ser.close()
|
|
@ -1,4 +1,4 @@
|
|||
#! /bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
while [ ! -e $1 ]
|
||||
do
|
||||
|
|
Loading…
Reference in a new issue