Log10mGrabber

Log10mGrabber graph of 10Micron's MountLogger RA motor readings.
Figure 1: Log10mGrabber graph of 10Micron's MountLogger RA motor readings.
Using 10Micron's MountLogger it is possible to log data from 10Micron's GM1000HPS, GM2000HPS, GM3000HPS and GM4000HPS mounts. These loggings contain a wealth of information that is stored in files with the extension log10m. In case of issues these files are requested by 10Micron so they can open and analyse them to see where things possibly go wrong. As these files are zlib-compressed the owner has no easy way of checking what is in there and whether or not the analysis by 10Micron is correct.
For that reason I initially created MountMonitor and now started a simple Java tool log10mGrabber.
I have been kindly asked by 10Micron to no longer distribute this application as it "...could disclose reserved and sensitive information that could be easily reached by comptetitors..." and could cause "...useless and endless discussions, with a lot of loosing time for our technical staff."
As per firmware version 3.0 the contents of the log10m files has been greatly reduced, predominantly by omitting raw data channels S0-S6. Without these channels it is difficult the address issues, as all that is left in the file is processed data.


How it works

Example of S4 data from the log10m file.
Figure 2: Example of S4 data from the log10m file.
Log10mGrabber is started by dragging the log10m file onto the log10mGrabber.bat file or by opening a CMD-window and giving the command
java log10mGrabber [filename].log10m
Once started log10mGrabber will show its progress in deflating the log10m file. Meanwhile a folder with the name of the original file is created, containing a text-version of the original file which is filled with all the ASCII data found in it. The original file also contains several separate text and binary files, which are all extracted and saved as separate files under their original names.
In addition 10 types of data are saved in the main file (S0, S1, S2, S3, S4, S5, S6, S7, S10, and S11). Apart from S7 the data is numerical and is used to draw graphs from. Not only does log10mGrabber extract these files, it also creates rough graphs for them. It reads the data and presents them as a blue line with blue annotation at the left, calculates the linear regression and the deviations from the data in respect to the regression and shows that in red with ditto annotation.


Contents of the log10mGrabber zip-file

The log10mGrabber.zip file contains the following files:
FileDescription
cmd.batBatch file to open a CMD-terminal to give manual commands as indicated above.
log10mGrabber$LinearRegression.classA class taking care of the linear regressions, the source code is included in the log10mGrabber.java file.
log10mGrabber.batA batch file that can be used by Windows users to drag a log10m file to it and in that way start processing automatically.
log10mGrabber.classThe main class of log10mGrabber.
log10mGrabber.javaThe Java source code of log10mGrabber.


Extracted files

The following files are directly extracting from the log10m files ( = files are completely read and contents is understandable, = files have known contents, but cannot yet be read or can be read, but have unknown contents, = files cannot be read and contents is yet unknown):


FilenameTypeStatusRemarks
[YYYY]-[MM]-[DD]T[HH]h[MM]m-[n].log10m.txtASCII Main text file with same filename as the log10m file, but now with extension .txt, containing general settings and live data. The live data is extracted to files S[n].txt with n in 0, 1, 2, 3, 4, 5, 6, 7, 10, and 11 (see below).
align0000[n].alignment.bin BINARYModel data of model [n] (n = 0, 1, 2, ..., n), yet unknown format, but model point numbers can be recognised and stored names are given in useralign.data.bin.
align0000[n].alignment.meta.txt ASCII Metadata for align00000 with model date/time. It is not strict ASCII, but is readable.
current.alignment.bin BINARYCurrent model data, yet unknown format, but model point numbers can be recognised.
end_align0000[n].alignment.bin BINARYModel data, identical (?) to align0000[n].alignment.bin.
end_align0000[n].alignment.meta.txt ASCII Metadata for end_align00000, identical (?) to align0000[n].alignment.meta.txt.
end_current.alignment.bin BINARYCurrent model data, yet unknown format, but model point numbers can be recognised.
end_event.log.txt ASCII Log of events of this session, identical to event.log.txt.
end_event.log2.txt ASCII Log of events of previous (?) session, identical to event.log2.txt.
end_last.alignment.bin BINARYAlignment model data, identical (?) to end_current.alignment.bin.
end_useralign.data.bin BINARYNames of stored alignments, most likely corresponding to align0000[n] (n = 0, 1, 2, ..., n), identical to useralign.data.bin.
end_utc.bin BINARYFile starts with header UTCBIN00, yet unknown format and contents, identical (?) to user_utc.bin and utc.bin.
event.log.txt ASCII Log of events of this session, identical to end_event.log.txt.
event.log2.txt ASCII Log of events of previous (?) session, identical to end_event.log2.txt.
last.alignment.bin BINARYAlignment model data, identical (?) to end_current.alignment.bin.
useralign.data.bin BINARYNames of stored alignments, most likely corresponding to align0000[n] (n = 0, 1, 2, ..., n), identical to end_useralign.data.bin.
user_utc.bin BINARYFile starts with header UTCBIN00, yet unknown format and contents, identical (?) to end_utc.bin and utc.bin.
utc.bin BINARYFile starts with header UTCBIN00, yet unknown format and contents, identical (?) to user_utc.bin and user_utc.bin.


The following files were generated from data found in the main [YYYY]-[MM]-[DD]T[HH]h[MM]m-[n].log10m.txt data file (for icon descriptions see above):


FilenameTypeStatusRemarks
S0.png GRAPH Graph of S0 data (RA axis raw encoder values).
S0.txt ASCII S0 data.
S0_residuals.txt ASCII S0 residuals.
S1.png GRAPH Graph of S1 data (source yet unknown).
S1.txt ASCII S1 data.
S1_residuals.txt ASCII S1 residuals.
S2.png GRAPH Graph of S2 data (source yet unknown, seems to be RA-data in arc-seconds).
S2.txt ASCII S2 data.
S2_residuals.txt ASCII S2 residuals.
S3.png GRAPH Graph of S3 data (source yet unknown).
S3.txt ASCII S3 data.
S3_residuals.txt ASCII S3 residuals.
S4.png GRAPH Graph of S4 data (source yet unknown, seems to be RA-data in arc-seconds).
S4.txt ASCII S4 data (source yet unknown, seems to be RA-data in arc-seconds).
S4_residuals.txt ASCII S4 residuals.
S5.png GRAPH Graph of S5 data (source yet unknown).
S5.txt ASCII S5 data.
S5_residuals.txt ASCII S5 residuals.
S6.png GRAPH Graph of S6 data (source yet unknown).
S6.txt ASCII S6 data.
S6_residuals.txt ASCII S6 residuals.
S7.txt ASCII S7 data (results of LX200 protocol commands). No graph is produced for this data.
S10.png GRAPH Graph of S10 data (source yet unknown).
S10.txt ASCII S10 data.
S10_residuals.txt ASCII S10 residuals.
S11.png GRAPH Graph of S11 data (source yet unknown).
S11.txt ASCII S11 data.
S11_residuals.txt ASCII S11 residuals.


The residuals are calculated using a linear regression through the whole S[n].txt data file. The slope and intersect of these data files are given at the first line of the S[n]_residuals.txt files.


Assistance required

Two PHD2 loggings that served as reference for understanding S0 data.
Figure 3: Two PHD2 loggings that served as reference for understanding S0 data.
As can be seen in above tables, quite a few files are not yet fully understood or not understood at all. By making the source code available, we hope that other 10Micron owners are willing to participate in reading and understanding the log10m files.
So far log10mGrabber has been successfully used to show that in some cases the GM3000HPS does not track correctly. For this two recordings were made using PHD2 in drift mode (see adjacent image).
As the RA-axis has 315 teeth, periodicity in the S0 data of 274 seconds can be expected (the worm wheel would make a full turn in a sidereal day). So from both datasets a start and end point was calculated using 274 seconds of data in order to cancel-out the influence of periodicity. The the slopes of the two recordings were compared to the same calculations made using the S0-data. They agreed with each other at a 97% level (PHD2 showing 10.59" drift difference in 1477 seconds, while log10m-S0-data showed 10.21" drift difference).
Hopefully we can, with assistance from other 10Micron owners, soon understand all available data and perhaps even re-calculate the RA and DEC coordinates from the raw encoder data in the log10m files.


If you have any questions and/or remarks please let me know.


Home Geodesy Navigation Astronomy Literature
InFINNity Deck... Astrophotography... Astro-Software... Astro Reach-out... Equipment... White papers...
ASCOM Generic UPS driver ASCOM Envir. SafetyMonitor ASCOM File SafetyMonitor ASCOM SafetyMonitor Hub Astronomical Twilight FITSalize Log10mGrabber MountCMD MountMonitor