normalize UnitListener
currently the UnitListener have some arbitrary differences.
e.g.:
- timestamps (none seemed to use IceUtil::Time which would have the unit of time):
- some do not report timestamps (
ForceTorqueUnitListener
) - some use long (lets hope this is always the same unit) for timestamps (
KinematicUnitListener
) - some use TimestampBase, which contains a long (lets hope again this is always the same unit)
- values:
- some units use framed pos etc (
ForceTorqueUnitListener
) - some use simply vectors of floats (how many elements?) (
InertialMeasurementUnitListener
) - some use a few floats (at least this limits the count, but what is the frame?) (
PlatformUnitListener
)
- some units use framed pos etc (
also some listeners use identical function names (ForceTorqueUnitListener::reportSensorValues
/ InertialMeasurementUnitListener::reportSensorValues
). The result is, there can't be a listener being ForceTorqueUnitListener
and InertialMeasurementUnitListener
since ice does not alow function overloads.
there are probably other problems.
we should collect these problems and fix them.
the fix will probably be a breaking change, so we should fix as many of such problems as we can at the same time.
since simoxV3 will be a breaking change, our transition to simoxV3 will probably also be (so this would be a good point to also fix this problem)