Closed GoogleCodeExporter closed 9 years ago
[deleted comment]
Here the patch for the ArduinoISP sketch:
--- examples/ArduinoISP/ArduinoISP.pde 2010-12-24 23:12:25.000000000 +0100
+++ /home/bilibao/sketchbook/fixed/fixed.pde 2011-01-12 01:10:41.373212997
+0100
@@ -54,7 +54,7 @@
pinMode(9, OUTPUT);
pulse(9, 2);
}
-
+int initSent=0;
int error=0;
int pmode=0;
// address for reading and writing, set by 'U' command
@@ -399,7 +399,8 @@
uint8_t ch = getch();
switch (ch) {
case '0': // signon
- empty_reply();
+ if(! initSent) empty_reply();
+ initSent = 1;
break;
case '1':
if (getch() == CRC_EOP) {
Original comment by rizziand...@gmail.com
on 12 Jan 2011 at 7:11
Original comment by wes...@gmail.com
on 29 Oct 2011 at 5:27
So the theory is that ArduinoISP runs by virtue of having the bootloader
"abort" when it sees commands at the wrong bitrate (and therefore
illegal-looking.) This happened with the old bootloader, but optiboot just
ignores illegal commands (it doesn't have enough space to check for their
"illegal-ness")
This was supposedly made better by the large code changes that went into v4.4,
in particular:
https://github.com/WestfW/Arduino/commit/e81c1123b624b6cac7da018c9c786700f3152bc
9
But it still seems to work better if auto-reset is disabled via some hardware
mechanism before using ArduinoISP. The favorite seems to be a 10uF cap between
reset and gnd of the ArduinoISP board.
Original comment by wes...@gmail.com
on 4 Apr 2012 at 2:30
Original issue reported on code.google.com by
erdem...@gmail.com
on 10 Oct 2010 at 11:56Attachments: