Some questions

Hello,

for a project I'm working on it can happen that the serial host (computer) disconnects sometimes, but I don't want the program to restart at reconnect, can you disable this?

For the same project I will need to save some data in a list, no array because the size can vary. I need this values to be saved even under a power down, but they will change quite often, so EEPROM doesn't work to well, Flash won't work because the values will fill at runtime. What can I use?

Jan

for a project I'm working on it can happen that the serial host (computer) disconnects sometimes, but I don't want the program to restart at reconnect, can you disable this?

You'd probably have to modify the bootloader, if you wanted to keep it. It would probably be simpler to learn how to use an ISP programmer, ditch the bootloader, then change your program to look for a change in value of a button on a digital pin to implement a "startup" control.

For the same project I will need to save some data in a list, no array because the size can vary. I need this values to be saved even under a power down, but they will change quite often, so EEPROM doesn't work to well, Flash won't work because the values will fill at runtime. What can I use?

How much data, and what is "quite often". Despite what you may have heard, the EEPROM is pretty robust. Yes, there is a nominal number of writes you can do to each cell before it is considered "bad", but it will really vary from chip to chip; your's might be a long-lived one, with close to a million writes possible, or a short-lived one, with less than the nominal amount (which I think is 100K writes per cell on average). There is code out there that attempts to do "write leveling" in an attempt to keep writes to any singular cell low, you might try a routine like that if your write frequency is going to be very high.

If the onboard EEPROM is too small, or you want something else, there's always the possibility of using an external EEPROM or flash memory accessed via I2C or SPI. You could also use an SD card interface. Finally, there's the option of battery-backed RAM.

for a project I’m working on it can happen that the serial host (computer) disconnects sometimes, but I don’t want the program to restart at reconnect, can you disable this?

You’d probably have to modify the bootloader, if you wanted to keep it. It would probably be simpler to learn how to use an ISP programmer, ditch the bootloader, then change your program to look for a change in value of a button on a digital pin to implement a “startup” control.

I think it should be possible to use my Arduino as ISP programmer, but I have never done something like that except what I have burned the bootloader on some 168s, so how should I do that?

For the same project I will need to save some data in a list, no array because the size can vary. I need this values to be saved even under a power down, but they will change quite often, so EEPROM doesn’t work to well, Flash won’t work because the values will fill at runtime. What can I use?

How much data, and what is “quite often”. Despite what you may have heard, the EEPROM is pretty robust. Yes, there is a nominal number of writes you can do to each cell before it is considered “bad”, but it will really vary from chip to chip; your’s might be a long-lived one, with close to a million writes possible, or a short-lived one, with less than the nominal amount (which I think is 100K writes per cell on average). There is code out there that attempts to do “write leveling” in an attempt to keep writes to any singular cell low, you might try a routine like that if your write frequency is going to be very high.

The data is the following:

struct TimeBibPair
{
  unsigned long time;
  int bib;
  boolean sent;
}

Every time when a button is pressed a new TimeBibPair variable is made with the current time, -1 as bib and sent will be set to true if the data has been sent to the computer. The new TimeBibPair variable should then be placed into some sort of list, but as I sad an array won’t work because I never know how many entries there will be. The variable bib will later be filled in with a startnumber.
The number of times written will be about 75 ± 50 + editing of the bib witch means quite a lot.

I’ve already thought of using an extern flash memory, but that would delay everything because I have all the other parts here, but I think in the end that will be the only solution.

The whole thing is going to be a timetaking device for CrossCountry Skiing.

Jan

For the reset problem: I'm going to use an Arduino Pro for the final version (I got the Pro for about half an hour ago) and a quick lock at the schematic from it and from the Uno I save a line named DTR witch went to the reset. Would it be enough to just don't connect it?

Jan

[edit]I go the Keypad I want to use together with the Pro, and I saw that it's a Common Output type, not an X-Y matrix. Because of this I have 1 pin less then I need. I'm also using an HD44780 display so I wonder: Is it possible to connect the Enable or RS (or both) pin directly to ground/supply? Otherwise I think I will be forced to use a multiplexer.

(Still) Jan[/edit]

[edit]As I see it in the datasheet the RS bit is only needed if you want to read or write data into the RAM, so: For that is the RAM? Personal Characters? And the Enable bit, is it for if you have multiply LCDs so what if I only have one, and don't need to read or write the RAM I can connect RS to gnd and Enable to supply? The datasheet can be found here: http://www.electrokit.se/download/GDM1602K-Extended.pdf[/edit]

[edit]Just before I felt asleep I thought of the solution: A resistor from each button to an analog pin! I don't know why I didn't think of it before, but it eliminates the keypad problem. I have still not got any answer on my other two problems, though.[/edit]