I have look at the Tracking service and identify a few thing that was not working well
The initialisation of the service seem to work really wrong. The Tracker service is trying to create instance of Arduino, Servo and OpenCV with createPeer() , but if those services are not create with the right name before starting the Tracking service, those instance of services are not working. I don't know much about peer usage so I did not found a solution for that. I find it strange to have to connect() the service using the Port name and pins of the servo. I have add an alternative initialisation method that seem more in line with how we recently attaches services with each other. So said welcome to
- Tracking.attach(ServoControl x, ServoControl y)
- Tracking.attach(ServoControl servo, String axis) // axis = "x" or "y"
- Tracking.attach(OpenCV opencv)
and that seem to work very well, Servo don't even need to be on the same arduino
There is also a problem where the OpenCVFilter seem to be add multiple times. in fact, the problem is with the OpenCVGui that add into the list all the filter name every time a new filter get add. But the filters are not duplicate in the OpenCV service and are working fine. I have not fix that yet, but want to share that it's not really a problem
I still have to test with a camera mounted on servo, but the Tracking service seem to be worky