Hello everyone this is Computer Cubing,
Here is a new version of Prisma Puzzle timer that works with the Stackmat gen 3!
Credit to the original author, Walter, who published the original project at
https://bitbucket.org/walter/puzzle-timer/
To support the Stackmat Gen 3, I have created a new menu option in timer trigger called Stackmat gen3.
Click on that to connect your gen 3 timer. The original code for the gen 2 timer has been left in place.
The cable is still all the same from connecting the gen 3 timer, 3.5 to 2.5 audio cable.
Anyway, here is the link to the new version of Prisma Puzzle Timer in GitHub
https://github.com/phillip-hayes/PrismaPuzzleTimer/blob/master/bin/PrismaPuzzleTimer_v1.0.zip
To use the timer, download the above zip file, unzip the contents to a directory on your computer, and then run the PrismaPuzzleTimer.bat script
This version of the timer, like the original, requires java to be installed on your computer
For those who like to develop their own software, the integration to the Stackmat Gen 3 has been abstracted into a separate library that could be used with any java project.
This API library has been published as a separate GitHub repository. Please feel free to reply on this thread if this is of interest.
Be sure to check you my Youtube channel Computer Cubing. I make unboxings, reviews and more!
https://www.youtube.com/channel/UC8ifYOdnxoqnLqAYKMxVjzg
I am having trouble connecting my Gen 3 Stackmat to Prisma. I use Windows 8. The microphone input is definitely being received I just get this flood of errors when I start timing:
C:\Users\Ben\Downloads\PrismaPuzzleTimer_v1.0>java -jar PrismaPuzzleTimer.jar -c
lasspath .;lib\*
Apr 06, 2015 6:33:36 PM au.com.emc.cubing.stackmat.StackmatManager start
INFO: Starting Stackmat gen 3 manager
Apr 06, 2015 6:33:36 PM au.com.emc.cubing.stackmat.StackmatInterpreter initializ
e
INFO: Initialising stackmat gen 3 interpreter
Apr 06, 2015 6:33:36 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
INFO: Starting Stackmat background thread
Apr 06, 2015 6:33:50 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
SEVERE: Detected error processing stackmat signal: null
java.lang.NullPointerException
at au.com.emc.cubing.stackmat.StackmatInterpreter.readLine(StackmatInter
preter.java:172)
at au.com.emc.cubing.stackmat.StackmatInterpreter.doInBackground(Stackma
tInterpreter.java:316)
at au.com.emc.cubing.stackmat.StackmatManager$1.run(StackmatManager.java
:272)
Apr 06, 2015 6:33:50 PM au.com.emc.cubing.stackmat.StackmatManager stop
INFO: Stopping Stackmat gen 3 manager
Apr 06, 2015 6:33:50 PM au.com.emc.cubing.stackmat.StackmatManager start
INFO: Starting Stackmat gen 3 manager
Apr 06, 2015 6:33:50 PM au.com.emc.cubing.stackmat.StackmatInterpreter initializ
e
INFO: Initialising stackmat gen 3 interpreter
Apr 06, 2015 6:33:50 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
INFO: Starting Stackmat background thread
Apr 06, 2015 6:33:50 PM au.com.emc.cubing.stackmat.StackmatInterpreter changeLin
e
WARNING: Detected mixer line unavailable
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.
0 Hz, 8 bit, mono, 1 bytes/frame, not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(Unknown Sourc
e)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at au.com.emc.cubing.stackmat.StackmatInterpreter.changeLine(StackmatInt
erpreter.java:151)
at au.com.emc.cubing.stackmat.StackmatInterpreter.doInBackground(Stackma
tInterpreter.java:298)
at au.com.emc.cubing.stackmat.StackmatManager$1.run(StackmatManager.java
:272)
Apr 06, 2015 6:35:09 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
SEVERE: Detected error processing stackmat signal: null
java.lang.NullPointerException
at au.com.emc.cubing.stackmat.StackmatInterpreter.readLine(StackmatInter
preter.java:172)
at au.com.emc.cubing.stackmat.StackmatInterpreter.doInBackground(Stackma
tInterpreter.java:316)
at au.com.emc.cubing.stackmat.StackmatManager$1.run(StackmatManager.java
:272)
Apr 06, 2015 6:35:09 PM au.com.emc.cubing.stackmat.StackmatManager stop
INFO: Stopping Stackmat gen 3 manager
Apr 06, 2015 6:35:09 PM au.com.emc.cubing.stackmat.StackmatManager start
INFO: Starting Stackmat gen 3 manager
Apr 06, 2015 6:35:09 PM au.com.emc.cubing.stackmat.StackmatInterpreter initializ
e
INFO: Initialising stackmat gen 3 interpreter
Apr 06, 2015 6:35:09 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
INFO: Starting Stackmat background thread
Apr 06, 2015 6:35:09 PM au.com.emc.cubing.stackmat.StackmatInterpreter changeLin
e
WARNING: Detected mixer line unavailable
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.
0 Hz, 8 bit, mono, 1 bytes/frame, not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(Unknown Sourc
e)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at au.com.emc.cubing.stackmat.StackmatInterpreter.changeLine(StackmatInt
erpreter.java:151)
at au.com.emc.cubing.stackmat.StackmatInterpreter.doInBackground(Stackma
tInterpreter.java:298)
at au.com.emc.cubing.stackmat.StackmatManager$1.run(StackmatManager.java
:272)
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: *
Invalid character in timer value: ♠
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 0
Invalid message end sequence: LF expected, found char 0
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: *
Invalid character in timer value: ▌
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 76
Invalid message end sequence: LF expected, found char 105
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '√'
Invalid character in timer value: ╓
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value: ♦
Invalid message end sequence: CR expected, found char 17
Invalid message end sequence: LF expected, found char 80
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: ⌂
Invalid character in timer value: ▲
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 16
Invalid message end sequence: LF expected, found char 0
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: *
Invalid character in timer value: ╗
Invalid character in timer value: ↓
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 45
Invalid message end sequence: LF expected, found char 65
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: *
Invalid character in timer value: ♥
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value: ?
Invalid message end sequence: CR expected, found char 1
Invalid message end sequence: LF expected, found char 8
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: ?
Invalid character in timer value: ;
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 0
Invalid message end sequence: LF expected, found char 0
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '┐'
Invalid character in timer value: √
Invalid character in timer value: ?
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 104
Invalid message end sequence: LF expected, found char 83
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '*'
Invalid character in timer value: ☼
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value: @
Invalid character in timer value: ►
Invalid message end sequence: CR expected, found char 0
Invalid message end sequence: LF expected, found char 2
Apr 06, 2015 6:35:13 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '⌂'
Invalid character in timer value: ▌
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid message end sequence: CR expected, found char 0
Invalid message end sequence: LF expected, found char 0
Apr 06, 2015 6:35:14 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '┐'
Invalid character in timer value: ╫
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value: á
Invalid message end sequence: CR expected, found char 80
Invalid message end sequence: LF expected, found char 2
Apr 06, 2015 6:35:14 PM au.com.emc.cubing.stackmat.StackmatInterpreter doInBackg
round
WARNING: Detected invalid message:
Invalid instruction '☼'
Invalid character in timer value: α
Invalid character in timer value: ≡
Invalid character in timer value:
Invalid character in timer value:
Invalid character in timer value: ►
Invalid character in timer value: ►
Invalid message end sequence: CR expected, found char 8
Invalid message end sequence: LF expected, found char 0