-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
usermotintf.cc: re-copy command structure to prevent command 30 timeo…
…ut and emcTrajInit failure The kludge (probably) addresses the following terminal display during load caused by commit 7ede7d9 from October 2023: USRMOT: ERROR: command 30 timeout emcMotionInit: emcTrajInit failed Comments as to why this method was chosen can be seen by viewing the aforementioned commit. Maybe worth noting here command 30 is EMCMOT_SET_NUM_JOINTS.
- Loading branch information
1 parent
79ce2ef
commit 9a45ed9
Showing
1 changed file
with
21 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9a45ed9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be more prudent to replace the explicit locked copy with a proper locked (because of the size) atomic transfer with read/write memory synchronization? Inconsistencies may be a symptom of diverging caches between CPUs.
(BTW, isn't it commit 7ace53e you are referring to?)
9a45ed9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quite possibly, admittedly this portion of LinuxCNC is outside of my comfort zone. I am definitely open to working with you to test a better solution.
I'll say maybe. While that is the commit that added all of this code specifically, it was commit 7ebe7d9 that dealt with some race stuff, and caused a lot of other issues to show up. The command 30 timeout and subsequent failure of emcTrajInit were never properly address during that time (as you can hopefully see from the comments). This was my attempt to not let it completely go unresolved and fall off the radar. Hopefully garner some attention, etc. Perhaps it worked :) (just not from the original dev).