-
Notifications
You must be signed in to change notification settings - Fork 31
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
Improve the AMO encoder diagnostic to make the user aware of specific AMO encoder problem #556
Comments
I've started the work at this branch: https://github.com/MSECode/icub-firmware/commits/feature/updateAMOEncDiagnostic/ @valegagge, I've a doubt about using the embot library to check which bits of the diagnostic byte are set to 1. However, in order to do so we need to include
|
Hi @MSECode, regarding the including of
Here, since you carried on the AMO study, you could suggest something.
Currently, if there is a very critical case, I'd like to add a fault.
You can suggest a solution that best fits the fw and icub-main if such errors are shared with the diagnostic at high level. |
Now, just to test if we can correctly read the different diagnostic bits I've added some debug lines, which are sent to the yarprobointerface every 10 seconds if we have errors. Doing so, I've run a test with the joint with the threeEncoders that was moving between -180 and +180 degrees in position mode using the AMO encoder only calibrated with calibration type 12.
Among the I've written the code so that if you see:
|
Navigating the code, I've found that a similar work was previously done with these functions: https://github.com/robotology/icub-firmware/blob/master/emBODY/eBcode/arch-arm/embobj/plus/board/EOappEncodersReader.c#L1984-L2143 However, I suppose that the code in those lines it is not currently used since I think that can be enabled by the flag that we have in icub-main: |
Following the works done in #535 and collected in this EPIC: https://github.com/icub-tech-iit/study-encoders/issues/21 we have decided to exploit the information made available by the diagnostic bytes of the AMO encoder, i.e. the ones called
status_0
andstatus_1
, to make the user more aware of what is actually happing with the encoder when the problems taken into account during the previous issues happen.The diagnostic is fully described by these 2 tables available in the AMO datasheet.
The text was updated successfully, but these errors were encountered: