Pages: [1] 2   Go Down
Author Topic: Hard reset button  (Read 23315 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22715
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


UK
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2884
Gorm deficient
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Per Arduino ad Astra

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 216
Posts: 13702
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What is wanted is a memory erase button. Reminds me of mission impossible  smiley
« Last Edit: November 24, 2010, 06:56:53 am by robtillaart » Logged

Rob Tillaart

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22715
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@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.
Logged


UK
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2884
Gorm deficient
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Per Arduino ad Astra

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22715
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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. smiley-wink
Logged


SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 132
Posts: 6747
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17294
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22715
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.  :-/
Logged


Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 302
Posts: 26273
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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".
Logged

"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.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22715
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


NYC
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22715
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It was during some tests with the serial port that I started feeling the need for this kind of button  smiley-grin
« Last Edit: November 24, 2010, 04:27:07 pm by leo72 » Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes guys you have to make an erase button because if some thing goes wrong spacial with serial port  smiley :'(
or at least make the program delay for like 1 second
« Last Edit: December 02, 2010, 11:34:43 pm by abanie » Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17294
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Logged

Pages: [1] 2   Go Up
Jump to: