Hi, i have some USBDMX-xswitch that was working with the old qlc version on windows with windows driver supplied by peperoni staff.
Now i wonna use them with qlcplus on linux machines.....
I have compiled version 4.6.1 before and after 4.7.0 and i have the same problem with all the version:
the USBDMX keep the startcode when qlcplus is starting, and i can see this because led USB start blink, led RC DMX start blink and led TX DMX is emetting light.
At the same time all my DMX devices find a dmx signal (i can see that with DMX light on scanners)....
Qlcplus find it on input-output devices and i can choose it as a device for output an universe...
but machines don't moves!!!
I have also some rodin1 output interfaces that work perfectly!!
How can i help you to debug it?
Error initialization Peperoni lights's USBDMX-xswitch
Unfortunately the debug log you attached doesn't help.
I see a whole bunch of MIDI messages, but no errors from the Peperoni plugin.
Now 2 questions:
1) can you confirm that the Rodin1 works instead ? On the same machine and same operating system ?
2) can you confirm the XSwitch is detected and you can see it on the input/output panel ? If so, does anything happen when you select it ?
Also, can you try to manually raise channel 512 in the Simple Desk and see if the XSwitch output data after that ?
I see a whole bunch of MIDI messages, but no errors from the Peperoni plugin.
Now 2 questions:
1) can you confirm that the Rodin1 works instead ? On the same machine and same operating system ?
2) can you confirm the XSwitch is detected and you can see it on the input/output panel ? If so, does anything happen when you select it ?
Also, can you try to manually raise channel 512 in the Simple Desk and see if the XSwitch output data after that ?
1) Rodin1 works correctly. on the same machine.
2) it is correctly detected, and after qlcplus start it has blinking led as in working condition. also moving heads find a dmx signal.
i attach a photo
i have tryed to move channel 512 with simple desk and after that i have played with channels where is moving head, but nothing is moving.
2) it is correctly detected, and after qlcplus start it has blinking led as in working condition. also moving heads find a dmx signal.
i attach a photo
i have tryed to move channel 512 with simple desk and after that i have played with channels where is moving head, but nothing is moving.
- Attachments
-
- IMG_4631.JPG (102.74 KiB) Viewed 4040 times
Ok, can you please read the XSwitch firmware version displayed in the input/output panel ?
Also, which fixtures/addresses are you trying to control ?
Also, which fixtures/addresses are you trying to control ?
i don't find version in any place in input-output panel
neither with rodin1 that works
where i must find the string ?
i have attached an image of things i see
neither with rodin1 that works
where i must find the string ?
i have attached an image of things i see
- Attachments
-
- IMG_4872.JPG (85.14 KiB) Viewed 4040 times
That's weird. According to the source code, the bottom panel should display something like
"The device is working correctly.
Firmware version: ...."
Unfortunately I cannot try it cause I don't have the device.
"The device is working correctly.
Firmware version: ...."
Unfortunately I cannot try it cause I don't have the device.
Please add this at line 77 of peperonidevice.cpp
qDebug() << "Firmware version:" << m_firmwareVersion;
Then recompile and send me the output result.
qDebug() << "Firmware version:" << m_firmwareVersion;
Then recompile and send me the output result.
the first file is the output of the rodin1 (debug2)
the second is with a usbdmx (debug3)
the second is with a usbdmx (debug3)
Ok, now please try to build with the attached file and send me the output debug as before. You need to replace the one in plugins/peperoni/unix
I noticed you have a mess with the fixtures (all the messages at the beginning shouldn't appear). Did you manually move/copy them ??
I noticed you have a mess with the fixtures (all the messages at the beginning shouldn't appear). Did you manually move/copy them ??
- Attachments
-
- peperoni.cpp
- (5.51 KiB) Downloaded 206 times
Interesting. It seems the problem is in the actual write function, but I still don't understand why.
I found a couple of errors in the code and fixed them.
Now you should see the correct information in the IO panel too.
Please replace the whole peperoni folder with the attached one, rebuild and send me the results.
This time, please use an empty project, no input, just one universe. Enable the peperoni output and move a slider with the Simple Desk.
Thanks
I found a couple of errors in the code and fixed them.
Now you should see the correct information in the IO panel too.
Please replace the whole peperoni folder with the attached one, rebuild and send me the results.
This time, please use an empty project, no input, just one universe. Enable the peperoni output and move a slider with the Simple Desk.
Thanks
- Attachments
-
- peperoni.tar.gz
- (21.33 KiB) Downloaded 172 times
i have done.
now i can see firmware version in input-output panel
rodin1 works
and usbdmx not.
now i can see firmware version in input-output panel
rodin1 works
and usbdmx not.
Tolmino, this is going to be very tough.
With the device I would probably take a few hours to figure out what's going on, but with debug messages it's very hard.
I see a lot of errors, even on the Rodin output, so I'm thinking this integration has something wrong on its ground.
I have written an email to the Peperoni team. Let's see if they are going to support me or not.
The last 3 things you can try are:
- see if there is any firmware update for the X-Switch. It has a very old version and maybe with a newer one it will work with QLC+
- try to force the TX only mode. Just go to line 167 of peperonidevice.cpp and turn the code into this:
//if (m_device->descriptor.idProduct == PEPERONI_PID_XSWITCH)
// configuration = PEPERONI_CONF_TXRX;
//else
configuration = PEPERONI_CONF_TXONLY;
- build with the attached .h file to be placed in the peperoni/common folder, over the sources I sent you before (the tar.gz)
With the device I would probably take a few hours to figure out what's going on, but with debug messages it's very hard.
I see a lot of errors, even on the Rodin output, so I'm thinking this integration has something wrong on its ground.
I have written an email to the Peperoni team. Let's see if they are going to support me or not.
The last 3 things you can try are:
- see if there is any firmware update for the X-Switch. It has a very old version and maybe with a newer one it will work with QLC+
- try to force the TX only mode. Just go to line 167 of peperonidevice.cpp and turn the code into this:
//if (m_device->descriptor.idProduct == PEPERONI_PID_XSWITCH)
// configuration = PEPERONI_CONF_TXRX;
//else
configuration = PEPERONI_CONF_TXONLY;
- build with the attached .h file to be placed in the peperoni/common folder, over the sources I sent you before (the tar.gz)
- Attachments
-
- peperonidefs.h
- (3.67 KiB) Downloaded 205 times
Hi Massimo, here the new debug files...
the things are different now:
rodin1 is working too....
and usbdmx has one led not flashing (maybe for PEPERONI_CONF_TXONLY ), and generate a dmx output now !!!
Only the problem is that is slow to respond to commands (in some cases 2 seconds) and the other problem is that generate casual movements sometime:
it moves pan and tilt sometime in a random mode, and i can see a moving head V200 that i have here moving, and returning in the right position after 1 second.
i have also contacted Dr. Jan Menzel for a firmware upgrade..
the things are different now:
rodin1 is working too....
and usbdmx has one led not flashing (maybe for PEPERONI_CONF_TXONLY ), and generate a dmx output now !!!
Only the problem is that is slow to respond to commands (in some cases 2 seconds) and the other problem is that generate casual movements sometime:
it moves pan and tilt sometime in a random mode, and i can see a moving head V200 that i have here moving, and returning in the right position after 1 second.
i have also contacted Dr. Jan Menzel for a firmware upgrade..
OK, maybe we're getting close.
In the debug messages I see lot of write timeout failures on the X-Switch.
Now it might be a timing issue or a bad configuration.
You said you switched to TX only. What if you don't ? I need to understand if the .h has made it "work" or if it is the TX only mode.
In the debug messages I see lot of write timeout failures on the X-Switch.
Now it might be a timing issue or a bad configuration.
You said you switched to TX only. What if you don't ? I need to understand if the .h has made it "work" or if it is the TX only mode.
Hi, now i'm in TX-RX mode
and that is the actual situation:
leds on usbdmx are lighting all as to be.
i have dmx comands sent slow to respond ( 1-2 seconds of delay) and i have too auto movements.
in qlcplus's input-output panel i don't see input checkbox near usbdmx-xswitch .
here the new debug file
and that is the actual situation:
leds on usbdmx are lighting all as to be.
i have dmx comands sent slow to respond ( 1-2 seconds of delay) and i have too auto movements.
in qlcplus's input-output panel i don't see input checkbox near usbdmx-xswitch .
here the new debug file
Ok, so it seems the .h made the difference, right ?
As far as I can see, the device is too slow to receive data (or QLC+ is too fast) so it refuses it and makes QLC+ to timeout very frequently.
This is indeed a code design aspect and it would require to be reviewed with the device in my hands.
What happens if instead of channel 50 you move only the first 10 channels ? Less data would be sent and probably the device would accept them.
Do the Peperoni guys replied to you ? Cause they didn't reply to me
As far as I can see, the device is too slow to receive data (or QLC+ is too fast) so it refuses it and makes QLC+ to timeout very frequently.
This is indeed a code design aspect and it would require to be reviewed with the device in my hands.
What happens if instead of channel 50 you move only the first 10 channels ? Less data would be sent and probably the device would accept them.
Do the Peperoni guys replied to you ? Cause they didn't reply to me
hi Massimo,
i have set start address of machine: i have 1 now (instead of 49)...
and now i need only half second to respond
and there are no auto movements !!
Dr. Jan Menzel don't reply to me. but i think because he live in Germany and he is out of office until monday.... I hope will find a response next monday.
I have gave a look to peperoni .cpp and .h files in plugins/peperoni directory, but i haven't find nothing that seems to have reference at speed of trasmission.
if you help me to find that portion of code, i can test to add latence step by step, so to have no error to trasmission until ch 512 (that can be the most hard to work !!)
i have done a debug file that attach here.
i have set start address of machine: i have 1 now (instead of 49)...
and now i need only half second to respond
and there are no auto movements !!
Dr. Jan Menzel don't reply to me. but i think because he live in Germany and he is out of office until monday.... I hope will find a response next monday.
I have gave a look to peperoni .cpp and .h files in plugins/peperoni directory, but i haven't find nothing that seems to have reference at speed of trasmission.
if you help me to find that portion of code, i can test to add latence step by step, so to have no error to trasmission until ch 512 (that can be the most hard to work !!)
i have done a debug file that attach here.
After last changes in Git, i have less auto-movements but they are.....
and USBDMX-xswitch sends signal with a delay of 1/2 second (against 1-2 seconds of precedent version)
and USBDMX-xswitch sends signal with a delay of 1/2 second (against 1-2 seconds of precedent version)