Visual Productions forum

Products => CueCore, QuadCore, IoCore, TimeCore & B-Station => Topic started by: tizianos on June 28, 2017, 02:37:04 PM

Title: GPI to DMX signal
Post by: tizianos on June 28, 2017, 02:37:04 PM
hi,
I have a question regarding the IoCore/CueCore2 programming.
I've to program a lot of actions where the trigger is a switch. that switch turn on/off the light.
what I don't understand is that if I set an OSC message to the CC2, the CC2 will use that OSC message to play a track stored in the playback but I can't handle the fading time and I don't want to switch off the light if another track is triggered.
that's why I've to go with another programming mode.
I want to receive a trigger from the IoCore and send a DMX command to the channells (I think I can use the GPI-DMX). what I want to understand is: how can I handle the fading time in this way?
for me it's really important to handle the fading time because if I use the "increment" function, I can't change the fading time.
last question is: what is the GPI-DMX action limit for each IoCore?

regards,
tiziano
Title: Re: GPI to DMX signal
Post by: Guido Visser on June 29, 2017, 10:30:38 AM
Hello Tizianos,

Before I answer you questions I would like to ask you a few questions. I assume that you have a number of IoCores which you have connected to buttons or switches. And you would like to control some lights using these buttons or switches. These lights are connected to an CueCore2.

1. How many lights need to be controlled individually?
2. Should some of your buttons or switches control the same lights?
3. Should some of your buttons or switches control multiple lights?

If you answer these questions I may be able to help you setup the units. Now I will answer your questions. If I have read your post correctly you have the following questions:

Question 1: How do I set a fade time in a playback of the CueCore2?
When you add a cue to a playback it has a few options. One of these is called fade. This is used when a cue starts. If you would also like to set a fade out time you can do that by entering a time in the Release field of the playback.

Question 2. Can I use the template GPI -> DMX?
This template can be used as is or as an example. It will setup the GPI of the IoCore to control the first 8 DMX channels of the IoCore. If your lights are connected to the CueCore2. You lights will not respond to the DMX of the IoCore. You can use this template as a start and modify it to do what you want.

Question 3. How can you change a DMX channel on a CueCore2 using a IoCore?
If you are using a IoCore and a CueCore2 you can send a UDP message "core-dmx-20=33" to set channel 20 to 33. You can also send a OSC message with the address "/core/dmx/22/" and an unsigned number like 55. Which will set channel 22 to 55.

Question 4. How many actions you can program in an IoCore and a CueCore2?
In both the IoCore and the CueCore2 you can create 48 actions in an action list. And a total of 64 action on the device. A action can have 8 tasks. And a total of 128 task on the device.

Question 5. How can I setup a fade time when using direct DMX control?
This is very dependent on your setup. That is why I have asked you some questions. But a simple answer would be to use a task DMX -> Set Value -> Increment and a task DMX -> Set Value ->Decrement in show control of the IoCore. This will controls the DMX of the IoCore and not the DMX of the CueCore2.

I hoop that this information was helpful.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on June 29, 2017, 04:54:28 PM
dear guido,
find below in red my answer.
regards

Hello Tizianos,

Before I answer you questions I would like to ask you a few questions. I assume that you have a number of IoCores which you have connected to buttons or switches. And you would like to control some lights using these buttons or switches. These lights are connected to an CueCore2.

1. How many lights need to be controlled individually? 52
2. Should some of your buttons or switches control the same lights? no, each switches control a group of 4 lighting fixtures.
3. Should some of your buttons or switches control multiple lights? sure, see above

If you answer these questions I may be able to help you setup the units. Now I will answer your questions. If I have read your post correctly you have the following questions:

Question 1: How do I set a fade time in a playback of the CueCore2?
When you add a cue to a playback it has a few options. One of these is called fade. This is used when a cue starts. If you would also like to set a fade out time you can do that by entering a time in the Release field of the playback.
I don't want to switch off other lights while another action is triggered.

Question 2. Can I use the template GPI -> DMX?
This template can be used as is or as an example. It will setup the GPI of the IoCore to control the first 8 DMX channels of the IoCore. If your lights are connected to the CueCore2. You lights will not respond to the DMX of the IoCore. You can use this template as a start and modify it to do what you want.
ok ,noted

Question 3. How can you change a DMX channel on a CueCore2 using a IoCore?
If you are using a IoCore and a CueCore2 you can send a UDP message "core-dmx-20=33" to set channel 20 to 33. You can also send a OSC message with the address "/core/dmx/22/" and an unsigned number like 55. Which will set channel 22 to 55.
ok, noted. this will be very helpful but if I have 7x IoCore with 16 action, how can I trigger in the CC2 all of this action?!

Question 4. How many actions you can program in an IoCore and a CueCore2?
In both the IoCore and the CueCore2 you can create 48 actions in an action list. And a total of 64 action on the device. A action can have 8 tasks. And a total of 128 task on the device.
ok, noted.

Question 5. How can I setup a fade time when using direct DMX control?
This is very dependent on your setup. That is why I have asked you some questions. But a simple answer would be to use a task DMX -> Set Value -> Increment and a task DMX -> Set Value ->Decrement in show control of the IoCore. This will controls the DMX of the IoCore and not the DMX of the CueCore2.
what is the fade time of increment/decrement? Can I choose it?

I hoop that this information was helpful.
thank you, your help is really appreciate.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: Guido Visser on June 30, 2017, 09:35:26 AM
Hello Tizianos,

If my assumption, that you have connected the lights to the CueCore2, is correct then you can do the following.

To create the effect we will create an action which will increment a variable when you toggle your switch. The we will have a second action which will decrement the variable when you toggle your switch back. You can then use the value of the variable as the value of your dmx channel.

 1. In the IoCore you will need to create an action in the GPI action list.
 2. Change the trigger value to the GPI port.
 3. Set the trigger flank to Down.
 4. Add a task Variable.
 5. Set the featrue to Set Value and the function to Continuous Increment.
 6. Set param1 to the GPI port.
 7. Param2 is used for the speed of the fade in. Set it to something you like.
 8. Create another action in the GPI action list.
 9. Change the trigger value to the GPI port.
10. Set the trigger flank to Up.
11. Add a task Variable.
12. Set the featrue to Set Value and the function to Continuous Decrement.
13. Set param1 to the GPI port.
14. Param2 is used for the speed of the fade out.
15. Create an action in the Variable action list.
16. Change the trigger value to the GPI port.
17. Add a task UDP.
18. Set the featrue to Send Unsigned and the function to Control.
19. Set param1 to "core-dmx-20=". Relapse the number 20 for the channel you need.
20. Set param2 to the IP addres and UDP port of the CueCore2. Example "192.168.1.10:7000".
21. Repeat for other GPI ports and on other IoCores.

I hoop that this information was helpful.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on June 30, 2017, 12:31:08 PM
thank you very much.
this is very clear now.
please find below in red my last doubt.
regards,

Hello Tizianos,

If my assumption, that you have connected the lights to the CueCore2, is correct then you can do the following.

To create the effect we will create an action which will increment a variable when you toggle your switch. The we will have a second action which will decrement the variable when you toggle your switch back. You can then use the value of the variable as the value of your dmx channel.

 1. In the IoCore you will need to create an action in the GPI action list.
 2. Change the trigger value to the GPI port.
 3. Set the trigger flank to Down.
 4. Add a task Variable.
 5. Set the featrue to Set Value and the function to Continuous Increment.
 6. Set param1 to the GPI port.
 7. Param2 is used for the speed of the fade in. Set it to something you like.
 8. Create another action in the GPI action list.
 9. Change the trigger value to the GPI port.
10. Set the trigger flank to Up.
11. Add a task Variable.
12. Set the featrue to Set Value and the function to Continuous Decrement.
13. Set param1 to the GPI port.
14. Param2 is used for the speed of the fade out.
15. Create an action in the Variable action list.
16. Change the trigger value to the GPI port.
17. Add a task UDP.
18. Set the featrue to Send Unsigned and the function to Control.
19. Set param1 to "core-dmx-20=". Relapse the number 20 for the channel you need.
20. Set param2 to the IP addres and UDP port of the CueCore2. Example "192.168.1.10:7000".
this is the command to switch ON the light. what is the command to switch OFF the light? how the system recognize that the light is off?
21. Repeat for other GPI ports and on other IoCores.

I hoop that this information was helpful.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: Guido Visser on June 30, 2017, 02:20:30 PM
Hello Tizianos,

Step 18 makes the message use the value from a variable. Which has the fade in and fade out effect. A lot of fixtures use something like a master dimmer. Which would turn OFF the light when the value is set to 0.

Do your fixtures use a system like a master dimmer? Could you tell me what the fixtures are doing with the signal after you have set it up?

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on June 30, 2017, 04:04:22 PM
I've a 2x dmx dimmer where are connected all the lights. this dimmer is connected directly to the CC2.
the 7x IoCore and the 1x CC2 are connected togheter through a PoE switch.

if I have a 16bit channel, how can I handle it?
can I write "core-dmx-20+21="? or is there another way?

 thank you very much.
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 03, 2017, 10:23:01 AM
Hello Tizianos,

There is no build in system to for smooth fading using a 16 bit dimmer in the IoCore. There is a system in the CueCore2. However it will use the fading of a playback. And because there are only 6 playbacks this is not an option in your situation.

Is it possible to set your dimmers to a 8 bit mode?

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 04, 2017, 03:02:16 PM
dear guido,
I can set the dimmers to a 8 bit mode but I need to work on 16 bit in order to get a perfect fading.
Do you think that is viable to increment 2 channels togheter?
I mean, I want to send more than 1 message in one action, is it possible?

Hello Tizianos,

There is no build in system to for smooth fading using a 16 bit dimmer in the IoCore. There is a system in the CueCore2. However it will use the fading of a playback. And because there are only 6 playbacks this is not an option in your situation.

Is it possible to set your dimmers to a 8 bit mode?

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 05, 2017, 10:59:49 AM
Hello Tizianos,

There is a way to send multiple messages per action. To do this you can repeat step 17 through 20. And change the channel in step 19. This will send 2 messages. The messages will have a different channel but the same value.

However there is no build in system for smooth fading using a 16 bit dimmer in the IoCore. There is a system in the CueCore2. It will use the fading of a playback. If you really need a 16 bit dimmer then you will have to use multiple CueCore2's. If I have understood you correctly you need 52 GPI ports. Which would require 13 CueCore2's.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 09, 2017, 10:29:29 PM
Hello Tizianos,

There is a way to send multiple messages per action. To do this you can repeat step 17 through 20. And change the channel in step 19. This will send 2 messages. The messages will have a different channel but the same value.

However there is no build in system for smooth fading using a 16 bit dimmer in the IoCore. There is a system in the CueCore2. It will use the fading of a playback. If you really need a 16 bit dimmer then you will have to use multiple CueCore2's. If I have understood you correctly you need 52 GPI ports. Which would require 13 CueCore2's.

Best regards,
Guido

dear guido,
sorry to bother you again about programming question. what I don't understand from your guide is only one thing.
what I have to do is:
- when the switch is on: channell 1 at 100% // channell 2 at 50%
- when the switch is off: channell 1+2 at 0
if I go on with the programming, suggested by you, I'll get all channell at 100% or 0%, if I want to program as above, I cannot use the variables, am I right?
thank you for your time,
regards
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 10, 2017, 09:20:35 AM
Hello Tizianos,

A variable can only have one value at a time. There for you can not set channel 1 at 100% and channel 2 at 50% using one variable. If you need both channels to fade using a single variable. If one of the channels simply changes to the other value you can use the variable.

For example you can fade channel 1 between 0% and 100%. When channel 1 reaches 0% set channel 2 to 0% and when channel 1 reaches 100% set channel 2 to 50%. In this case channel 2 would not fade.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 10, 2017, 12:17:18 PM
Hello Tizianos,

A variable can only have one value at a time. There for you can not set channel 1 at 100% and channel 2 at 50% using one variable. If you need both channels to fade using a single variable. If one of the channels simply changes to the other value you can use the variable.

For example you can fade channel 1 between 0% and 100%. When channel 1 reaches 0% set channel 2 to 0% and when channel 1 reaches 100% set channel 2 to 50%. In this case channel 2 would not fade.

Best regards,
Guido
dear guido,
what I understand is that I have 2 option to do the above programming:
-> option 1: programming with variables that allow me to chose a fade time but the channell can have only the following values at 100% or 0%.
-> option 2: programming with playbacks but I need to use so much CC2 and this is not viable.
am I right on this? just to understand better what I can do with this devices.
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 10, 2017, 02:16:20 PM
Hello Tizianos,

A variable can only have one value at a time. This is a value from 0 through 255. All integer values in this range can be stored. (0, 1, 2, ..., 253, 254, 255) If some task needs a percentage this value will be converted to a percentage automatically.

The variable can be used to fade 1 channel from 0% to 100%. (0%, 1%, 2%, ..., 98%, 99%, 100%) You can use this variable for multiple things. The thing I described in the example is controlling a channel. However you can do other things as well.

The IoCore has 8 variables. Which allows you to control 8 channels in this way. In you setup every GPI pin would use 1 variable. To control a total of 8 channels with a fade.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 12, 2017, 09:58:34 AM
dear guido,
I'm testing the programming now and I see that if I try to fade 2 channells togheter with the same variables, I get 1 channel with the fade and the other one is stuck at 1% and when the other reach the 100%, the channel goes to the 100% without fading.
what I want to know, how can I write in one-string two channel togheter? for example, why can't I write like this "core-dmx-1+2="?
thank you.
in addition, where can I find a complete list of all UDP commands?

edit: I assume that I cannot program like this because of all problems related to the UDP signal. It can't be possible. I go back to the playback and track programming.

regards,
tiziano
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 12, 2017, 02:19:09 PM
Hello Tizianos,

I have tried it as well and can confirm that there is a problem. You may have found a bug which I will need to look into a bit more. As soon as I know more about the second channel getting stuck I will let you know. I hope to have a solution near the end of next week.

Next to this bug I would like to ask you to set your dimmers in an 8 bit mode. Because setting two channels to the same value does not make a fade more smooth. Yes you will use 16 bit but you will not get a 16 bit effect this way.

The string used in the task "core-dmx-1=" is a string which is implemented in the API of the CueCore2. The CueCore2 will response to specific messages. The API does not have a message to control multiple channels. Because you should be able to send multiple messages. However because of a bug in the IoCore this does not work. A list of the commands supported by the CueCore2 can be found in the manual of the CueCore2. Except for the "core-dmx-1=<interger>" and "core-hello" because these commands where added after the manual was created. (We will update the manual.)

About the playback and track programming. The CueCore2 only has 6 playbacks. And a maximum of 128 tracks. If you want to control 52 lights individual using switches. I think you will not have enough tracks and playbacks, to control everything individually.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 12, 2017, 02:31:37 PM
Hello Tizianos,

I have tried it as well and can confirm that there is a problem. You may have found a bug which I will need to look into a bit more. As soon as I know more about the second channel getting stuck I will let you know. I hope to have a solution near the end of next week.

Next to this bug I would like to ask you to set your dimmers in an 8 bit mode. Because setting two channels to the same value does not make a fade more smooth. Yes you will use 16 bit but you will not get a 16 bit effect this way.

The string used in the task "core-dmx-1=" is a string which is implemented in the API of the CueCore2. The CueCore2 will response to specific messages. The API does not have a message to control multiple channels. Because you should be able to send multiple messages. However because of a bug in the IoCore this does not work. A list of the commands supported by the CueCore2 can be found in the manual of the CueCore2. Except for the "core-dmx-1=<interger>" and "core-hello" because these commands where added after the manual was created. (We will update the manual.)

About the playback and track programming. The CueCore2 only has 6 playbacks. And a maximum of 128 tracks. If you want to control 52 lights individual using switches. I think you will not have enough tracks and playbacks, to control everything individually.

Best regards,
Guido

I cannot believe that  ;D the problem is that I'm on site now and I have to program all the devices in this week. I'll give a try with the tracks and playbacks.
in this moment I programmed all the tracks and stored in the playbacks. Now I'm doing the osc message from IoCore to CC2. I'll alternate OSC message and UDP message due to the action list limitation. I hope in the future will be no limitation on the action because I think this is crazy.
regards,
tiziano.
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 12, 2017, 03:04:42 PM
Hello Tizianos,
The API was created to get around this limit. That is why many commonly used things are in the API. For example the "core-pb-1-go+" which will advance a playback.

The limit of actions is there for technical reasons.

I am very curious how you are setting up your setup using playbacks and tracks.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 12, 2017, 03:18:28 PM
dear guido,
see below in red.

Hello Tizianos,
The API was created to get around this limit. That is why many commonly used things are in the API. For example the "core-pb-1-go+" which will advance a playback.

I need to get this instruction: transport-> jump-> PB1 T5
and the other instruction: transport-> release-> PB1
I cannot find it in the API.

The limit of actions is there for technical reasons.

I am very curious how you are setting up your setup using playbacks and tracks.
I send two OSC messages (one for ON, one for OFF) to the CC2 that receive that and if is ON, it jumps to a track, if it is OFF, it release the specific playback. at the moment I've 3 IoCore with 16 osc message for each one, and the other 3 IoCore with UDP message to trigger the PB. I'm missing the last IoCore where I need your help for the right API (see above)

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 12, 2017, 03:36:20 PM
Hello Tizianos,

The message for releasing a playback is "core-pb-1-release".

There is no API message to jump to a specific cue or track within a playback. So you will have to create an action in show control of the CueCore2.

If you have an action in the UDP or OSC action list you can set the trigger value to a string of your liking.
For example "pb1-jump". Make sure every action has a different string.
Add a task playback -> Jump -> Control.
Set param 1 to the playback you want to control with this task.
Now send a message from the IoCore with the string "pb1-jump=<cue number>".

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 12, 2017, 03:44:19 PM
dear guido,
I don't understand what you mean. see below in red.

Hello Tizianos,

The message for releasing a playback is "core-pb-1-release". ok, noted.

There is no API message to jump to a specific cue or track within a playback. So you will have to create an action in show control of the CueCore2.

If you have an action in the UDP or OSC action list you can set the trigger value to a string of your liking.
For example "pb1-jump". Make sure every action has a different string.
Add a task playback -> Jump -> Control.
Set param 1 to the playback you want to control with this task.
Now send a message from the IoCore with the string "pb1-jump=<cue number>".
I don't understand this part. Should I add a task from UDP sources? see attachment.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 12, 2017, 04:09:01 PM
Hello Tizianos,

What I see in your image is a CueCore2, with a UDP action, with the trigger value "pb1-jump", with the task Playback -> Jump -> Control. Exactly as I had described.

If you have an action in the UDP or OSC action list you can set the trigger value to a string of your liking.
For example "pb1-jump". Make sure every action has a different string.
Add a task playback -> Jump -> Control.
Set param 1 to the playback you want to control with this task.
The above is done. As I can see in you image.
Now send a message from the IoCore with the string "pb1-jump=<cue number>".
I don't understand this part. Should I add a task from UDP sources? see attachment.

Now you can add a task in a GPI action in show control of the IoCore to start the playback. This task should send a UDP message "pb1-jump=<cue number>" for example "pb1-jump=1".

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 12, 2017, 04:44:13 PM
dear guido,
I'll continue with the osc message because this method does not work.  8)
just for who come after me on this issue, please find attached 2 screenshot, like this it does not work but I'm sure that I'm doing something wrong on the IC side. let me know  8)
thanks for your time and your attention,
regards,
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 12, 2017, 05:16:25 PM
Hello Tizianos,

In your "gpi action on iocore.png" image you should set the feature to Send String and the function to Set.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 13, 2017, 10:04:42 AM
Hello Tizianos,

In your "gpi action on iocore.png" image you should set the feature to Send String and the function to Set.

Best regards,
Guido

hi guido,
I'm trying the feature as you explained but it does not work. can you help me?
see screenshot.
regards,

tiziano
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 13, 2017, 12:25:30 PM
Hello Tizianos,

The string "pb1-jump=<cue number>" uses an equals sign in between jump and the cue number. The equals sign = is actually hard to see using the font on our fourm.

Best regards,
Guido
Title: Re: GPI to DMX signal
Post by: tizianos on July 13, 2017, 06:47:59 PM
Hello Tizianos,

The string "pb1-jump=<cue number>" uses an equals sign in between jump and the cue number. The equals sign = is actually hard to see using the font on our fourm.

Best regards,
Guido

thank you guido. the equals sign was the problem.
regards
Title: Re: GPI to DMX signal
Post by: Guido Visser on July 18, 2017, 02:03:36 PM
Hello Tizianos,

I'm testing the programming now and I see that if I try to fade 2 channells togheter with the same variables, I get 1 channel with the fade and the other one is stuck at 1% and when the other reach the 100%, the channel goes to the 100% without fading.

I have send you an e-mail with a new firmware. This version should solve the second channel getting stuck problem.

Best regards,
Guido