myrobotlab icon indicating copy to clipboard operation
myrobotlab copied to clipboard

Remove ServoEvents by Default - use explicit setting of encoder types

Open supertick opened this issue 6 years ago • 4 comments

Currently : Servo's expect to have ServoEvents. ServoEvents are just Time-based Dead Recogning Pseudo Encoders. This is ok, and very useful, but it should be treated as a more generalized Encoder.

e.g. servoController.setEncoder(myEncoder) .. where myEncoder can be a "real" quadrature encoder or the TimeBased encoder;

I think initially Servos should have no encoders, and its the responsibility of the script or composite service to set the type of encoder. (The same exact rules should be followed for Motors & MotorControllers)

supertick avatar Jan 31 '19 17:01 supertick

Should be done with other massive refactoring for Servo & InMoov in Ogre

supertick avatar Jan 31 '19 17:01 supertick

When a Servo currently starts it automatically adds itself as a servo event listener and sets itself to publish ServoEvents. I tried to create a static global default which configured all newly created Servos with preferences (e.g. without ServoEvents) but this was overwritten when the servo started :(

supertick avatar Jan 31 '19 18:01 supertick

Did you want to close this or move it to Ogre?

kwatters avatar Jan 31 '19 18:01 kwatters

move to Ogre

supertick avatar Jan 31 '19 22:01 supertick