Looks like interesting work. How does this differ from the already existing Time library?http://www.arduino.cc/playground/Code/Time
Was looking at your code, alvarojusten, saw the function to represent the day of week as a string. Don't know if you noticed, but all the clock does in increment the day of the week by one (rolling from 7 to 1) every time it hits midnight. It does *not* seem to have any fixed association between the date/month/year and what day of the week it is. Convenient in some ways as you are perfectly able to define 1=Sunday, 1=Monday... or 1=Thursday for that matter (if you can get the hang of Thursdays...).Similarly, it is perfectly happy to let you set the date to Feb 30... and then it continues to the 31st. Seems to know if the current m/d/y is the last day of the month -- and if so, it will roll to the next month at midnight. But it won't force the date to be valid for the month/year.
Had a chance to learn Git and put what I've done up at https://github.com/davidhbrown/RealTimeClockDS1307.My goal in creating yet another DS1307 library was to provide easy access to some of the other functions I needed from the chip, specifically its square wave output (for an interrupt) and its battery-backed RAM (to allow configuration info to persist across restarts of the Arduino. (It's annoying, but I suppose necessary, that the Arduino restarts every time you open the Serial Monitor.)I've included an example sketch which allows you to set most everything interactively from the Serial Monitor. Also a Fritzing board based on the Sparkfun module.
(the Time library has) a lot of features that I don't need (NTP, time deltas etc.)
The Time library also "polutes" the namespace since it add a lot of functions (hour(), minute() etc.) instead of creating a class, instantiate it etc.