DigiBallScanner

Windows command-line tool for scanning DigiBall devices with Bluetooth LE, and generating images (.png) of tip contact position and statistics when new shots are detected. The images can be used as overlays for streaming software such as OBS. Adding a video delay of 6s (or more) to the main feed will cause the generated graphics to appear slightly before the player shoots. This may be desirable.

Versions:

Requirements:

Windows 10, BT 4.0+ adapter, or dedicated USB radio, or access to WiFi Bridge multicast stream

Installation:

Download and run the installation file DigiBallScanner/innosetup/Output/DigiBallScannerSetup.exe

What is Installed:

Configuring Bluetooth LE adapter

Help:

Usage:
  digiballscanner (--version | --help | --drawtest | --change-to-pool | --change-to-carom | --change-to-carom-yellow | --change-to-snooker | --change-to-english | --change-to-russian)
  digiballscanner all
  digiballscanner multicast
  digiballscanner <comport>  
  digiballscanner [multicast | <comport>] <macaddr1> [<macaddr2> | --log] [--verbose]
Options:
  --version             Show version and exit.
  --help                Show help and exit.
  --drawtest            Draw test images.
  --change-to-pool      Change DigiBall ball type to pool    (2.250-inch diameter).
  --change-to-carom     Change DigiBall ball type to carom   (2.438-inch diameter).
  --change-to-carom2    Change DigiBall ball type to carom   (2.438-inch diameter) colored yellow.
  --change-to-snooker   Change DigiBall ball type to snooker (2.063-inch diameter).
  --change-to-english   Change DigiBall ball type to english (2.000-inch diameter).
  --change-to-russian   Change DigiBall ball type to russian (2.668-inch diameter).
Arguments:
  all                   Scans for all Bluetooth devices within BLE range
  <none>          	Scans for all DigiBall devices within BLE range
  multicast             Scans for all DigiBall devices using multicast stream as source, listening on 224.1.1.1:5007
  <comport>       	Scans for all DigiBall devices using from dedicated radio on provided comport (ex. COM4)
  <macaddr1>      	Scans only for the DigiBall matching least significant 3 bytes (6 hex characters) of MAC address.
  <macaddr1> --log	Saves data from a single address to file log.txt
  <macaddr1> <macaddr2>	Scans for the DigiBalls matching least significant 3 bytes (6 hex characters) of MAC addresses (Player1 and Player2).

DigiBallScanner for Windows - Generates realtime ball graphics for streaming software.
Output images will be generated in:
C:\Users\natad\AppData\Local\Programs\DigiBallScanner

Scan for all BLE devices in range

digiballscanner all

...
10:20:00 F3C8BD (no name)
10:20:00 27FAA9 (no name)
10:20:00 27FAA9 pool
10:20:00 9B6AC4 (no name)
10:20:00 C57BFC (no name)
10:20:00 27FAA9 (no name)
10:20:00 27FAA9 pool
10:20:00 04B46E (no name)
10:20:00 4A6598 (no name)
10:20:00 1E5850 LE_WH-1000XM4
10:20:01 27FAA9 (no name)
10:20:01 27FAA9 pool
10:20:01 449802 (no name)
10:20:01 0AE466 (no name)

Scan for all DigiBall devices

digiballscanner

10:21:25 27FAA9 pool
10:21:25 27FAA9 pool
10:21:26 27FAA9 pool
10:21:26 27FAA9 pool
10:21:26 27FAA9 pool
10:21:27 27FAA9 pool
10:21:28 27FAA9 pool
10:21:28 27FAA9 pool

Scan for specific DigiBall

digiballscanner 27faa9

Device 1, scanning for DigiBall with MAC address 27FAA9...
10:24:27 17 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 0, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:29 19 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 1, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:30 20 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 2, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:31 22 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 3, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:31 23 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 3, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:33 24 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 4, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:33 26 : (pool) MAC: 27FAA9, Shot Number: 3, Seconds: 5, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:35 27 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 6, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:35 28 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 0, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:36 29 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 0, Angle(deg): 17, Tip Percent: 7, Spin(rps): 1.2
10:24:37 30 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 0, Angle(deg): -1, Tip Percent: 17, Spin(rps): 2.7
10:24:39 34 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 1, Angle(deg): -1, Tip Percent: 17, Spin(rps): 2.7
10:24:40 35 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 2, Angle(deg): -1, Tip Percent: 17, Spin(rps): 2.7
10:24:41 36 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 3, Angle(deg): -1, Tip Percent: 17, Spin(rps): 2.7
10:24:41 37 : (pool) MAC: 27FAA9, Shot Number: 4, Seconds: 3, Angle(deg): -1, Tip Percent: 17, Spin(rps): 2.7

Scan for two DigiBalls (two cueballs are usually used for carom games)

digiballscanner 27faa9 a7e27b

List of images generated

Videos:

YouTube Playlist