I'm making an app to view CAN data from a car using appJar. I have a thread getting the CAN buffer then sending it to the main loop using queueFucntion. the function queued to the main loop iterates threw the buffer and sends the data to the Label with the same address as the data.
I found that CAN overloads the main loop queue (raise Full
). when I time the function sent to the main queue it has a run time of about ~4ms but when I add a label that matches a message it shoots up to ~100ms.
I think this means the setLabel method takes to long. and I want to know if there is a faster way. Ultimately a faster setLabel won't actually solve my problem but it will help
update
I use wing personal 7 as an IDE for python and when I ran my program from outside of wing my code ran a lot faster and didn't overflow but my question still stands.
update x2
I implemented message filtering at the module level by hijacking the module as a parent. this helped a crap tonne but as my app runs it starts developing a delay between the car and the output and I think that means the buffer is filling up.