-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Throttle error message on inconsistent encoder timestamps #2869
Throttle error message on inconsistent encoder timestamps #2869
Conversation
3ef44e7
to
a4238f6
Compare
a4238f6
to
41e406e
Compare
41e406e
to
e125067
Compare
I'm leaving the changes to the ROS device out of this patch since the device itself has been moved to a different repository at 48a7dd0.
The use case being: some (but not all) wrapped subjoints stop responding and may resume communication with the board at some later point, in which case and in the current state of things the wrapper device is temporarily muted (not publishing state) by the consistency checker. I would like to keep it alive also in this scenario. Note #2862 allowed unmuting it if all subdevices were made available again. Would it be acceptable in a future PR if the board keeped sending state referring to the still working subdevices, while discarding the outdated timestamps in the average value (used as port envelope)? Edit: I will look into this with more detail and start an issue. Edit 2: see #2939. |
e125067
to
f014caf
Compare
f014caf
to
8fc328c
Compare
8fc328c
to
bf590cb
Compare
I have changed the base branch to yarp-3.8 (it looks like it has triggered some unwanted actions, sorry!). I have also added logging component identifiers ( |
bf590cb
to
db24011
Compare
db24011
to
aad6c24
Compare
As a follow-up to #2862, this patch throttles the error message printed whenever an inconsistency in encoder timestamps is detected. The "Encoder timestamps are not consistent! Data will not be published." is logged every few milliseconds and bloats the terminal. I'm using an arbitrary throttle of one second to mitigate this.
@randaz81 I think the nws_ros{.h,.cpp} files at src/devices/ControlBoardWrapper have been accidentally left out after #2845. Perhaps you want to delete them first, then I can rebase this patch accordingly. As a side note, the consistency check patch from #2841 was applied to both nws_yarp and nws_ros in the ControlBoardWrapper directory, but the latter was copied into a different location using a version prior to said changes.
As commented in #2862, I'm still considering other ways to treat (or perhaps disable) consistency checking due to my particular use case.