From 44e32e30ae9f73d97785a9801def4591384dafbf Mon Sep 17 00:00:00 2001 From: Nathan Johnson Date: Tue, 28 Oct 2014 16:18:53 -0500 Subject: [PATCH 1/3] patch to allow for avrdude to erase by not appending -D . Keeps existing default behavior --- ino/commands/upload.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ino/commands/upload.py b/ino/commands/upload.py index 0659e05..533ff53 100644 --- a/ino/commands/upload.py +++ b/ino/commands/upload.py @@ -32,6 +32,9 @@ def setup_arg_parser(self, parser): parser.add_argument('-p', '--serial-port', metavar='PORT', help='Serial port to upload firmware to\nTry to guess if not specified') + parser.add_argument('-e', '--auto-erase', metavar='<0|1>', default='0', + help='Enable auto-erase of firmware\npass 1 for yes, 0 (default) for no') + self.e.add_board_model_arg(parser) self.e.add_arduino_dist_arg(parser) @@ -50,6 +53,7 @@ def discover(self): def run(self, args): self.discover() port = args.serial_port or self.e.guess_serial_port() + erase = args.auto_erase board = self.e.board_model(args.board_model) protocol = board['upload']['protocol'] @@ -126,13 +130,15 @@ def run(self, args): port = new_port # call avrdude to upload .hex - subprocess.call([ + avrargs = [ self.e['avrdude'], '-C', self.e['avrdude.conf'], '-p', board['build']['mcu'], '-P', port, '-c', protocol, '-b', board['upload']['speed'], - '-D', - '-U', 'flash:w:%s:i' % self.e['hex_path'], - ]) + '-U', 'flash:w:%s:i' % self.e['hex_path'] + ] + if (args.auto_erase == '0'): + avrargs.append('-D') + subprocess.call(avrargs) From c34d666a3ae9cfa18ff35020415d8c2bf04e36e9 Mon Sep 17 00:00:00 2001 From: Nathan Johnson Date: Wed, 29 Oct 2014 21:31:06 -0500 Subject: [PATCH 2/3] cleanup formatting, remove unneeded variable --- ino/commands/upload.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ino/commands/upload.py b/ino/commands/upload.py index 533ff53..5bc37f8 100644 --- a/ino/commands/upload.py +++ b/ino/commands/upload.py @@ -53,7 +53,6 @@ def discover(self): def run(self, args): self.discover() port = args.serial_port or self.e.guess_serial_port() - erase = args.auto_erase board = self.e.board_model(args.board_model) protocol = board['upload']['protocol'] @@ -138,7 +137,7 @@ def run(self, args): '-c', protocol, '-b', board['upload']['speed'], '-U', 'flash:w:%s:i' % self.e['hex_path'] - ] + ] if (args.auto_erase == '0'): avrargs.append('-D') subprocess.call(avrargs) From f1ed03a1c1cffe1e5b036192682e235a041b8a22 Mon Sep 17 00:00:00 2001 From: Nathan Johnson Date: Wed, 29 Oct 2014 21:49:00 -0500 Subject: [PATCH 3/3] More minor formatting changes --- ino/commands/upload.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ino/commands/upload.py b/ino/commands/upload.py index 5bc37f8..1e77e6f 100644 --- a/ino/commands/upload.py +++ b/ino/commands/upload.py @@ -138,6 +138,8 @@ def run(self, args): '-b', board['upload']['speed'], '-U', 'flash:w:%s:i' % self.e['hex_path'] ] + if (args.auto_erase == '0'): avrargs.append('-D') + subprocess.call(avrargs)