I'd like to use
scriptThread.dataReceivedSignal.connect to alternate between different
parsings.
According some debug and it seems that the more I call the connect
signal to different functions, whitout removing the previous one.
This behavior should be specified in the documentation
It could be usefull to chain or adding features
It could be reset to "nothing"
I'll find a workaround with a global variable and a switch case.
Nevertheless anyone have experienced this ? Or suggest a better solution ?
Best regards,
Pascal
Here is one example : [... script initialization ...]
// receivers declaration
function SerialReceive_type1(buffer1) {
// do some job with RS232 messages format number 1
}
function SerialReceive_type2(buffer2) {
// do some other job with RS232 messages format number 2
}
// Main task
scriptThread.dataReceivedSignal.connect(SerialReceive_type1);
// do tasks while using receiver and parsing for type 1 messages [...]
scriptThread.dataReceivedSignal.connect(SerialReceive_type2);
// do tasks while using receiver and parsing for type 2 messages [...]
scriptThread.dataReceivedSignal.connect(SerialReceive_type1);
// switch back to messages type 1 [...]
scriptThread.dataReceivedSignal.connect(null);
// to connection for parsing needed anymore
// this last line return an error
[... script end ...]
The calls trace of such script will looks like :
receive type 1
receive type 1
receive type 1
receive type 1
// switch to type 2
receive type 2
receive type 1
receive type 2
receive type 1
// switch back to type 1
receive type 1
receive type 2
receive type 1
receive type 1
receive type 2
receive type 1
--
Pascal Delrot
Ingénieur électronique
1, rue Georges Le breton
22370 Pléneuf-Val-André, France
Bonjour,
I'd like to use
scriptThread.dataReceivedSignal.connect to alternate between different
parsings.
According some debug and it seems that the more I call the connect
signal to different functions, whitout removing the previous one.
I'll find a workaround with a global variable and a switch case.
Nevertheless anyone have experienced this ? Or suggest a better solution ?
Best regards,
Pascal
Here is one example :
[... script initialization ...]
// receivers declaration
function SerialReceive_type1(buffer1) {
// do some job with RS232 messages format number 1
}
function SerialReceive_type2(buffer2) {
// do some other job with RS232 messages format number 2
}
// Main task
scriptThread.dataReceivedSignal.connect(SerialReceive_type1);
// do tasks while using receiver and parsing for type 1 messages
[...]
scriptThread.dataReceivedSignal.connect(SerialReceive_type2);
// do tasks while using receiver and parsing for type 2 messages
[...]
scriptThread.dataReceivedSignal.connect(SerialReceive_type1);
// switch back to messages type 1
[...]
scriptThread.dataReceivedSignal.connect(null);
// to connection for parsing needed anymore
// this last line return an error
[... script end ...]
The calls trace of such script will looks like :
receive type 1
receive type 1
receive type 1
receive type 1
// switch to type 2
receive type 2
receive type 1
receive type 2
receive type 1
// switch back to type 1
receive type 1
receive type 2
receive type 1
receive type 1
receive type 2
receive type 1
--
Pascal Delrot
Ingénieur électronique
1, rue Georges Le breton
22370 Pléneuf-Val-André, France
Office :+33 9 67 05 00 40
www.samea-innovation.com http://www.samea-innovation.com/
Note : here is my Sourceforge profile, as the post was anonymous
Hi Pascsal,
you can call disconnect to remove the callback function:
I never used this and therefore I forgot to discribe it in the manuel.
Regards
Stefan
Hello Stefan, so let's try ! I'll keep you update today. Pascal