I am working on a prototype project that is outlined below.
Components:
Three displays that can display show time.
Arduino
Memory chip
Function: Briefly
Loaded into permanent memory that is unaffected by power loss are every day of the year and associated with the date are 2 times per day. ex. Januray 5 2012 6:56PM 12:07AM
One display show current running time
The other two displays always show times that are retrieved from memory.
The program has the ability to to set the initial time and date.
The program also has the ability to add to the daily times a constant plus or minus.
There are more details but that is the basic idea.
I would supply a working model with a USB cable to test the program.
Loaded into permanent memory that is unaffected by power loss are every day of the year and associated with the date are 2 times per day. ex. Januray 5 2012 6:56PM 12:07AM
365 or 366 days in a year times 2 values per day is 732 values. A Duemilanove or UNO has 1K bytes of EEPROM. You would then be able to store just one byte per time. Hard to get anything meaningful in a byte, when the range of values is from 0 to 255.
I'm not sure why you think the date should be stored. That should be an input to find the right position in EEPROM to get the time.
Still, you need a byte for hour and a byte for minute, so, a minimum of 2,928 bytes.
That could fit on a Mega.
If you are in Maine, why does the programmer have to be in Boston? Last I checked, Boston was in Massachusetts. Did it move when I wasn't looking?
It really seems like what you want to do could be accomplished in less than an hour, unless there are details missing.
Yes I live an hour north of Boston Mass. and just figured the majority of folks who could do the programming would be in the Boston area. Could be wrong. How about an hour drive from York, Maine? I want to meet the person I hire and work with. The times per day are for tides and can be predicted well into he future. Ideally I would like to have 50 years of data stored into memory. I would supply the data. I hope that makes it a little clearer.
OK, for fifty years, you'd need around 50k bytes, and I don't think any of the supported processors has that much on-board EEPROM, so you'd have to add an external EEPROM device (might want to check data retention figures and any environmental effects issues for the chosen device.)
Depending on how many of the devices you are deploying, how widely dispersed and how inconvenient it may be to program them, it may be simpler to put the tables into program memory.
Eventually this may be a product. I am using the Arduino (if it is capable) to prototype. Eventually the product would be shipped with the date and time data installed somehow. The buyer would set the time, date and a factor + or - the time of the tide that is loaded into memory. This would give them their tide for where they boat.
Good point about letting Arduino do the predicting. I while ago I asked a electronics wizard about that and his response was that storing the data in memory was the way to go. That was about ten years ago! So your saying the Arduino can handle what is probably a complicated formula with many variables. Seems like storing the variables would end up in the same place I am now. Having to store data. I'll look into the availability of a predicting formula though.
My product would be sold to people who simply want to view the predicted tides for their area. Once it left me they shouldn't have to do anything except set the time and date and tide factor for their location.
It is similar to tide clocks that are available now but are inaccurate most of the time.