Baty Diagnostics

Baty Diagnostics

A collection of tools I created to assist with supporting CNC measuring machines & computers

Background

The measuring machines that we supported relied heavily on their settings and calibrations, which also needed to be user editable to allow the end users to recalibrate them.

Unfortunately, this meant that if somebody didn’t know what they were doing, they could cause a lot of problems with their machine. We frequently had support tickets sent into us in order to remotely diagnose the problems with their machine and set it back up again.

In order to simply this, multiple support utilities were created to try and make it easier for end users to resolve these issues themselves, or to give us better information so that we could diagnose the problems quicker.

Tools

Launcher
Launcher

Baty Backup

The first utility allows the settings to be backed up and restored to a known good setup if users came across problems, across the 4 different machine types we supported as they all store their settings slightly differently. It also gave them the ability to schedule backups to run at a certain time either daily, weekly on a set day, or monthly on a specific day. A setting is also available to include diagnostic information about the computer in the backup, which included; checking read/write access to the registry, checking to see if the current user was an Admin, if the computer was networked and gathered a list of processes that were running. This feature greatly helped with diagnosing problems, as the software was quite particular on the conditions of the computer that it was running on.

Before creating any backups, it would first check to see if our software was running so that any conflict issues didn’t occur. It would then gather all the necessary files, save them into a new folder in the specified directory in the settings, and append a time and date to the folder name. It would then give you a backup report to let you know which files it had successfully backed up, and gave you the option to see error messages, if it encountered any problems. As an option to schedule backups automatically was included, this utility also had the ability to be run silently via the command line.

Upon trying to restore a backup, it would first ask if you wanted to take a backup of the current settings, and would once again check to see if our software was running. It would then check the specified zip file to see if it’s a valid backup format, and would then check write permissions on each file it was trying to restore before doing so. Once it had completed it would then give you a restore report to let you know of any problems that it might have come across, with detailed error messages.

We found this utility to be very useful, so we started including it preconfigured on every machine we sent out with the backup scheduler enabled. This utility is still being used to this day.

Baty Backup screenshots

Backup & Compare

This utility is used to compare two different version of the same setting files and shows any missing settings, as well as differences in either existing settings. Labels in the bottom right of the window showed the length of both files, as well as the quantity of differences between the two files loaded. The user could then select certain settings in the grid and merge the two files together with the updated settings that were ticked. It also had the ability to export a csv file of all of changes shown in the grid so that it could be sent to us for analysis and testing, and had the ability to load back in the same file so that it can be viewed in the comparison grid. A backup function that was similar to what the Baty Backup utility did was included, but only focused on the settings in the registry.

For circumstances where we weren’t able to figure why the settings weren’t working properly on a machine, we used the Extract Calibrations button to extract the calibrations for that machine and imported them into a fresh settings file or a previous backup. This saved the user a lot of time by not having to re-run all their calibrations again.

Main window
Main window
Settings window
Settings window

MK4 Settings converter

Shortly after I started working at Baty, our software provider was in the process of rolling out an update of the software we use, something that had been working on for many years. The software visually changed quite a lot, and the way the settings were saved & updated drastically changed too. This utility reads in the settings stored in registry, and converts them into .xml format to work with the newer version. It also copied over the relevant calibration files into the new programs directory and added links to them into the .xml settings files.

The application automatically scans for the relevant files, and then checks to see if they’re writeable. If the files aren’t found, you won’t be able to proceed until you run the newest software once to create the basic settings files.

Once the new settings files are found, it gathers all the settings from the registry as well as the files from the install directory of the old software version. A backup of the current settings .xml is taken, and then the settings from the old software version are added to the new .xml file, and the files are copied into the new install directory.

MK4 Settings Converter
MK4 Settings Converter

Camera and Lightring diagnostics

This utility allowed the user to test their camera and lightring outside of its usual software in order to figure out if the problem they were having was to do with their software settings, or with the hardware itself. This tool allowed the user to turn on individual LED’s and adjust their brightness, as well as checking the full camera sensor. Unfortunately, I no longer have access to this application.