Friday, June 20, 2014

Two-faced ("Kandinsky") Wise Clock

I managed to get the "Kandinsky" two-faced Wise Clock working with most of the relevant apps. The physical build looks and feels solid.




The software changes cover both single Kandinsky (2 opposite displays) and the double Kandinsky (4 displays, 2 on each side).

This new feature helped with eliminating a few bugs related to X_MAX (mostly wrong or hard-coded values). There are still a few remaining, but they only come to light on 4-display Wise Clocks (list from Nick):

'BIG' - only displays on the left two displays;
'TIX' - only displays on the left two displays;
'Words' - looks odd;
'Stopw' - only displays on the left two displays but time is centered;
'Score' - again, not centered; plus the button functions are swapped;
'Pacmn' - doesn't work at all;
'Lived' - again, not centered;
'Anim' - again, not centered;
'UTC' - again, not centered;
'Life' - fails totally, appears to revert to previous APP.

So, lots of work still....

I also resurrected the Wise Clock chronometer for a customer. The updated software will feature new fonts (one shown in the photo below), countdown timer, two-face (of course :), setting the time from buttons etc. Note that this code is on a different trunk than the Wise Clock code. It uses the 1Hz SQW interrupt from DS3231 to update the time on the screen.



6 comments:

  1. Does that mean you can't incorporate the chronometer into the wise clock code? Great looking clock!

    ReplyDelete
    Replies
    1. Not easy, probably even impossible (for me).
      Even the principle of updating the time is different: Wise Clock 4 relies on polling (reading the RTC and displaying what it gets). This chronometer relies on interrupts: every second, and only once a second, the display gets updated with the time read from RTC. The software for chronometer is much cleaner (and leaner), easy to modify and expand. It is based on a state machine implementation, which can be easily translated in a clear and (human) readable diagram. My next post will probably be on this one.

      Delete
  2. Florin, how easy would it be to select which software runs on startup? i.e., holding down a button on power-up runs chronometer or wise clock software - or some other selection process? Also, how about displaying the software version on start-up..useful for us who have a few of these beauties....;-)

    ReplyDelete
  3. Nick, this is a very good idea.
    Ideally, this should be "automatic", based on the 1Hz interrupt, I'm thinking. (Remember that there is a hardware difference between the chronometer and "regular" Wise Clock, and that is the shunt that connects DS3231's SQW pin to 1284's D2.)
    Let me think about it, it should be doable. Great idea, thanks!

    ReplyDelete
    Replies
    1. Trying to elaborate more on this, I just realize that you want to also be able to run Wise Clock software on a "interrupt enabled" chronometer. So it shouldn't be "automatic" as I was thinking, but rather user-driven, based on a push button (or menu item).
      Need more thinking :)

      Delete
  4. It would be a very useful feature for the clock, especially using the monster 5 mm displays...a switchable chronometer and display sign setup could be desirable. Just thinking out loud...;-)

    ReplyDelete