System Updates & Development News
Hi! I'm Martin Paul Gardiner
Electronics and software development engineer and founder of GSA Golf
Regularly check out my tech news page for all our latest developments and free updates
if you have any questions
please feel free to contact me personally anytime at
Did you get a response to your e-mail?
We get really busy at times and e-mail responses can be late or even forgotten at times.
Please remind us again if you didn't get a response to your e-mail.
GSA Golf Control Panel (CP) downloads
GSA Control Panel (CP) update V.220.127.116.11
May 17 2019
GSA 64 bit Control Panel (CP) update V.18.104.22.168
May 18 2019
Download VC redistributables hereHere
Don't forget to run the download after it's downloaded!
A number of customers don't realize that a CP update is a dual process
i.e first download and then run the download
Note that anti-virus programs will probably try to block the GSA Golf CP update download but - be assured - there's no malicious software in the download update
so just ignore any warnings from your anti-virus programs and choose the "More options" and "Run anyway" option.
Need support ?
We offer free e-mail and remote access support
Our remote access support is done with the TeamViewer software.
Click the above image to download and install the free TeamViewer software on your PC
May 19 2019
1. Ball in launch zone detection
2. Real-time ball strike detection
3. Real-time 32 frame video swing capture
Yet to do list:
As all image capturing and processing is now completed, there's just the live tests to be done.
All looks very good though so we're still on time with the first VisTrak beta release date of June 1
May 18 2019
64 bit V 22.214.171.124
Announcing the new 64 bit version of the GSA Golf Control Panel
This update - in preparation for the VisTrak - required a considerable amount of time (over 8 hours) for all the 64 bit modifications
and required sourcing and replacing all DLL libraries with their 64 bit version counterparts.
Warning: If you install this 64 bit version, you can't easily revert back to the 32 bit version afterwards.
It will require a complete new 32 bit version installation in this case.
Note that the older 32 bit version will not be supported for very long now as I can't support 2 software source codes.
Also note that the CP is still installed in the "Program Files x86" folder even though it's a 64 bit application
which would normally be installed into the regular "Program files" folder.
( this is because the installer program we use always defaults to this folder and you can't change it -
and it would be very inconvenient for the user to have to change this default installation folder every time they want to make a CP update)
Nevertheless, the CP 64 still functions as a true 64 bit application and runs on the 64 bit platform in the x86 folder.
You can check this with the Windows "Task Manager".
When running the new CP 64 you should see that the application is named " GSA Golf Control Panel 64" in the top right hand corner of the CP's window.
Have fun and let me know if you encounter any issues with the 64 bit version.
May 17 2019
"Houston, we have a solution"
After some intensive studying of the camera's SDK and numerous trial and error tests, yesterday's issue has been resolved.
Frames are now being captured and stored in frame buffers at the full frame rate.
The frame buffers are used to perform any image processing and display rendering.
Yesterday's issue was caused by display rendering on every frame - which caused frames to be dropped during the time consuming display and window update functions -
and - in addition - not using the camera's built in image copy functions that are lightening fast compared to the regular CP's image to frame buffer copy functions.
Display rendering - which is only required if the user has the camera window open - is now only done every 200th or so frame.
Display rendering in the Video Swing Playback window is at full full frame though.
There's still a slight deviation in frame rate compared to the camera manufactures application though. While their app is capturing frames at 614fps, the CP is at 560 fps.
This is probably due to their app being a 64 bit app and the CP a 32 bit app. Generally speaking a 64 bit app will be about 30% faster than the 32 bit version of the same app.
Thus, I'll be converting the CP to a 64 bit app soon too.
Today's CP update is only for new camera registrations so no need to run this update unless you have received a new camera.
It also contains all the (uncompleted) new code for the VisTrak so I'm hoping there won't be any issues with the regular CX systems.
May 16 2019
"Houston, we have a problem"
Wouldn't you believe it. Just as I thought we're just having to do some final tests before the release of the VisTrak, a major problem arises.
The CP isn't capturing frames at the same rate that the camera manufacturer's example application does.
While the camera manufacturer's example application captures and displays images at 614 fps, the CP couldn't get over 100 fps.
After some tweaking, the CP can now capture frames up to 550 fps but only if the CP doesn't store the images in its own frame buffers.
Looks to me like the camera manufacturer's example application is using the camera's internal frame buffers.
In addition, the camera manufacturer's example application is a 64 bit application while the CP is only a 32 bit application which can speed up frame capturing by about 30%.
More work on using the camera's internal frame buffers has to be done and possibly a CP 32 bit to 64bit conversion will be required.
Another horrible thought is - if the PC is so time consumed with grabbing frames at 600 fps - how will this effect the game software rendering
which (in-of-itself) is consuming nearly all the CPU processing on its own?
In order to run both the VisTrak and the gaming software (E6 or TGC) on one PC, I would have to - some how - freeze the gaming software while VisTrak is grabbing fames.
Maybe that's possible but frankly it looks like the VisTrak will require its own dedicated PC at the moment.
Not that that's a big deal as VisTrak's video swing playback could only be viewed on a separate PC anyway.
May 15 2019
All data calculations completed. All data display functions completed.
Club face angle, path and speed (measured from frame images).
Ball path and speed. (measured from frame images)
Ball Launch Angle, spin, spin axis and side spin (calculated from VisTrak's ball and club data)
First live tests will start tomorrow.
May 14 2019
The above sequence of images show VisTrak's ball and club detection.
(Note that only 6 of the 32 frames are shown here due to space limitation on this page.)
The square box is the user defined launch zone area which can be positioned and resized as desired.
To date, this was the most difficult part of the software to code and had taken a few weeks to accomplish.
An easy part will be to now calculate the club face angle, path and speed and the ball path and speed.
Should be ready tomorrow.
VisTrak's estimated release is now June 1. 2019.
May 06 2019
The new GSA Golf F2 full golf simulator featuring the VisTrak tracking system starts at just $5,995
Click above to read more.
May 05 2019
As the VisTrak camera can capture bright frames with a very short exposure time (i.e. fast shutter speeds of below 100 micro-seconds)
I don't see the requirement to use IR flashes. If that's the case, then the standard VisTrak's price can come down to the same price as the VisTrak Lite. i.e. $ 995
CX - is the Line scan camera still required?
In theory, the frame trigger method used with the VisTrak could also be used with the standard CX cameras (as used in the CX2, CX, PX5 etc).
Even though the standard CX cameras are only running at 32 fps, the ball trace should still be visible in the frames.
The trace wouldn't appear in the same place every time but that wouldn't matter as long as there's sufficient IR light illumination in the camera's fov.
Other than the fact the we could save the cost of the line scan camera, this method could well be more reliable and there wouldn't be any need to adjust line scan sensitivities.
Probably I'm going over the top here but judging from the response I'm getting for the VisTrak, this product should be quite a big seller.
Some people are even telling us that if VisTrak can do everything it says it can do for just $995
then the potential sales volume of the VisTrak could surpass the sales volume of all our competitors combined!
While that probably won't happen, I'd be very happy if VisTrak sales exceeded 50 a year and CX Surrounds exceeded 12 a year.
VisTrak may also be available via resellers and on Amazon too.
May 04 2019
A good solid 8 hours of coding was completed today on this new project.
Testing showed that the camera can capture bright images with an exposure time down to 100 micro seconds while still running at 600 fps.
That's freeze frame timing so there should be no or very little motion blur in the captured frames.
BTW all coding is done in the "C++" programming language which isn't easy compared to the basic "C" language.
As they say in the programing world : "While it's easy to shoot yourself in the foot with "C", you can blow your whole leg off in C++ !
May 03 2019
Ball and club data image processing code completed for club face angle, club path, club speed, ball path and ball speed.
All this has yet to be tested though.
The USB 3 VisTrak camera was plugged in to the PC for the first time today and I can confirm that it is indeed running at 600 fps.
At 600 fps, images of the club are captured every 8cm (3 inches) at a club swing speed of 100mph
and images of the ball are captured every 16 cm (6 inches) at a speed of 200mph.
At this frame rate the video playback should be nice and smooth.
Exposure time will have to be reduced in order to reduce or prevent motion blur though.
May 02 2019
More great VisTrak development progress made in the last two days.
Looks like we're only a couple of weeks away from going into production now
and the first video capturing software release with club and ball tracking may be ready this weekend.
A major VisTrak development delay - up until now at least - was being caused by time consuming CX Surround production here at GSA Golf.
However, this will be eliminated soon thanks to our new production facility in L.A.
BTW L.A, meaning "Lower Alabama" not "Los Angeles" California.
April 30 2019
Since starting the VisTrak development my wife and friends are saying I'm starting to take on a striking resemblance to the this guy.
Anyway, completed today:
1. User defined ball launch zone area size and position.
2. Ball in launch zone detection
3. Ball launch detection with launch position in video sequence.
April 28 2019
Today's CP update includes a small demo VisTrak video file.
The video is not very good I'm afraid as the trigger software hasn't been completed yet and so we had to simulate a video by capturing individual frames.
It gives you a basic idea though. It will automatically load when you go to the VisTrak window.
Load and save functions now work (Press ctrl key down to load any saved video otherwise the default demo will load).
April 19 2019
CP can now run in Full Screen mode
User request: Full screen mode for the CP.
Set Full Screen mode ON/OFF in the Setup window and restart the CP.
Full screen mode increases the window size to the full size of the monitor. Useful for easier touch screen operation and visibility.
Out sourcing manufacturing
Judging from the response and orders we're getting for the CX Surround at the moment, it's not likely we're going to be able to keep up with demand in the future.
We are thus outsourcing some of the manufacturing to others.
Currently we have a company here in the US (Alabama) and are negotiating with European (UK) and other countries at the moment.
April 17 2019
User request: featured in today's CP update.
If club face angle greater than the user defined "Max measured club face angle" then club face angle is set close to ball path angle.
Usually, if the measured club face angle was greater than the "Max angle" then the club face angle would be set to this max value.
As this state would seem to more indicate a club face angle measuring error, then it is safer to set the club face angle close to ball path angle as face angle and ball path are usually very close.
April 14 2019
Fix: club data not always being read when system in "Stereoscopic" mode
April 13 2019
First production model photos
April 8 2019
CP updates for stereo calibration
1. Left / Right ball path direction can now be reversed (setting is displayed when in stereo calibration mode).
2. Fix: Ball launch position couldn't d be adjusted in Camera 1.
3. The current row in the calibration table for points 1 and 2 of the ball trace are now shown in red and green respectively. If rows are the same then the color is yellow.
4. Changing the camera height value (setting is displayed when in stereo calibration mode) will adjust the disparity to height values in the calibration table.
e.g. if the CX Surround is mounted at less than 9ft off the floor then the ground level disparity value will be greater than zero.
i.e. while at a mounting height of 9ft the ground level disparity will be at or near zero, when the CX Surround is mounted a 8ft,
then the ground level disparity will be around 30 which - without adjustment - would mean that the ball is 10cm or so off the ground instead of at floor level.
5. For CX Surround users that want to mount the CX Surround higher than 9ft, there's a new calibration table swap setting. (setting is displayed when in stereo calibration mode).
The setting is either for a 260 cm height or 300 cm height. Regular CX2 users that are converting their CX2's to Stereoscopic vision can leave the setting at 300cm
6. Occasional system crash in Stereo mode resolved.
coming soon for all GSA Golf products.
Priced at $2,500 with 27 courses. Many more courses and features available with add-on subscriptions starting at $300 to $600 per year.
March 7 2019
CP System Administrator Mode
Bug Fix: System Adminstrator mode not being saved now fixed.
We've had a number of requests to add a lock mechanism to the CP so that unqualified persons do not play around with any of the CP's settings and setup.
This feature is of particular interest to commercial indoor golf facilities and also home users that may have kids accessing the CP.
Note that when this option is switched on, the current setup and configuration is automatically saved and that afterwards
no more changes are saved until this option is switched off.
March 3 2019
The new overhead mounted Bcam software is activated in this version of the CP
System detects back spin, side spin and spin axis with one overhead camera.
March 1 2019
Fix: Left / Right handed auto iron face adjustments were reversed.
New: User adjustable max measured face angle value introduced.
New: Warning shown if the "Ball Launch Position" appears not to be set correctly in the Ccam window.
If not set, the the Ccam won't detect a double club trace.
February 23 2019
Vcam putting is now activated if not using an Hcam camera (for PX2-V users).
We've had one report
February 17 2019
We've had one report that a camera stops functioning after around 9 holes but fixes itself after unplugging it and waiting 30 mins.
This seems to indicate the camera is overheating. To check on this, the CP now reads and displays the camera's current internal temperature.
The display is shown bottom left in all the camera windows.
Normal operating temperature should be around 60° C or 140 ° F.
February 1 2019
Roll distance now shown when putting in the CP
Roll distance in the CP is calculated from a user adjustable speed-to-distance table and not calculated from any math algorithms
Note that setting this roll distance for a particular ball speed in the CP has no effect on the distance the ball will roll on the green in the game software.
The CP has no direct influence on the ball roll distance in the game software other than it's ball speed and direction left or right.
i.e. the CP cannot tell the game software how far the ball will roll. The CP can only tell the game software that the putted ball has a particular speed and direction.
The game software then calculates the roll curve and roll distance based on the current green speed and green slopes.
In order to adjust the ball roll distance in the game software, you have to adjust the putting scaling factor in the Hcam window when in "Putting mode".
The current table entry - based on the putt ball speed - is shown in red text.
In order to change the entry you can either putt longer or shorter putts or move the blue scan lines closer and over the trace to reduce the measured trace length.
January 31 2019
New Trace checking method for both the Vcam and Hcams
As promised yesterday, the new trace checking feature can now detect a trace within pixel groups larger that the pixel count of the trace itself.
Also, the Max VPC check wasn't working with yesterday's version.
Update 2: Club fitter mode is now default OFF.
January 28 2019
New Trace checking method for both the Vcam and Hcams
Up until this version, the CP wouldn't be able to identify and find the trace in the V and H cam cameras if the image contained other bright pixels lines or objects .
Up until this version, the CP's image processing would just assume that the first bright pixel - starting from the left side of the image - would be the end of the ball trace.
The screen shot of the Vcam window above is using a test image containing the ball trace surrounded by many other bright pixels.
The new "Trace Checking" method scans the entire valid FOV of the image for all bright pixels before the actual trace scan begins. These pixels are counted and grouped.
A search routine then searches the groups for the largest group and temporarily sets the valid FOV scan zones - shown by the blue lines - around this group.
The trace scan routine can then easily find the trace.
Note that this method only works if the trace group itself is actually larger than any of the other bright pixel groups. As this is usually the case, the method will work for the majority of cases.
The above shows a typical example: just a small segment of the image contains a group of bright pixels. Up until now this would throw off the trace scan and the shot wouldn't be recognized.
Later this week I'll add more image processing code that will still detect the trace even if other bright pixel groups are larger than the trace itself.
Note that this issue has - in the past - caused a lot of frustrations with users that don't know the system well and call me for remote access support to fix this simple problem.
So I'm very pleased there's now a fix for this.
January 26 2019
Separate Ccam camera trigger delay for Chipping Mode
When chipping, your club speed will usually be far less than it would be for regular shots.
In order to keep the club tracking dot traces as close as possible to the ball, you can now set a longer trigger delay just for chipping.
To set, just press the "C" key to go into "Chipping Mode" in the Ccam window, select the "Ccam trigger delay" radio button and use the up/down arrow keys to adjust.
December 3 2018
Update for Ccam users - Setting the default face angle adjustments of irons
As the Ccam is now our preferred method of club tracking, we're adding a number of nice new features to this system.
One major adjustment required with the Ccam when using Irons is to automatically convert the measured club face angle from the tracking dots placed on the top edge of the irons to real leading edge club face angles.
Instead of the user having to enter all these values manually for every iron, there is now a default set of adjustments that can be set with a single mouse click.
The values were obtained by measuring the top edge angle of all the clubs and placing the results in a table. Some clubs may differ so the user can still manually adjust if required.
BTW The Club tracking method using tracking dots is also used by the world's No. 1 golf Launch monitors from Foresight Sports with their GCquad and GC2hmt.
i.e. If it's good enough for them then it's definitely good enough for our products at less than half the price.
November 30 2018
Update for Ccam users
Ccam users can now set the exact scaling factor for club speed measurements by placing a ball on the mat and pressing the new "Ball detect Mode".
The Ccam window now also features an easier Club select button (switch the new "show club" option ON).
CX3 users that use the Ccam club tracking system can now set the new "do not use club data" in the CP's Setup window so that the system calculates club data from ball data.
This feature is primarily intended for commercial users that may have customers that don't want to stick the tracking dots to their clubs but the system should still detect a swing
so that inadvertent ball launches don't occur during ball pickup in the enclosure.
BTW the CX3 system using the Ccam club tracking camera is now our main recommended system as the Ccam club tracking accuracy out performs all our other club tracking systems
plus it's far easier to use and setup then the color CTS dual camera system that usually requires multiple PC,s to run and (for the most part anyway) still requires tracking dots to be applied to the clubs which defeats the whole object of using dual color cameras.
Preventing inadvertent shots when retrieving balls solution
as of this version:
1. set the option "No ball launch without swing being detected on mat" ( this is now for both camera club tracking mats as well as optical sensor -px2 - mats.
This simply means that if some kind of swing was detected on the club tracking mat ( it doesn't have to be valid, just that data or frames came in ) then - and only then - do we allow the shot to launch either with or without club data.
No launch when putting if the Vcam captures data
2. set the option "Allow putting without swing being detected"
When putting, the "No ball launch without swing being detected on mat" won't work because you won't be putting from the club tracking mat.
A putt is only recognized if the Hcam sees the ball but the Vcam doesn't as the Vcam's valid FOV is set to higher level than a rolling ball.
Thus, if the system is in putting mode or a putter has been selected and Vcam data has been captured, we don't launch the ball.
i.e. if walking around the enclosure in order to retrieve balls you will certainly trigger both the H and V cams and in this case we dis-allow the launch.
No launch when valid pixel count in the Vcam is over the user defined maximum
In addition to the above methods of preventing a launch when retrieving balls, the CP features a "Valid Pixel Count" known as VPC.
The VPC counts the number of valid pixels - i.e. the number pixels in the Vcam that are equal to or are above the "Min Gray Scale" setting.
If the VPC count is less than the max VPC then it will be assumed that image contains a ball trace and the ball will launch
Note that this method won't work if the player just reaches out with his club to retrieve a ball as club head can look like a small ball trace.
In this case, either the player shouldn't use a club to retrieve balls or the club tracking swing detection method should be used.
Setting the max VPC value
To set the max VPC value, simply strike a number of balls and note the current VPC count displayed in the Vcam window after each shot.
You'll probably find that - even with the longest shot - this value will be in the 2000 to 4000 value.
In this case, set the max VPC count (using the F8 - to decrease and F9 keys - to increase) to the max value you've seen plus a tolerance of 500 of so.
November 21 2018
Data wait count
The "data wait time" value is visible in the Setup window of the CP as of version 126.96.36.199
This number is used to force the CP to wait until club or ball spin data has been sent to the CP
Usually the V and H cams will capture the ball before club data coming over slower lines arrives at the CP.
In order to prevent the ball from immediately launching without club data in the game
the system will wait a while for the club and or spin data to arrive.
The wait counter is set to this value when both the V and H cams detect a shot.
If this number counts down to 0 then the shot will be launched with just the ball data from the V and H cams.
If you notice a significant delay between striking the ball and the ball launching in the game, reduce this wait count value in the Setup window of the CP.
November 19 2018
Ball spin detection improved for LX and Bcam systems.
November 14 2018
Ball spin axis reverse option for Lefties only.
This setting can be made for left handed players only now.
Calibration table for Converging stereo cameras not being saved.
November 12 2018
There are now two optional ball putting positions - 1 for left and 1 for right handed players.
This option is useful when there is insufficient distance between the end of the hitting mat surfaces and the SX line scan camera and/or trigger array.
The player then putts from the side of the regular hitting surfaces and the game feedback to the Control Panels tells the CP if the current player is a left or right handed player.
The CP will then automatically switch the puttiing ball hitting positions.
To switch this option on , hold the shift key down in the Hcam window and - on the far lower left - click the "Left/Right dual hitting lane" option "ON".
Note that this option also sets two regular shot ball hitting positions so you'll have to set the regular ball hitting positions for both left and right handed players too.
These will be in the same position if not using real dual lane hitting mats.
Ball spin axis reverse option.
A left-handed player commented that he thinks the ball spin axis is reversed for left handed players. We couldn't reproduce the issue but there is now a "Reverse spin axis" option in the "Setup window".
November 10 2018
Verifying your current camera calibration
Click the above button to read about how to verify your current camera setup calibration
October 26 2018
Balls lying around on the floor in the FOV of the H cam camera
More improvements to this new feature.
CP bug causing occasional erratic ball speed measurements and carry distances up to 100 yards off.
The relative new "Hcam launch" feature has a bug in it causing occasional erratic ball speed measurements and carry distances that can be 50% or 100 yards off.
Until a solution is found we strongly recommend either switching this option OFF (lower right side of the Hcam window - keep clicking until it states "OFF") or installing this new release of the Control Panel were the option has been de-activated.
What is "Hcam launch" you may be asking?
" Hcam launch" is used when very high lofted shots are made so that the ball is not in the FOV of the Vcam but the Hcam picked it up.
In this case, the ball speed will be measured from the length of the trace in the Hcam only.
The problem (or bug) is a timing issue. i.e. while the Hcam picked up the shot, the system doesn't always wait long enough for the Vcam image to come in
and thus uses the Hcam to measure ball speed which isn't very accurate for normal shots but good enough for high lofted chip shots. i.e. it was agreed to better launch the ball for a high lofted chip than not at all.
BTW. The issue of very high lofted shots not being in the FOV of the Vcam can be better resolved by simply moving the Vcam further towards the hitting position.
Balls lying around on the floor in the FOV of the H cam camera issue now solved
Balls that bounce back from the screen and lay around on the floor in the FOV of the Hcam can cause problems with the ball path detection of the Hcam.
This version of the CP now automatically detects such balls and declares them as invalid areas so that the correct ball path can be measured.
As this is a new feature, this option can be switched on or off.
Click the above images to read more about this new feature.
July 30 2018
New IBS - Image Background Suppression method
IBS has been significantly improved in this version of the CP.
With IBS ON, the background is reduced in brightness to reveal the ball trace.
Click above to read more about IBS
June 18 2018
Bcam and LX systems.
Measuring ball spin using the ball's logo.
New logo matching end detection.
An issue with measuring ball spin using the ball's logo is that the correct matching ends of the logo must be detected in order to correctly measure the amount of rotation within the time frame..
i.e. if one end of the logo is found in image 1 then that same end has to found in image 2. Failing to do this can result in very different ball spin rate measurements.
The above two images show a ball spinning at a rate of 8321 rpm. We know this because the amount of rotation within the 2 ms frame delay was 149.78 degrees.
And we only know the correct amount of rotation because the Letter "C" in the Calloway logo has been detected correctly in both frames. This is shown by the two red cross hairs over the letter "C".
Without this new "Matching logo end detection" feature, the CP image processing may well get the ends mixed up and then a totally different amount of rotation will be measured
(i.e. 30.22 degrees here) and thus a totally different and false ball spin rate will be calculated. (Note that the two sets of images are from the same shot.)
As can be seen from the above two images, the letter "C" in the Calloway logo has not been detected in image 2 (i.e. there's a green cross hair on the "C" instead of a red cross hair).
And thus a false spin rate measurement was calculated (i.e. 1678 rpm instead of the real 8321 rpm).
It should be noted that not all ball logos have a dominant end and thus it may be required to use a black magic marker or black ink pen to accent one end of the logo.
Note that measuring ball spin using the logo (or any marked balls like those with A systems) is the only way a camera method of ball spin detection is able to do this in real time. i.e. without a long 2 to 4 second or so lag time (SkyTrak / GC2 etc).
While radar systems (Trackman, FlightScope etc) require metallic dots be applied to the ball and the ball be placed with the dot facing upwards.
Based in Naples, Florida,
all GSA Golf products are meticulously assembled and tested by hand to meet the highest industry standards
A bit about me just in case anyone is interested
When I'm not developing golf simulators, you'll find me in my music studio