Go Down

Topic: Hard reset button (Read 27250 times) previous topic - next topic

leo72

Hi.
I would like to suggest to the Arduino developers to implement an "hard reset" button to delete user programs from the Atmega memory in case there are some issues that can freeze Arduino into code loops when using serial port to communicate with the PC.

It is well known that when Arduino uses the serial port, it is rather impossible to upload new code to the Arduino because both the Arduino and PC use the same pins.

The actual reset button is only a "restart" button. With the "hard reset" anyone could clear the memory leaving only the bootloader in it.

Groove

The reset button is a hard reset button, it doesn't need quotes.
It is connected to the reset pin, how much harder can you get?
Per Arduino ad Astra

robtillaart

#2
Nov 24, 2010, 12:56 pm Last Edit: Nov 24, 2010, 12:56 pm by robtillaart Reason: 1
What is wanted is a memory erase button. Reminds me of mission impossible  :)
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

leo72

@Groove:
usually with "hard" it is meant "hardware", but I mean HARD, totally, complete. I mean "re-set" in the literally meaning of the therm: re-set the condition of Arduino as it exited from factory.

@robtillaart:
It isn't a mission impossible.
Simply an extra button that, when pressed, activate a portion of code into the bootloader of Arduino that erases (fill with 00) the portion of Flash Ram usually occupied by the user code or maybe reload the simple blinking code.

Groove

But your HARD 'solution' would involve some SOFT(WARE), because the AVR doesn't have an ERASE-ALL pin.
Which brings us back around to looping software.
Per Arduino ad Astra

leo72

I'm not a developer nor a master in electronics. I don't know how to do this nor if it really impossible. I suggested a thing that could be useful. ;)

westfw

The arduino has "HARD" reset capability via the ISP header and an external programmer (which can be another arduino...)

retrolefty

Quote
I don't know how to do this nor if it really impossible. I suggested a thing that could be useful.


Useful? Possibly. Impossible, yes it is.

Lefty


leo72

Maybe my suggestion was misunderstood.
If you press the reset botton on the Arduino, the Atmega starts again the program into its memory.
If you have a program that has some logic issues and seems to freeze the Arduino (i.e. when using the serial ports, letting the Arduino unable to receive new code from the user) it could be interesting something that erases from the "internal" the looping code, letting it "new as from factory".


Ok. Impossible.
Forget about it.  :-/

AWOL

Quote
re-set the condition of Arduino as it exited from factory.

Quote
that erases (fill with 00) the portion of Flash Ram usually occupied by the user code

I think you may misunderstand the term "erase".
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

leo72

I'm Italian, sorry. For me, the meaning of "erase" is like the one of "delete".
But I think you've undestood the sense of my posts: a way to clean the user memory area to delete the code of any program.

JimH

A hard reset would have been useful last night when I made a sketch that was continuously outputting text to the serial without any pause.

It seemed to freeze up the IDE when I tried to use it with the Arduino connected and made it almost impossible to try to upload a new sketch.  

I finally succeeded with some combination of unplugging the usb and hitting the reset and trying to upload.  Really frustrating experience.  I've learned to never do that again.

leo72

#12
Nov 24, 2010, 10:26 pm Last Edit: Nov 24, 2010, 10:27 pm by leo72 Reason: 1
It was during some tests with the serial port that I started feeling the need for this kind of button  :D

libyan_robo

#13
Dec 03, 2010, 05:31 am Last Edit: Dec 03, 2010, 05:34 am by abanie Reason: 1
yes guys you have to make an erase button because if some thing goes wrong spacial with serial port  :) :'(
or at least make the program delay for like 1 second

retrolefty

Quote
or at least make the program delay for like 1 second


You could always make it your practice to start all your programs with a delay(1000) command in the set-up portion of your sketches.


Lefty


Go Up