The moon clock seems to be keeping the correct time and to advance to the new rise and set times correctly. So what improvements needed?
The main issue is that when running headless, there is no text output to tell you what the clock should be showing. This is a nuisance if you need to set the clock hands. It is of course possible to direct the standard output to the console, but I have not been able to determine what buffer size is allocated, or how to flush it. It could fill up after months or years. The same issue could apply to a file. Moreover, directing to a file isn’t good because the output is buffered and only written when the buffer is full. Given the small amount of output from the clock, you’d never know what the current readings are.
It would be better to output to a GUI box nicely formatted to show just the expected information. It is possible to do this in Python and my next step will be to try this out.
There is another small change I’d like to make. We know that we are limited on the accuaracy that the h hand can show the set time, but there shouldn’t be much of an issue with the rise time. Except that the rise time can be 15 hours or more after the previous set time. The present algorithm calculates the rise time display to be accurate at the time it is evaluated, 1.5 hours after the previous set time. So the s hand can have moved by 13 or 14 hours before the rise time is reached, during which the m hand has moved about 13 or 14 minutes. By allowing for this, we can get a more accurate rise time. It can’t be completely accurate, of course, because the hands are all geared together.