Skip to content
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

Major CAN rework #229

Merged
merged 374 commits into from
Dec 31, 2019
Merged

Major CAN rework #229

merged 374 commits into from
Dec 31, 2019

Conversation

PeterBowman
Copy link
Member

@PeterBowman PeterBowman commented Aug 5, 2019

This PR tracks several [CAN-TEO] issues, detailed as follows:

TODOs:

  • Parse .ini groups of parameters common to all CAN and wrapper devices.
  • Re-enable ICanBusSharer client apps (examples, tests...).
  • Pass CAN data size along with data pointer in SDO semaphore await and notify actions?
  • 6060h vs 6061h on SDO await.
  • Add C++11-related CMake flags.
  • Check whether data part in SDO messages is guaranteed to fit exactly 8 bytes.
  • Hide private implementation of CANopen stack library.
  • Harmonize CANopen class names.
  • Write doxy documentation.
  • Prepare unit tests.
  • Ensure thread safety where needed.
  • Use std::atomic in new StateVariables class.
  • Move TPDO callbacks somewhere else (TechnosoftIpos.cpp? use std::bind?).
  • Move error register-related code into its own callback(s)?
  • Refactor control mode-related stuff into CanBusSharerLib?
  • Parse remaining statusword bits, e.g. motor on/off?
  • Call DriveStatusMachine methods instead of CanOpen::rpdo1?
  • Add log levels to StateVariables::reportBitToggle (YARP logger?)
  • Fix compiler warnings reported in Travis.
  • Embrace C++11's move semantics and perfect forwarding.
  • Pass lambda parameters by value?
  • Pimpl & rule-of-three.
  • Review homing procedure (checkMotionDone failures).
  • Easily disable absolute encoders?
  • Resurrect PT/PVT modes.
  • Try yarpmotorgui.

@roboticslab-uc3m roboticslab-uc3m deleted a comment from coveralls Aug 6, 2019
@roboticslab-uc3m roboticslab-uc3m deleted a comment from coveralls Aug 6, 2019
@PeterBowman PeterBowman marked this pull request as ready for review December 31, 2019 21:38
@PeterBowman
Copy link
Member Author

PeterBowman commented Dec 31, 2019

This PR has long exceeded the limit of 250 browseable commits, and helpful comments are buried deep among commit titles (#229 (comment)), so I'm going to close it, at last. Also, my initial assigment was due by the end of 2019 (kinda), and I need other people to test this code extensively. Both facts convinced me to merge apocanlypse now and start a new branch with moar follow-ups at some point afterwards (and another catchy name, too). Bonus TEO feature if you can find the easter egg.

This PR was developed along with new .ini files on robot-specific repositories: roboticslab-uc3m/teo-configuration-files@b17cea8, roboticslab-uc3m/asibot-configuration-files@e02bfc6.

Disclaimers:

  1. Left arm CAN bus is sometimes down, I suspect a wiring issue. (cc @rsantos88)
  2. Onboard TEO PCs now run the new code.
  3. Mind Cannot change control mode some/many times #170.

Happy 2020.

PS "apocanlypse now" was totally unintended.

PS2 just noticed (Feb '20) the alternative spelling "Majorcan rework" (as in the Majorca island). Sorry, it's stronger than me.

@PeterBowman PeterBowman merged commit be9896d into develop Dec 31, 2019
@PeterBowman PeterBowman deleted the apocanlypse branch December 31, 2019 21:43
PeterBowman added a commit to roboticslab-uc3m/humasoft-yarp-devices that referenced this pull request Jan 2, 2020
This was referenced Jan 2, 2020
PeterBowman added a commit to roboticslab-uc3m/humasoft-yarp-devices that referenced this pull request Jan 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment