Josh, Just an idea, you don't really need any buffer if you store one data at 30s or so. I have a device running from about 5 years which store data at a programmed sampling time of 1min to hours in a 2x512K I2C eeprom. To avoid writing in the same eeprom area, I have a counter which is incremented after every write and decremented with the number of data read. Data is read from time to time (it's a data logger). AFIK you can't fast write fast an eerpom only if you do it in the page mode (more data).
I have also a device (10 years or so of working) where I store the startup variables in the same eeprom locations in the microcontroller eeprom. No failure so far. best wishes, Vasile http://www.itim-cj.ro/~vasile/ On Thu, Jul 10, 2014 at 11:34 PM, Josh S <[email protected]> wrote: > Good afternoon, I apologize if this is not the right place, but I am > looking for some help finishing a project. Our main developer is no longer > able to work on the project and I need some help! > > If interested, please send me an estimate for this work, and we can work > out the details. Here is what we need: > > *Initial Scope of project:* > > Summary: We started this project using a PIC18F14K50 several years ago > using JAL. The code works pretty well as-is, but we need to add some > functionality. > > The immediate goal is to add a circular buffer wear-leveling routine to > save a variable to EEPROM every X seconds (probably around every 10-30 > seconds) during operation. (This has been started and some commented-out > framework is already in code) The idea is that when power is cut to the > device, it will remember where this variable is at and then start with that > value after device is powered up again. We want to use wear-leveling to > prevent wearing out one location in EEPROM by spreading out the > writing/reading over a section of EEPROM. Note: we are already using the > first few bytes of EEPROM for configuration variables, but the rest of the > EEPROM is free to use for this purpose. > > The read/write process needs to be pretty fast so that it does not > interfere with normal operation. > > *Task:* Take existing, working code written in JAL and finish the > wear-leveling circular buffer routine to save variable to EEPROM. Load this > variable at startup so that the operation continues from where it was left > off after power was cut. > > -- > You received this message because you are subscribed to the Google Groups > "jallib" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/jallib. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/jallib. For more options, visit https://groups.google.com/d/optout.
