A new release candidate (maybe the final one) - and the most accurate astronomical wristwatch in the world?Well, you might remember the post from here where I was describing the amount of variation seen around the 'mean cycle' for sidereal time, solar time and the moon phase. The amount of calculations needed to eliminate all those variations and achieve even remotely-precise numbers is quite big and as such it is a small miracle that good results have been possible with the ezChronos - probably in 25-50 years from now when an advanced wristwatch might have about the same computing power as our current notebooks this records will be vastly surpassed - but let me say that for the moment I strongly believe ezChronos is the clear leader ;-)The 'feature distribution' among the five 'branches' for our HEQ firmware is now also pretty clear - and all five pretty much are filled very, very close to the maximum amount of memory - so if we discover serious bugs in some cases it might be needed to remove something from that branch in order to create space for the fix :-(The '' is pretty much unchanged since rc3 (and remains the only branch that can be used to determine the initial TC curve).In the '' the only change since rc3 (other than fixes common to all stopwatch-related branches) is the addition of Day-of-Year (DY) and Week-of-Year (WY) as sub-modes in the date mode - the BlueRobin stack is just too big to leave enough space for anything else (after I already added ThermoCompensation, TimeZones, altitude-lock, repeater, the split-time and the 'info extensions' ;-) ).Once the BlueRobin part was removed more space becomes available - so all the above plus the full world-time (with full automated DST change) together with the advanced (and now 5) alarms and the full barometer log/alarm are now present in two branches - the recent '' one (where basically only two small fixes have been made since rc4 - both the 5 alarms and the 9 counters were showing one last extra 'false item') and the '' branch.One quick word on the '' - the SIDER mode was consolidated in a more similar way to the full ASTRO mode - and the commands from the buttons are also more like in that one. There are now two sub-modes - the already-seen sidereal time and the new 'simplified moon age' sub-mode - and you can switch sub-modes like always with the corresponding right button. The MEAN moon age is displayed in DAYS.FRACTIONS (up to 29.53, but internally a value around 29.53058888 expressed in special-optimized integer arithmetic is used) and the '24 hours MEAN error' (currently seen in non-relevant claims of accuracy from inaccurate wristwatches ) should only take place after more than 10000 years - take that Ulysse Nardin / Lange / IWC :-d (however the actual new record-holder is not this branch, but instead the new ASTRO firmware - keep reading below). As before there are still two possible longitudes which you can now 'toggle' with a long left-button press when sidereal time is shown. The visible indicator of which one is selected is the [AVG] symbol at the bottom - if that is blinking you are on the second (default 0.0 longitude - giving Greenwich Mean Sidereal Time GMST) one, if not blinking you are on the local one (with Local Mean Sidereal Time LMST) - which is the one that can be read from the flash INFO (if you have programmed one there). The actual manual user-editing of the longitude for the selected one (meaning that both can be edited in turn) is done with the same long left-button press but when the second sub-mode (MoonAge) is on display.And now to the 'new kid on the block' - the full '' - this one required so much space for the astronomical algorithms so that everything possible was removed - the full-auto DST/worldtime, the stopwatch and most of the advanced sub-features in other modes had to go (but timezones and manual DST are still present), and there are now only 4 modes on the top:TIME - ALaRM - TEMPerature - BAROmeterand only 5 on the bottom lineDATE - ASTRO - INFO - SYNC - RFBSL.Even some internal features had to be toggled-off to make space, including the ability to WRITE the HEQ parameters - those written in the INFO flash still are used for TC, but if you want to further adjust them you need to first load some other firmware, write the new TC parameters into the flash memory, then load back the ASTRO firmware! There is only very limited memory left, so any bugfix will probably result in the removal of the names of the modes and then of the INFO mode (which here is only showing the battery level anyway).But now let's see what the '' can actually do:- there are still TWO locations (and the flashing/solid indicator at the bottom, just like in the simpler Sidereal branch) - in that Sidereal branch locations were longitude-only (since that is the only location part used for sidereal time, the moon-age is using none); in the full ASTRO module the locations have both longitude and latitude and also a timezone used to adjust the times that are shown - the first location is read from the INFO flash (and as a timezone the local one set for the normal TIME module is used upon reset), the second location defaults to the Greenwich Astronomical Observatory (pretty much London) BUT with UTC time (meaning no DST!) - everything described above for those two locations can be individually configured in the corresponding 'Setting Mode'!- the ASTRO sub-modes (changed with the right-button as always, for 1 second the name of the sub-mode will be displayed on the other = top line) are:SIDR - SIDeReal time (hH:MM:SS)EOT - Equation Of Time (+/- MM:SS)TRNS - solar TRaNSit (actual local solar noon HH:MM:SS)SRSE - Sun-RiSE (HH:MM)SSET - Sun-SET (HH:MM)MOON - MOON percentage illuminated (0.00 to 100.00, the % icon will also blink)MAGE - Moon AGE (precise DAYS.FRACT, can be as high as about 30.25)- (date for current new moon)- (date for current full moon)- (date for next new moon)- (date for next full moon)- the last 4 sub-modes are somehow special - on the top line instead of a name the precise hour and minute (HH:MM) will be shown for 1 second - so you must be quick and look at that part first if you are interested in it :-d- the precision involved is different in sidereal/sun/moon - in sidereal time it still is the same 'better than 2-3 seconds' (plus whatever the watch time error is), the equation of time and solar transit are also precise to 2-3 seconds, the sunrise and sunset represent the 'official' values (not civil or naval sunrise/sunset) and seem to be within 2-3 minutes on 'normal' latitudes (below 65 N or S) and under 500 meters of altitude, going to within 10-15 minutes on extreme latitudes or altitudes; the moon times are also within 10-15 minutes or so from the corresponding astronomical values; the moon percentage and the age are slightly different in this regard - those use as a base the last new moon but also do a small amount of basic recalculation when the display sub-mode is changed - so for instance every about 15 minutes or so the age might change with 0.01 day and something similar could take place on the percentage;- those precision values could have been within 1-2 minute for sunrise/sunset and under 3-5 minutes for moon - unfortunately the floating-point library that I can use for this CPU is simple-precision (around 6-7 digits) and HUGE efforts had to be made in adjusting the implementation of the algorithms so that the final accuracy would be decent (just as a very simplified technical example - for instance Julian Date JD 2455773.2773 is a good approximation for a new moon on Jul 30 18:40 UTC, however only the first 7 digits can be accurately represented in a simple-precision number - and that immediately would result in more than 12 hours of error - which of course is avoided by calculating from a different offset - which is also much closer to us than the '4713 before our era' JD starting point);- but even with all those simple-precision limitations the accuracy for instance for moon-phase is 10-100 times bigger than what the previous record was claimed in wristwatches - remember that the solar mean times can vary with 14-16 minutes from the mean and the precise moon phase has variations up to 18 hours from the mean :roll:- for extreme latitudes a special value can be seen for sunrise/sunset - during the 'polar day' you will see DAY (no sunset on current day) and during the 'polar night' you will see NIGHT (no sunrise) - for instance if you are among the over 300000 citizens of Murmansk you will see DAY from about May 22nd to about July 23rd and NIGHT from December 2nd to January 10thSome other usage-level details:- the same unusual trick seen in sidereal time is still used for the actual display of values over 19:59:59 - the bottom line does not have a full digit for the very first position, just one single segment which can be either off (a zero), on (1) or can blink - and that marks in this version an ultra-economical display of the value 2 :-d ; however that 'blinking 1 as a 2' should only be seen on sidereal time - if the solar transit is over 19:59:59 there is something seriously wrong with either the timezone or the longitude that you are using ;-)- different 'Settings-mode' are (as always) started with a long press on the corresponding bottom-left button; however since there are so many settings you get 3 'entry points' - if you have the long-press starting in SIDEReal time (which is the default sub-mode anyway) you only toggle between the two possible locations - this will also force a recalculation (you will see later why that is handy);- if you have the long-press starting in the second sub-mode (Equation Of Time) you can set the timezone used for displaying ASTRO times/dates - after reset the timezone for the first location is copied from the local timezone configured for the watch, but is NOT later set automatically if you change the local timezone (or for instance if you SYNC the watch) - so you should check that setting if something seems wrong by full hours! Also the second location is using UTC by default - that is handy when you want to compare UTC moon-phase times but for sunrise/sunset remember that during the summer London is using DST - but of course you can change that second location to whatever you want;- in all other sub-modes a long-press will enter the settings for longitude and latitude (for the CURRENT location - you can know if you are on the first or on the second if the AVG symbol at the bottom is solid or flashing); settings are in degrees-minutes-seconds with East/West and North/South;- you can calculate the astronomical values from some other location by simply entering the longitude, latitude and eventually timezone - when that is set the astronomical values are re-calculated automatically;- also an automatic recalculation is triggered at midnight after date change; (technically that takes place immediately ONLY if the ASTRO mode is active, otherwise the CPU-intensive calculations are delayed until the user gets to the ASTRO mode);- the date used in all ASTRO calculations is the 'current date' as set in the date module - and that can be used to calculate things for some arbitrary date (also based on the fact that the precise seconds in the watch are not affected by any simple changes in date or hour or minutes) - HOWEVER after MANUALLY updating that date/time an automatic recalculation is NOT triggered - and here is where the toggle between the two locations can be very handy since it forces a recalculation! Same result can be had by entering ASTRO settings mode and exiting with save - however keep in mind that every recalculation is very CPU (and battery) intensive!goes to our moderator Ronald - not only he was the first to suggest the idea of an astronomical firmware with sunrise/sunset, but also he provided a very helpful coding example for that sunrise/sunset algorithm - in old Fortran code, but it still helped me a lot in understanding certain algorithms from other sources!- the very first step is to be 100% certain that you have your longitude, latitude and timezone set correctly in the ASTRO module - remember that the ASTRO timezone is separated from the one in the local time and that you have two locations - probably leaving the second (the one with blinking symbol) untouched on Greenwich and UTC is simpler but on the very first location you should certainly set things right before checking any numbers!A very good site to check the precision of the displayed sidereal time would be:- it is using atomic time and the 'full astronomical correction' so we should test the watch against that site (and please report back if you see more than 2-3 seconds of error while your time is correctly set)!A site I was using to check some of the other astronomical values is:but there might be other/better sites - please let me know what you find/use and how accurate the watch is compared to those!Thehave not been changed and can still be found at:The(now 5 files for each frequency) can be found at:I will be now testing for about two weeks the timing with one of the above (probably WorldTime+Sidereal+MoonAge, in the hope that Ronald will get Astro in tests, kjell the BlueRobin one and Webvan the WorldTime+CountDown) and maybe if no serious bug is seen then in 2-5 weeks we will have the final versions for everything b-)