[Home]History of LineNumbers

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Revision 26 . . April 3, 2012 7:30 am by MichaelHaberler [*update - note planned changes]
Revision 25 . . (edit) April 1, 2012 3:50 pm by MichaelHaberler
Revision 24 . . (edit) April 1, 2012 3:40 pm by MichaelHaberler
Revision 23 . . (edit) April 1, 2012 3:00 pm by MichaelHaberler
Revision 22 . . (edit) April 1, 2012 2:58 pm by MichaelHaberler
Revision 21 . . (edit) April 1, 2012 2:55 pm by MichaelHaberler
Revision 20 . . (edit) April 1, 2012 2:54 pm by MichaelHaberler
Revision 19 . . (edit) April 1, 2012 2:53 pm by MichaelHaberler
Revision 18 . . (edit) April 1, 2012 2:20 pm by MichaelHaberler
Revision 17 . . (edit) April 1, 2012 1:45 pm by MichaelHaberler
Revision 16 . . (edit) April 1, 2012 8:35 am by MichaelHaberler
Revision 15 . . (edit) April 1, 2012 7:40 am by MichaelHaberler
Revision 14 . . (edit) April 1, 2012 12:34 am by MichaelHaberler
Revision 13 . . (edit) April 1, 2012 12:26 am by MichaelHaberler
Revision 12 . . (edit) March 31, 2012 10:05 pm by MichaelHaberler
Revision 11 . . (edit) March 31, 2012 10:03 pm by MichaelHaberler
Revision 10 . . (edit) March 31, 2012 10:02 pm by MichaelHaberler
Revision 9 . . (edit) March 21, 2012 8:43 pm by MichaelHaberler
Revision 8 . . (edit) March 21, 2012 8:42 pm by MichaelHaberler
Revision 7 . . (edit) March 21, 2012 8:40 pm by MichaelHaberler
Revision 6 . . (edit) March 21, 2012 8:16 pm by MichaelHaberler [*note stepping]
Revision 5 . . (edit) March 21, 2012 7:58 pm by MichaelHaberler
Revision 4 . . (edit) March 21, 2012 6:03 pm by MichaelHaberler
Revision 3 . . (edit) March 21, 2012 6:00 pm by MichaelHaberler
Revision 2 . . (edit) March 21, 2012 5:51 pm by MichaelHaberler
Revision 1 . . March 21, 2012 5:46 pm by MichaelHaberler [*describe the issue with line number handling in linuxcnc, strawman design]
  

Difference (from prior major revision) (no other diffs)

Added: 0a1,24

Update




The "motion id zero" anomaly is found and fixed: http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commit;h=cfd174ad104f85ca82f8f5bebde4ecdf83575a92 and here: http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=commit;h=18d437822cf1b9a4694dacb0564201410e456a6b . This means that any motion id (which is also used as a line number feedback for the GUIs) can be used except the special value(s) described in motion.h .

It turns out that the collective subconscious must have known about this for a long time, and worked around it several times. Unfortunately these workarounds had several cascading side effects. Now that the real cause is found and fixed, the path is open to several repairs and imrpovements, which are:

* the negative MDI linenumber workaround in task can be removed. This means that feedback from MDI oword sub calls (eg 'o<sub> call') will now report the correct line number in sub.ngc. It remains to be done to signal to the GUI's that the source context has changed (eg from MDI string to sub.ngc) and cause it to display the proper context, but this is straightforward. This means that post-repair no legit linenumber generated from interp will ever by negative.

* the interpreter can now be used as the single source of linenumber information. This means that the interp_list.set_line_number() workarounds from task can be removed.

* the assumption "negative linenumber equals MDI mode" has to be cleaned up.

command.c:240: reportError(_("%s move in MDI would exceed joint %d's positive limit"),
command.c:250: reportError(_("%s move in MDI would exceed joint %d's negative limit"),
control.c:404: reportError(_("Probe tripped during non-probe MDI command."));

While technically these will now report the proper linenumber, the test for id >= 0 and the corresponding MDI error message can now be removed to report the actual line number like in auto mode.





LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
Search:
Published under a Creative Commons License