After being able to prove that my Java DMX tester code worked on the old hardware, it's now time to test it out with my new MacBook, which is where I do all my work. It's useful to be able to control DMX devices in order to test out sequences as I'm building them.
MacOS is more Unix-like, and thus, connected serial devices don't appear on a Comm Port list. Instead, they appear as file handles under the "/dev/tty.*" folder structure. I'll need to identify which on the DMX dongle is and put that in the Java DMX Text project code.
Test 1: Identify the USB Serial Device that is the DMX Dongle
This should be a matter of plugging in the DMX dongle USB cable and approving the popup dialog to allow it. And it was, except that it took about 90 seconds for the dialog to appear and during that time I worried that it wouldn't work. But it showed up in the list:
Test 2: Connect to the Dongle
Here, I'll update the Java DMX Test project to connect to the named serial device.
NOTE: I'm using the more modern jSerialComm library to establish serial communications with the DMX dongle (aka adapter). I've never used it on a Mac before, thought it claims to work on all manner of Macs as well as RPi.
As pictured below, I set the Comm Port name to the MacOs device path (and I hope it works).
There are more devices listed on the Mac, but it did manage to locate the right one and connect, so I consider that a success for the test:
Test 3: Connect the Fixture
The fixture is connected in the same 4-channel mode (RGB+W) and I'm just going to set the green output:
And... I got nothing. Let's try red: nada.
Oh wait! What does the port list say about the actual name of the port? On closer examination of the port list above, it appears that the port list has different names from the device list. Let me try one of those.
I'm going to use: /dev/cu.usbserial-DPF0FHOL
Still doesn't work! Checking the Interweb.
1) Interweb says the jSerialComm native code may not work on Apple Silicon and that I need to use the x86_64 JDK - I'm sure support for this will end soon on Mac if any of the warnings are an indicator. -- My work Mac is Intel, so it's like to work on it, but I don't want to depend on it. --- I have a modern Intel laptop as well to use, but I don't want to.
2) Adding --enable-native-access=ALL-UNNAMED did not solve the problem
3) Switch around to various JVMs installed. The Graal 21 actually flashed a white light for a split second about 6 seconds after the program started.
4) Installed FTDI VCP drivers for MacOS - Didn't work
5) Restart MacBook after installing drivers - nothing
Attempted to get it working on Intel-based Mac and Windows gaming laptop. No joy.
Finally, I hooked up the old laptop that I had gotten it working on before to make sure everything was still good. It was not working! Did I fry the little PAR light? What is going on here?
Epilog
Worried that I had fried the light, I went through its DMX configuration and discovered it was set on 8-channel and no longer on 4-channel. Not sure how this happened (likely an internal bug that reacted poorly to weird DMX signals). When I changed it back to 4-channel, it started working on the old laptop. It also worked on my Apple Silicon MacBook Pro, which was what I was trying to achieve in the first place. Note that I also changed the serial port name to the one displayed in the serial port list. That may have a been a problem too, but I'm not sure. At least I know it will work.
Comments
Post a Comment