07-20-2023 01:40 AM
Hello,
I have one strange issue, with variants, qmh, and cluster.
In VI there is qmh to communicate between two loops.
UI loop send control cluster to consumer loop, using vatiant data.
Everything works just fine at first look.
Problem occurs when i change for example ''PWM duty'' (numeric) in cluster by keyboard, but not press enter, and then just click boolean button for example ON/OFF.
So two controls has been changed in same time.
Event structure accept this change in upper loop.
But in consumer loop, it received only one change, in this case 'PWM duty'.
Receiving part of the code is nothing more then this:
I also create some simplified example, and i don't have such behaviour.
Does anyone know what going on here?
Thanks
Solved! Go to Solution.
07-20-2023 02:58 AM
Turn off the "high priority" on the Queue. You have two Value change events, and the second will jump in front of the first due to the "priority", which in DQMH is just enqueue in front, not a true priority.
07-20-2023 03:57 AM - edited 07-20-2023 04:10 AM
Thanks on fast reply.
If this is the case, this means that numeric value is send as priority, and boolean switch at the end of the queue.
Please tell me if i'm get it wrong.
So after some time, boolean switch should be transmitted also?
Additional, this sounds very strange, because event structure accept event change of two values, and like that, cluster should be transmitted.
Then this cluster with two changes, is transmitted as priority.
How to overcome this, but to keep 'priority'. I activated priority with the purpose.
07-20-2023 04:44 AM
DQMH doesn't have a true priority queue and it really shouldn't be used as such. Even if it had one I would strongly advise against using message priority at all.