Development has slowed considerably on the heating project, but I try to make any small changes go live on a Friday, so that it has the maximum live testing time to show any problems before I leave it with the family on Monday.
This week sees some more tidyup, lots of thread locking code and some other robustness features.
From the users point of view there is one major improvement - it is now possible to set the timed programs from the GUI. Using a graphical week calendar component I picked up at the code project it is just a matter of highlighting the times of the week when the heat should be on, and thats it!
Right clicking on the display for a zone brings up the following screen:
From here it is possible to create "Once" programs, that are deleted after they run, or "Weekly" programs that are saved to run every week.