This branch combines a bunch of old work, and some recent fixes from other branches to address some outstanding TP issues in 2.7
Fix #68 (reduce large blend arcs in G33 and prevent blends between synced and non-synced modes)
Fix #164 (smoother error correction and better velocity estimation in position sync)
Fix #167 (warns users if axis feeds are not fast enough for a G33 move at the current spindle speed)
Fix #546 (Fix some edge cases in TP including a regression in parabolic blend fallback)
Fix #550 (Fix mismatch between canon and TP’s idea of what a zero-length move is, since they each have to arrive at that conclusion independently)
Note: all runtests and TP unit tests pass in a Ubuntu 18.04 x64 uspace build
评论 (11)
#2 – samcoinc 于 2019-05-02
example
https://youtu.be/ACvRilmIKDQ?t=75
On Wed, May 1, 2019 at 10:04 PM Sam Sokolik
>
> – tp: disallow blending when entering position-synch mode
>
> Have not had time to play with this – but does this mean that things like
> a fuse won’t work any more? (like combining a bunch of G33 commands
> together to create a variable pitch/diameter thread?
>
> On Wed, May 1, 2019 at 8:18 PM Robert W. Ellenberg <
> notifications@github.com> wrote:
>
>> This branch combines a bunch of old work, and some recent fixes from
>> other branches to address some outstanding TP issues in 2.7
>>
>> Fix #68 <https://github.com/LinuxCNC/linuxcnc/issues/68> (reduce large
>> blend arcs in G33 and prevent blends between synced and non-synced modes)
>> Fix #164 <https://github.com/LinuxCNC/linuxcnc/issues/164> (smoother
>> error correction and better velocity estimation in position sync)
>> Fix #167 <https://github.com/LinuxCNC/linuxcnc/issues/167> (warns users
>> if axis feeds are not fast enough for a G33 move at the current spindle
>> speed)
>> Fix #546 <https://github.com/LinuxCNC/linuxcnc/issues/546> (Fix some
>> edge cases in TP including a regression in parabolic blend fallback)
>> Fix #550 <https://github.com/LinuxCNC/linuxcnc/issues/550> (Fix mismatch
>> between canon and TP’s idea of what a zero-length move is, since they each
>> have to arrive at that conclusion independently)
>> ——————————
>> You can view, comment on, or merge this pull request online at:
>>
>> https://github.com/LinuxCNC/linuxcnc/pull/581
>> Commit Summary
>>
>> – tp: disallow blending when entering position-synch mode
>> – tp: Improve position-mode spindle sync performance with new error
>> calculation.
>> – tp: new formula for spindle position tracking
>> – sim: Add a simple component for quantizing a signal (useful for
>> simulating encoders)
>> – sim: First cut of spindle encoder simulation with quantized output
>> – canon: Add a missing forward declaration
>> – canon: Minor whitespace cleanup
>> – canon: Replace unit conversion macro with a function
>> – canon: Enable smarter blending in spindle-synchronized motion.
>> – tp: Limit max feed scale in position-sync blends.
>> – canon: Automatically limit spindle speed in spindle-sync motion.
>> – tp: Re-order checks for parabolic blends
>> – tp: Fix debug level for some debug print statements
>> – tp: Use motion’s spindle-speed-in input for spindle velocity
>> – sim: Improve simulation of inertia in spindle sim
>> – tp: Add debug information for spindle sync
>> – motion: Add spindle velocity estimator
>> – motion: Refactor spindle status for clarity and organization.
>> – tp: Remove discontinuous spindle positions in rigid tapping
>> internals.
>> – tp: Fix spindle position tracking to work with motion’s new spindle
>> data.
>> – motion: Add a HAL pin to motion to let users control how aggressive
>> position tracking should be.
>> – test: Test case for steady state error
>> – Re-arrange a calculation to remove a division
>> – canon: actually return angular feed rate when asked
>> – test: Match sam’s lathe config settings (axis vel / acc).
>> – tp: Allow switching between position-sync algorithms based on a HAL
>> pin.
>> – sim: model velocity quantization in encoder near 360RPM
>> – canon: Simplify spindle speed limits for synced motion
>> – canon: don’t restore spindle speed after limiting it for
>> spindle-synched motion.
>> – Before run, warn if spindle-synched move violates axis limits
>> – Added tracking error pin to motion HAL for spindle sync testing
>> – Make sim spindle more sluggish to make direction reversal behavior
>> easier to analyze in simulation.
>> – Fix motion’s position tracking error output pin.
>> – Fix sign reversal in spindle displacement calculation causing
>> hard-stop at end of rigid tap
>> – Add debug scripts to extract spindle data from a tp log file
>> – Fix false position tracking error at spindle reversal (needed to
>> reset sync position)
>> – Increase halscope’s shared ram size to collect more samples
>> – Add some missing notes
>> – Add max spindle speed check to rigid tapping and factor out some
>> common code.
>> – Fix spindle reversal calculations to avoid jitter and accelerations
>> spikes.
>> – Add some extraction scripts for TP test logs
>> – During G96, plan blends for largest possible spindle speed
>> – Only limit spindle speed during position sync, not velocity sync
>> – Add spindle-specific fields to emcmotCommand rather than reusing
>> other fields (with confusing names).
>> – Fix linking issue with signum function
>> – tp: Add some comments to clarify obscure variable names
>> – tp: When forcing a pair of motion segments to be tangent, store the
>> “kink” velocity in the previous segment.
>> – tp: Fix handling of approximate tangents and required de-rating of
>> max velocity and acceleration.
>> – tp: Fix acceleration violation due to corner case in initialization
>> of optimizer
>> – test: Add test cases for issue 546 and issue 550
>> – tp: Refactor tangential vs overall maximum acceleration lookup
>> – tp: Set flags on next segment when setting terminal condition.
>> – Fix some compiler warnings
>> – tp: Refactor circle maximum velocity / acceleration ratio
>> calculation
>> – tp: Refactor and simplify parallel / anti-parallel checks
>> – blendmath: implement unit tests for new parallel / anti-parallel
>> check functions
>> – tp: Move a pmCartesian function into blendmath for use outside of
>> tp.c
>> – tp: Reimplement sharp corner detection using new anti-parallel
>> detection
>> – tp: Factor out calculation for peak velocity over a distance.
>> – unit_test: Add “greatest” unit test framework (C, header-only
>> macro-based unit tests)
>> – tp: Compute effective radius of helix too.
>> – tp: Simplify kink acceleration calculation to handle negative
>> velocities
>> – tp: Overhaul debug output with JSON5-formatted log statements.
>> – Apply minimum displacement checks consistently between canon and TP.
>> – test: Introduce some optimized configs for manual sim tests.
>> – tp: Refactor tpCheckEndCondition to isolate computation from TP
>> global state
>> – tests: Add a stripped down test case for split-cycle debugging
>> – tp: Move split cycle function to blendmath file and simplify logic
>> – Handle pure-angular moves consistently between canon and TP
>> – tp: Simplify logic in split-cycle update
>> – tp: Simplify debug output and present more useful info
>> – tp: Fix effective radius curvature formula.
>> – canon: Fix a mistaken unit conversion of normal axis unit vector in
>> circular move command
>> – tp: Use already-calculated max normal acceleration from canon for
>> optimal circle max velocity in TP
>> – tests: Add XYZ velocity plot to log parser
>> – test: Add some TP test cases for optimal circle velocity /
>> acceleration
>> – test: clean up old octave scripts and fix up broken / missing
>> functions in test code.
>> – tests: Add an ignore file for generated files from TP debugging
>> – motion: Catch and propagate failures to set TP position / velocity
>> in HAL
>> – tp: Add position mismatch check when starting a motion segment
>> – tp: Factor out accel scale calculation
>> – tp: Extend JSON5 debug output to include some spindle-sync
>> information
>> – tp: convert more debug outputs to JSON5 format
>> – tp: don’t try to compute blend velocity for segments that don’t
>> parabolic blend
>> – tp: Convert debug output for spiral arc length fit to JSON5
>> – test: Provide common setup subroutines and clean up old TP test
>> programs
>> – tp: Clean up some more warnings
>> – Extend blendmath unit tests to include test cases for end condition
>> check
>> – Add an inline wrapper function to extract max accel from emcmotDebug
>> – tp: migrate more debug output to use new JSON5 printing
>> – Add default conditions to a TP test case
>> – tp: add some skeletal unit tests for jointutils and sphericalarc
>> – tp: add a test for the ray intersection check
>> – tp: Clean up some pedantic warnings about default cases
>> – tp: Factor out code handling spindle-sync into a separate function
>> – posemath: Overhaul and extend unit tests
>> – canon: Fix a pedantic unused variable warning
>> – greatest: Tweak the console output to be more gcc-like
>> – posemath: Remove extraneous semicolons from definitions in posemath
>> – tp: Pedantic rename of a function to match its result
>> – tp: Remove an unnecessary special case in tangent angle check
>> – tp: Add more unit tests for blendmath
>> – unit_test: Document setup for unit test build in README
>> – Make greatest float printing more precise to help troubleshoot
>> numerical errors
>> – tp: Control new consistency checks with INI file settings to avoid
>> console spam in production
>> – tp: make TP axis limit error checks more robust
>> – tp: refactor TP functional tests to run headless
>> – tp: remove some obsolete debug output (to be replaced with unit
>> testing)
>> – test: Functional tests for TP from NGC snippets known to reproduce
>> past issues
>> – test: remove an unused config file from previous versions of test
>> configs
>> – unit_test: add some new cases for end condition check
>> – motion: Convert #defines to enums
>> – tp: hide some pedantic debug output that screws with unit tests
>> – unit_test: add an assert macro to compare PmCartesians
>> – tp: add more test cases for PmCircles with helix / spiral components
>> – unit_test: convert more PmCartesian asserts to use macro rather
>> than compare function
>> – posemath: Fix pointer type mismatches in posemath error messages
>> – unit_test: convert more asserts to produce GCC-style output
>> – unit_test: Hide pedantic debug ouput by default in unit tests
>> – Fix some formatting mismatches between other branches for easier
>> merging in the future
>> – Restore a debug message in case of future issues with zero-length
>> moves
>> – Merge branch ‘bugfixes-546-550-167-68-164-2.7’ into 2.7
>> – tp: fix missing symbol
>> – Fix runtests for TP consistency checks
>> – canon: fix feed rate problem in arc corner case
>> – Fix formatting inconsistencies in canon
>> – canon: fix a merge / rebase error that dropped a variable rename in
>> a previous commit
>> – Fixup 80c92580: update motion-logger/basic test
>>
>> File Changes
>>
>> – M .gitignore
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-0> (5)
>> – M README
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-1> (11)
>> – M lib/hallib/core_sim9.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-2> (3)
>> – M lib/hallib/simspindleencoder.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-3> (29)
>> – M lib/python/rs274/glcanon.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-4> (40)
>> – M meson.build
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-5> (46)
>> – M src/Makefile
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-6> (2)
>> – M src/emc/ini/initraj.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-7> (8)
>> – M src/emc/motion-logger/motion-logger.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-8> (13)
>> – M src/emc/motion/command.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-9> (126)
>> – M src/emc/motion/control.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-10> (66)
>> – M src/emc/motion/mot_priv.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-11> (6)
>> – M src/emc/motion/motion.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-12> (29)
>> – M src/emc/motion/motion.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-13> (64)
>> – M src/emc/motion/usrmotintf.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-14> (1)
>> – M src/emc/nml_intf/emc.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-15> (3)
>> – M src/emc/nml_intf/emc.hh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-16> (8)
>> – M src/emc/nmlintf/emcnml.hh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-17> (6)
>> – M src/emc/nml_intf/emcpose.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-18> (42)
>> – M src/emc/nml_intf/emcpose.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-19> (4)
>> – M src/emc/nml_intf/interpl.hh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-20> (2)
>> – M src/emc/nmlintf/motiontypes.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-21> (19)
>> – M src/emc/rs274ngc/gcodemodule.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-22> (34)
>> – M src/emc/rs274ngc/interp_base.hh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-23> (4)
>> – M src/emc/rs274ngc/interp_internal.hh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-24> (1)
>> – M src/emc/task/emccanon.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-25> (384)
>> – M src/emc/task/emctaskmain.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-26> (6)
>> – M src/emc/task/taskintf.cc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-27> (52)
>> – M src/emc/tp/blendmath.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-28> (245)
>> – M src/emc/tp/blendmath.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-29> (25)
>> – A src/emc/tp/joint_util.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-30> (125)
>> – A src/emc/tp/joint_util.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-31> (21)
>> – A src/emc/tp/math_util.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-32> (25)
>> – A src/emc/tp/math_util.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-33> (20)
>> – A src/emc/tp/rtapi_json5.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-34> (143)
>> – M src/emc/tp/spherical_arc.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-35> (41)
>> – M src/emc/tp/spherical_arc.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-36> (4)
>> – M src/emc/tp/tc.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-37> (137)
>> – M src/emc/tp/tc.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-38> (12)
>> – M src/emc/tp/tc_types.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-39> (21)
>> – M src/emc/tp/tp.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-40> (1212)
>> – M src/emc/tp/tp.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-41> (42)
>> – M src/emc/tp/tp_debug.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-42> (38)
>> – M src/emc/tp/tp_types.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-43> (20)
>> – M src/emc/usr_intf/axis/scripts/axis.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-44> (13)
>> – M src/emc/usr_intf/gremlin/gremlin.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-45> (13)
>> – M src/hal/classicladder/drawing_sequential.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-46> (3)
>> – M src/hal/classicladder/files_sequential.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-47> (1)
>> – M src/hal/classicladder/sequential.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-48> (4)
>> – A src/hal/components/d2dt2.comp
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-49> (37)
>> – A src/hal/components/quant.comp
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-50> (29)
>> – M src/hal/utils/scope_rt.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-51> (2)
>> – M src/hal/utils/scope_shm.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-52> (2)
>> – M src/libnml/posemath/_posemath.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-53> (17)
>> – M src/libnml/posemath/posemath.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-54> (39)
>> – M src/rtapi/uspace_common.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-55> (1)
>> – M tests/motion-logger/basic/expected.builtin-startup.in
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-56> (1)
>> – M tests/motion-logger/mountaindew/expected.motion-logger
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-57> (1)
>> – A tests/trajectory-planner/batch-test/.gitignore
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-58> (5)
>> – A tests/trajectory-planner/batch-test/batch-test.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-59> (7)
>> – A tests/trajectory-planner/batch-test/checkresult
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-60> (3)
>> – A tests/trajectory-planner/batch-test/headlessbatchtest.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-61> (51)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/arcmaxvel_xy.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-62> (3)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/arctime.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-63> (2)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/basicxy.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-64> (5)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxy.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-65> (4)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxz.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-66> (2)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullyz.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-67> (2)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/optimalcircleaccratio.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-68> (19)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc2.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-69> (2)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc3.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-70> (2)
>> – A
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-concave-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-71> (13)
>> – A
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-concave.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-72> (13)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-73> (2)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-74> (2)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-neartangent.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-75> (2)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-planeswitch.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-76> (2)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-sawtooth.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-77> (22)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-test.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-78> (0)
>> – A
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-large-radii.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-79> (13)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-terminal.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-80> (3)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-with-spiral.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-81> (8)
>> – A
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/line-arc-burnin.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-82> (47)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-83> (4)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-end-overrun.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-84> (5)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-85> (2)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/tort-sam-mach3.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-86> (5)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/546simplfied.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-87> (21)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/arcvel_violation2.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-88> (0)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/blendarcsimplepos_test.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-89> (12)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/bug424long.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-90> (0)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/bug550short_moves.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-91> (13)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/circulartolerance_check.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-92> (0)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/cornerdecel.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-93> (12)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/cradekaccel_issue.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-94> (9)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/feedtest.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-95> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/fullreverse.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-96> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/machinekit412.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-97> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-98> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical2.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-99> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-100> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line2.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-101> (0)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicbump.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-102> (10)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolictest.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-103> (9)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicvarying.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-104> (12)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/quickarc.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-105> (0)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/rickg-arcs.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-106> (2)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/sam-master-violation.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-107> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/samvel_violation.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-108> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation1.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-109> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-110> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2_verbatim.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-111> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation3.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-112> (3)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/samzerolengthmove.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-113> (0)
>> – A
>> tests/trajectory-planner/batch-test/nc_files/regressions/split-cycle-check.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-114> (515)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-kink-test.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-115> (0)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-violation-spirals.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-116> (0)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/stop-err.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-117> (0)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/tangentlines_smooth.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-118> (0)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/regressions/tap-discrimant-error-orig.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-119> (2)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/tkalcevicrealtime_error.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-120> (0)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/regressions/warningsg81.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-121> (20)
>> – R
>> tests/trajectory-planner/batch-test/ncfiles/regressions/zjumptangentimprovement.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-122> (0)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/spindle/g33blend.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-123> (24)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/spindle/g33simple.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-124> (8)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/spindle/g95blend.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-125> (30)
>> – A
>> tests/trajectory-planner/batch-test/ncfiles/spindle/rigidtaptest.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-126> (11)
>> – R
>> tests/trajectory-planner/batch-test/nc_files/spindle/spindle-wait.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-127> (2)
>> – A tests/trajectory-planner/batch-test/nc_files/spindle/tapping.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-128> (10)
>> – A tests/trajectory-planner/batch-test/position.blank
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-129> (9)
>> – A tests/trajectory-planner/batch-test/printloadtimes.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-130> (20)
>> – A tests/trajectory-planner/batch-test/sim.tbl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-131> (1)
>> – A tests/trajectory-planner/batch-test/test.sh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-132> (4)
>> – A tests/trajectory-planner/circular-arcs/.gitignore
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-133> (5)
>> – A tests/trajectory-planner/circular-arcs/README.md
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-134> (21)
>> – M tests/trajectory-planner/circular-arcs/build-debug.sh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-135> (2)
>> – M tests/trajectory-planner/circular-arcs/build-release.sh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-136> (4)
>> – A tests/trajectory-planner/circular-arcs/configs/6axis_rotary.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-137> (270)
>> – M tests/trajectory-planner/circular-arcs/configs/9axis.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-138> (82)
>> – M tests/trajectory-planner/circular-arcs/configs/XY.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-139> (12)
>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_fast.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-140> (3)
>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_medium.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-141> (3)
>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_nospindle.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-142> (4)
>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_uneven.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-143> (1)
>> – M tests/trajectory-planner/circular-arcs/configs/XY_slowZ.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-144> (22)
>> – D
>> tests/trajectory-planner/circular-arcs/configs/addhalsymlinks.sh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-145> (3)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/applylimitsto_enable.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-146> (1)
>> – R
>> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-147> (170)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA_template.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-148> (192)
>> – M tests/trajectory-planner/circular-arcs/configs/axis-A.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-149> (34)
>> – A tests/trajectory-planner/circular-arcs/configs/axis-B.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-150> (35)
>> – A tests/trajectory-planner/circular-arcs/configs/axis-C.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-151> (35)
>> – A tests/trajectory-planner/circular-arcs/configs/axis-U.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-152> (35)
>> – A tests/trajectory-planner/circular-arcs/configs/axis-V.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-153> (35)
>> – A tests/trajectory-planner/circular-arcs/configs/axis-W.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-154> (35)
>> – M tests/trajectory-planner/circular-arcs/configs/axis-X.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-155> (34)
>> – M tests/trajectory-planner/circular-arcs/configs/axis-Y.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-156> (34)
>> – M tests/trajectory-planner/circular-arcs/configs/axis-Z.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-157> (32)
>> – M
>> tests/trajectory-planner/circular-arcs/configs/axis_manualtoolchange.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-158> (2)
>> – D tests/trajectory-planner/circular-arcs/configs/core_sim9.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-159> (1)
>> – M
>> tests/trajectory-planner/circular-arcs/configs/coresimcomponents.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-160> (29)
>> – R tests/trajectory-planner/circular-arcs/configs/lathe_XZ.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-161> (8)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/loadconstraintcomponents.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-162> (57)
>> – R tests/trajectory-planner/circular-arcs/configs/mill_XYZA.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-163> (16)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-A.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-164> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-B.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-165> (6)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-C.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-166> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-U.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-167> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-V.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-168> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-W.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-169> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-X.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-170> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-XYZA.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-171> (5)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/postgui-XYZABC.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-172> (3)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/postgui-XYZABCUVW.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-173> (4)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-XZ.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-174> (3)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-Y.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-175> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-Z.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-176> (5)
>> – A tests/trajectory-planner/circular-arcs/configs/postgui-base.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-177> (14)
>> – D tests/trajectory-planner/circular-arcs/configs/postgui.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-178> (35)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/testXYZAall_programs.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-179> (7)
>> – A
>> tests/trajectory-planner/circular-arcs/configs/testrunall_programs.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-180> (61)
>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZA.xml
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-181> (148)
>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABC.xml
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-182> (198)
>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABCUVW.xml
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-183> (273)
>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XZ.xml
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-184> (98)
>> – M tests/trajectory-planner/circular-arcs/configs/vcp.xml
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-185> (249)
>> – A tests/trajectory-planner/circular-arcs/extract_all.sh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-186> (7)
>> – A tests/trajectory-planner/circular-arcs/extract_displacement.awk
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-187> (2)
>> – A tests/trajectory-planner/circular-arcs/extract_spindle.awk
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-188> (1)
>> – A tests/trajectory-planner/circular-arcs/extracttcstate.awk
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-189> (1)
>> – M tests/trajectory-planner/circular-arcs/linuxcnc_control.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-190> (252)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/XYtests/51MeanderAve.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-191> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-concave-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-192> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-concave.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-193> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-194> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-195> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-neartangent.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-196> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-planeswitch.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-197> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-sawtooth.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-198> (3)
>> – A
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-large-radii.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-199> (13)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-terminal.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-200> (3)
>> – D
>> tests/trajectory-planner/circular-arcs/ncfiles/arc-intersections/blurtorus.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-201> (1905)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/line-arc-burnin.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-202> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-203> (4)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-end-overrun.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-204> (5)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-stellabee.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-205> (5)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-206> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/tort-sam-mach3.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-207> (5)
>> – D
>> tests/trajectory-planner/circular-arcs/nc_files/auto-test/XYtests
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-208> (1)
>> – D
>> tests/trajectory-planner/circular-arcs/nc_files/auto-test/performance
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-209> (1)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/abctangent.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-210> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/adjustment.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-211> (4)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/arc-with-spiral.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-212> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_1.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-213> (6)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_comp.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-214> (5)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_lathe.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-215> (4)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/defaulttolerance_check.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-216> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/feed-tracking-test.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-217> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/helixslowdown.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-218> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/modalstate_test.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-219> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/parabolicsplit1.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-220> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/ripple1.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-221> (4)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/simpleblend.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-222> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/spiralaggressive.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-223> (5)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/tangentcheck.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-224> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/test-active-states.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-225> (3)
>> – A tests/trajectory-planner/circular-arcs/ncfiles/finddupes.sh
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-226> (9)
>> – R
>> tests/trajectory-planner/circular-arcs/nc_files/performance/sam-tail-slowdown.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-227> (0)
>> – D
>> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/arc-arc-concave-convex.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-228> (12)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/quick-tests/dodecagon0.1in.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-229> (7)
>> – D
>> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/linearc-stellabee.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-230> (132)
>> – A
>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33blend.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-231> (24)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33simple.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-232> (7)
>> – A
>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g95blend.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-233> (30)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/rigidtaptest.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-234> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/spindle/spindle-wait.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-235> (2)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/spiralspindleon.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-236> (3)
>> – M
>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/straightspindleon.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-237> (4)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/spindle/tapping.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-238> (2)
>> – A
>> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_inch.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-239> (4)
>> – A
>> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_mm.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-240> (4)
>> – A
>> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/defaultmodalstate.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-241> (19)
>> – D
>> tests/trajectory-planner/circular-arcs/ncfiles/violationchecks/spreadsheeterrors.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-242> (66)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207L.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-243> (8)
>> – M
>> tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207LZW.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-244> (7)
>> – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xw.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-245> (12)
>> – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xz.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-246> (12)
>> – D tests/trajectory-planner/circular-arcs/octave/create3dline.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-247> (62)
>> – M
>> tests/trajectory-planner/circular-arcs/octave/create3drandom_walk.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-248> (105)
>> – M tests/trajectory-planner/circular-arcs/octave/estimate_depth.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-249> (6)
>> – A tests/trajectory-planner/circular-arcs/octave/ezrand.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-250> (4)
>> – D tests/trajectory-planner/circular-arcs/octave/makepeakimg.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-251> (29)
>> – A
>> tests/trajectory-planner/circular-arcs/octave/optimalcirculararc_accel.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-252> (34)
>> – A tests/trajectory-planner/circular-arcs/octave/parallel_test.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-253> (10)
>> – A
>> tests/trajectory-planner/circular-arcs/octave/plot_displacement.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-254> (10)
>> – D tests/trajectory-planner/circular-arcs/octave/plot_movement.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-255> (10)
>> – A tests/trajectory-planner/circular-arcs/octave/plot_spindledata.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-256> (15)
>> – A tests/trajectory-planner/circular-arcs/octave/plot_tcdata.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-257> (7)
>> – D tests/trajectory-planner/circular-arcs/octave/process_log.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-258> (7)
>> – A tests/trajectory-planner/circular-arcs/octave/testkinkaccel.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-259> (29)
>> – A tests/trajectory-planner/circular-arcs/octave/testsplitcycle.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-260> (63)
>> – A tests/trajectory-planner/circular-arcs/parsetplogs.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-261> (72)
>> – D tests/trajectory-planner/circular-arcs/runalltests.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-262> (115)
>> – A tests/trajectory-planner/circular-arcs/tptestingvenv.cfg
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-263> (4)
>> – A
>> tests/trajectory-planner/common-config/applylimitsto_enable.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-264> (1)
>> – A tests/trajectory-planner/common-config/axis-A.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-265> (35)
>> – A tests/trajectory-planner/common-config/axis-X.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-266> (35)
>> – A tests/trajectory-planner/common-config/axis-Y.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-267> (35)
>> – A tests/trajectory-planner/common-config/axis-Z.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-268> (34)
>> – A tests/trajectory-planner/common-config/coresimcomponents.hal
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-269> (19)
>> – A tests/trajectory-planner/common-config/linuxcnc_control.py
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-270> (291)
>> – A
>> tests/trajectory-planner/common-config/loadconstraintcomponents.tcl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-271> (57)
>> – A tests/trajectory-planner/common-config/millXYZAbase.ini
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-272> (177)
>> – A tests/trajectory-planner/common-config/sim.tbl
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-273> (6)
>> – A tests/trajectory-planner/common-subs/default_inch.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-274> (4)
>> – A tests/trajectory-planner/common-subs/default_mm.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-275> (4)
>> – A tests/trajectory-planner/common-subs/defaultmodalstate.ngc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-276> (19)
>> – M unit_tests/greatest.h
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-277> (73)
>> – A unittests/mock/mockrtapi.inc
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-278> (22)
>> – A unittests/tp/genposemath_boilerplate.m
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-279> (23)
>> – M unittests/tp/testblendmath.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-280> (408)
>> – A unittests/tp/testjoint_util.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-281> (83)
>> – A unittests/tp/testposemath.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-282> (507)
>> – A unittests/tp/testspherical_arc.c
>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-283> (72)
>>
>> Patch Links:
>>
>> – https://github.com/LinuxCNC/linuxcnc/pull/581.patch
>> – https://github.com/LinuxCNC/linuxcnc/pull/581.diff
>>
>> —
>> You are receiving this because you are subscribed to this thread.
>> Reply to this email directly, view it on GitHub
>> <https://github.com/LinuxCNC/linuxcnc/pull/581>, or mute the thread
>> <https://github.com/notifications/unsubscribe-auth/AEHRGQW6VXJKJRQK2IBXT2LPTI6PTANCNFSM4HJ2Z47A>
>> .
>>
>
#3 – samcoinc 于 2019-05-02
ok – maybe I should have read down more?
– canon: Enable smarter blending in spindle-synchronized motion.
sorry
On Wed, May 1, 2019 at 10:06 PM Sam Sokolik
> example
> https://youtu.be/ACvRilmIKDQ?t=75
>
> On Wed, May 1, 2019 at 10:04 PM Sam Sokolik
>
>>
>> – tp: disallow blending when entering position-synch mode
>>
>> Have not had time to play with this – but does this mean that things like
>> a fuse won’t work any more? (like combining a bunch of G33 commands
>> together to create a variable pitch/diameter thread?
>>
>> On Wed, May 1, 2019 at 8:18 PM Robert W. Ellenberg <
>> notifications@github.com> wrote:
>>
>>> This branch combines a bunch of old work, and some recent fixes from
>>> other branches to address some outstanding TP issues in 2.7
>>>
>>> Fix #68 <https://github.com/LinuxCNC/linuxcnc/issues/68> (reduce large
>>> blend arcs in G33 and prevent blends between synced and non-synced modes)
>>> Fix #164 <https://github.com/LinuxCNC/linuxcnc/issues/164> (smoother
>>> error correction and better velocity estimation in position sync)
>>> Fix #167 <https://github.com/LinuxCNC/linuxcnc/issues/167> (warns users
>>> if axis feeds are not fast enough for a G33 move at the current spindle
>>> speed)
>>> Fix #546 <https://github.com/LinuxCNC/linuxcnc/issues/546> (Fix some
>>> edge cases in TP including a regression in parabolic blend fallback)
>>> Fix #550 <https://github.com/LinuxCNC/linuxcnc/issues/550> (Fix
>>> mismatch between canon and TP’s idea of what a zero-length move is, since
>>> they each have to arrive at that conclusion independently)
>>> ——————————
>>> You can view, comment on, or merge this pull request online at:
>>>
>>> https://github.com/LinuxCNC/linuxcnc/pull/581
>>> Commit Summary
>>>
>>> – tp: disallow blending when entering position-synch mode
>>> – tp: Improve position-mode spindle sync performance with new error
>>> calculation.
>>> – tp: new formula for spindle position tracking
>>> – sim: Add a simple component for quantizing a signal (useful for
>>> simulating encoders)
>>> – sim: First cut of spindle encoder simulation with quantized output
>>> – canon: Add a missing forward declaration
>>> – canon: Minor whitespace cleanup
>>> – canon: Replace unit conversion macro with a function
>>> – canon: Enable smarter blending in spindle-synchronized motion.
>>> – tp: Limit max feed scale in position-sync blends.
>>> – canon: Automatically limit spindle speed in spindle-sync motion.
>>> – tp: Re-order checks for parabolic blends
>>> – tp: Fix debug level for some debug print statements
>>> – tp: Use motion’s spindle-speed-in input for spindle velocity
>>> – sim: Improve simulation of inertia in spindle sim
>>> – tp: Add debug information for spindle sync
>>> – motion: Add spindle velocity estimator
>>> – motion: Refactor spindle status for clarity and organization.
>>> – tp: Remove discontinuous spindle positions in rigid tapping
>>> internals.
>>> – tp: Fix spindle position tracking to work with motion’s new
>>> spindle data.
>>> – motion: Add a HAL pin to motion to let users control how
>>> aggressive position tracking should be.
>>> – test: Test case for steady state error
>>> – Re-arrange a calculation to remove a division
>>> – canon: actually return angular feed rate when asked
>>> – test: Match sam’s lathe config settings (axis vel / acc).
>>> – tp: Allow switching between position-sync algorithms based on a
>>> HAL pin.
>>> – sim: model velocity quantization in encoder near 360RPM
>>> – canon: Simplify spindle speed limits for synced motion
>>> – canon: don’t restore spindle speed after limiting it for
>>> spindle-synched motion.
>>> – Before run, warn if spindle-synched move violates axis limits
>>> – Added tracking error pin to motion HAL for spindle sync testing
>>> – Make sim spindle more sluggish to make direction reversal behavior
>>> easier to analyze in simulation.
>>> – Fix motion’s position tracking error output pin.
>>> – Fix sign reversal in spindle displacement calculation causing
>>> hard-stop at end of rigid tap
>>> – Add debug scripts to extract spindle data from a tp log file
>>> – Fix false position tracking error at spindle reversal (needed to
>>> reset sync position)
>>> – Increase halscope’s shared ram size to collect more samples
>>> – Add some missing notes
>>> – Add max spindle speed check to rigid tapping and factor out some
>>> common code.
>>> – Fix spindle reversal calculations to avoid jitter and
>>> accelerations spikes.
>>> – Add some extraction scripts for TP test logs
>>> – During G96, plan blends for largest possible spindle speed
>>> – Only limit spindle speed during position sync, not velocity sync
>>> – Add spindle-specific fields to emcmotCommand rather than reusing
>>> other fields (with confusing names).
>>> – Fix linking issue with signum function
>>> – tp: Add some comments to clarify obscure variable names
>>> – tp: When forcing a pair of motion segments to be tangent, store
>>> the “kink” velocity in the previous segment.
>>> – tp: Fix handling of approximate tangents and required de-rating of
>>> max velocity and acceleration.
>>> – tp: Fix acceleration violation due to corner case in
>>> initialization of optimizer
>>> – test: Add test cases for issue 546 and issue 550
>>> – tp: Refactor tangential vs overall maximum acceleration lookup
>>> – tp: Set flags on next segment when setting terminal condition.
>>> – Fix some compiler warnings
>>> – tp: Refactor circle maximum velocity / acceleration ratio
>>> calculation
>>> – tp: Refactor and simplify parallel / anti-parallel checks
>>> – blendmath: implement unit tests for new parallel / anti-parallel
>>> check functions
>>> – tp: Move a pmCartesian function into blendmath for use outside of
>>> tp.c
>>> – tp: Reimplement sharp corner detection using new anti-parallel
>>> detection
>>> – tp: Factor out calculation for peak velocity over a distance.
>>> – unit_test: Add “greatest” unit test framework (C, header-only
>>> macro-based unit tests)
>>> – tp: Compute effective radius of helix too.
>>> – tp: Simplify kink acceleration calculation to handle negative
>>> velocities
>>> – tp: Overhaul debug output with JSON5-formatted log statements.
>>> – Apply minimum displacement checks consistently between canon and
>>> TP.
>>> – test: Introduce some optimized configs for manual sim tests.
>>> – tp: Refactor tpCheckEndCondition to isolate computation from TP
>>> global state
>>> – tests: Add a stripped down test case for split-cycle debugging
>>> – tp: Move split cycle function to blendmath file and simplify logic
>>> – Handle pure-angular moves consistently between canon and TP
>>> – tp: Simplify logic in split-cycle update
>>> – tp: Simplify debug output and present more useful info
>>> – tp: Fix effective radius curvature formula.
>>> – canon: Fix a mistaken unit conversion of normal axis unit vector
>>> in circular move command
>>> – tp: Use already-calculated max normal acceleration from canon for
>>> optimal circle max velocity in TP
>>> – tests: Add XYZ velocity plot to log parser
>>> – test: Add some TP test cases for optimal circle velocity /
>>> acceleration
>>> – test: clean up old octave scripts and fix up broken / missing
>>> functions in test code.
>>> – tests: Add an ignore file for generated files from TP debugging
>>> – motion: Catch and propagate failures to set TP position / velocity
>>> in HAL
>>> – tp: Add position mismatch check when starting a motion segment
>>> – tp: Factor out accel scale calculation
>>> – tp: Extend JSON5 debug output to include some spindle-sync
>>> information
>>> – tp: convert more debug outputs to JSON5 format
>>> – tp: don’t try to compute blend velocity for segments that don’t
>>> parabolic blend
>>> – tp: Convert debug output for spiral arc length fit to JSON5
>>> – test: Provide common setup subroutines and clean up old TP test
>>> programs
>>> – tp: Clean up some more warnings
>>> – Extend blendmath unit tests to include test cases for end
>>> condition check
>>> – Add an inline wrapper function to extract max accel from
>>> emcmotDebug
>>> – tp: migrate more debug output to use new JSON5 printing
>>> – Add default conditions to a TP test case
>>> – tp: add some skeletal unit tests for jointutils and sphericalarc
>>> – tp: add a test for the ray intersection check
>>> – tp: Clean up some pedantic warnings about default cases
>>> – tp: Factor out code handling spindle-sync into a separate function
>>> – posemath: Overhaul and extend unit tests
>>> – canon: Fix a pedantic unused variable warning
>>> – greatest: Tweak the console output to be more gcc-like
>>> – posemath: Remove extraneous semicolons from definitions in posemath
>>> – tp: Pedantic rename of a function to match its result
>>> – tp: Remove an unnecessary special case in tangent angle check
>>> – tp: Add more unit tests for blendmath
>>> – unit_test: Document setup for unit test build in README
>>> – Make greatest float printing more precise to help troubleshoot
>>> numerical errors
>>> – tp: Control new consistency checks with INI file settings to avoid
>>> console spam in production
>>> – tp: make TP axis limit error checks more robust
>>> – tp: refactor TP functional tests to run headless
>>> – tp: remove some obsolete debug output (to be replaced with unit
>>> testing)
>>> – test: Functional tests for TP from NGC snippets known to reproduce
>>> past issues
>>> – test: remove an unused config file from previous versions of test
>>> configs
>>> – unit_test: add some new cases for end condition check
>>> – motion: Convert #defines to enums
>>> – tp: hide some pedantic debug output that screws with unit tests
>>> – unit_test: add an assert macro to compare PmCartesians
>>> – tp: add more test cases for PmCircles with helix / spiral
>>> components
>>> – unit_test: convert more PmCartesian asserts to use macro rather
>>> than compare function
>>> – posemath: Fix pointer type mismatches in posemath error messages
>>> – unit_test: convert more asserts to produce GCC-style output
>>> – unit_test: Hide pedantic debug ouput by default in unit tests
>>> – Fix some formatting mismatches between other branches for easier
>>> merging in the future
>>> – Restore a debug message in case of future issues with zero-length
>>> moves
>>> – Merge branch ‘bugfixes-546-550-167-68-164-2.7’ into 2.7
>>> – tp: fix missing symbol
>>> – Fix runtests for TP consistency checks
>>> – canon: fix feed rate problem in arc corner case
>>> – Fix formatting inconsistencies in canon
>>> – canon: fix a merge / rebase error that dropped a variable rename
>>> in a previous commit
>>> – Fixup 80c92580: update motion-logger/basic test
>>>
>>> File Changes
>>>
>>> – M .gitignore
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-0> (5)
>>> – M README
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-1> (11)
>>> – M lib/hallib/core_sim9.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-2> (3)
>>> – M lib/hallib/simspindleencoder.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-3> (29)
>>> – M lib/python/rs274/glcanon.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-4> (40)
>>> – M meson.build
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-5> (46)
>>> – M src/Makefile
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-6> (2)
>>> – M src/emc/ini/initraj.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-7> (8)
>>> – M src/emc/motion-logger/motion-logger.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-8> (13)
>>> – M src/emc/motion/command.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-9> (126)
>>> – M src/emc/motion/control.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-10> (66)
>>> – M src/emc/motion/mot_priv.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-11> (6)
>>> – M src/emc/motion/motion.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-12> (29)
>>> – M src/emc/motion/motion.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-13> (64)
>>> – M src/emc/motion/usrmotintf.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-14> (1)
>>> – M src/emc/nml_intf/emc.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-15> (3)
>>> – M src/emc/nml_intf/emc.hh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-16> (8)
>>> – M src/emc/nmlintf/emcnml.hh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-17> (6)
>>> – M src/emc/nml_intf/emcpose.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-18> (42)
>>> – M src/emc/nml_intf/emcpose.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-19> (4)
>>> – M src/emc/nml_intf/interpl.hh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-20> (2)
>>> – M src/emc/nmlintf/motiontypes.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-21> (19)
>>> – M src/emc/rs274ngc/gcodemodule.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-22> (34)
>>> – M src/emc/rs274ngc/interp_base.hh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-23> (4)
>>> – M src/emc/rs274ngc/interp_internal.hh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-24> (1)
>>> – M src/emc/task/emccanon.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-25> (384)
>>> – M src/emc/task/emctaskmain.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-26> (6)
>>> – M src/emc/task/taskintf.cc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-27> (52)
>>> – M src/emc/tp/blendmath.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-28> (245)
>>> – M src/emc/tp/blendmath.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-29> (25)
>>> – A src/emc/tp/joint_util.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-30> (125)
>>> – A src/emc/tp/joint_util.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-31> (21)
>>> – A src/emc/tp/math_util.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-32> (25)
>>> – A src/emc/tp/math_util.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-33> (20)
>>> – A src/emc/tp/rtapi_json5.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-34> (143)
>>> – M src/emc/tp/spherical_arc.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-35> (41)
>>> – M src/emc/tp/spherical_arc.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-36> (4)
>>> – M src/emc/tp/tc.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-37> (137)
>>> – M src/emc/tp/tc.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-38> (12)
>>> – M src/emc/tp/tc_types.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-39> (21)
>>> – M src/emc/tp/tp.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-40> (1212)
>>> – M src/emc/tp/tp.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-41> (42)
>>> – M src/emc/tp/tp_debug.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-42> (38)
>>> – M src/emc/tp/tp_types.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-43> (20)
>>> – M src/emc/usr_intf/axis/scripts/axis.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-44> (13)
>>> – M src/emc/usr_intf/gremlin/gremlin.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-45> (13)
>>> – M src/hal/classicladder/drawing_sequential.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-46> (3)
>>> – M src/hal/classicladder/files_sequential.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-47> (1)
>>> – M src/hal/classicladder/sequential.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-48> (4)
>>> – A src/hal/components/d2dt2.comp
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-49> (37)
>>> – A src/hal/components/quant.comp
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-50> (29)
>>> – M src/hal/utils/scope_rt.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-51> (2)
>>> – M src/hal/utils/scope_shm.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-52> (2)
>>> – M src/libnml/posemath/_posemath.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-53> (17)
>>> – M src/libnml/posemath/posemath.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-54> (39)
>>> – M src/rtapi/uspace_common.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-55> (1)
>>> – M tests/motion-logger/basic/expected.builtin-startup.in
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-56> (1)
>>> – M tests/motion-logger/mountaindew/expected.motion-logger
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-57> (1)
>>> – A tests/trajectory-planner/batch-test/.gitignore
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-58> (5)
>>> – A tests/trajectory-planner/batch-test/batch-test.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-59> (7)
>>> – A tests/trajectory-planner/batch-test/checkresult
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-60> (3)
>>> – A tests/trajectory-planner/batch-test/headlessbatchtest.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-61> (51)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/arcmaxvel_xy.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-62> (3)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/arctime.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-63> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/basicxy.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-64> (5)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxy.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-65> (4)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxz.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-66> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullyz.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-67> (2)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/optimalcircleaccratio.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-68> (19)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc2.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-69> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc3.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-70> (2)
>>> – A
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-concave-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-71> (13)
>>> – A
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-concave.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-72> (13)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-73> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-74> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-neartangent.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-75> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-planeswitch.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-76> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-sawtooth.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-77> (22)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-test.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-78> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-large-radii.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-79> (13)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-terminal.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-80> (3)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-with-spiral.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-81> (8)
>>> – A
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/line-arc-burnin.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-82> (47)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-83> (4)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-end-overrun.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-84> (5)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-85> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/arc-intersections/tort-sam-mach3.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-86> (5)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/546simplfied.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-87> (21)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/arcvel_violation2.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-88> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/blendarcsimplepos_test.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-89> (12)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/bug424long.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-90> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/bug550short_moves.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-91> (13)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/circulartolerance_check.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-92> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/cornerdecel.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-93> (12)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/cradekaccel_issue.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-94> (9)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/feedtest.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-95> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/fullreverse.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-96> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/machinekit412.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-97> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-98> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical2.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-99> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-100> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line2.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-101> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicbump.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-102> (10)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolictest.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-103> (9)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicvarying.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-104> (12)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/quickarc.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-105> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/rickg-arcs.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-106> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/sam-master-violation.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-107> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/samvel_violation.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-108> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation1.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-109> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-110> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2_verbatim.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-111> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation3.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-112> (3)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/samzerolengthmove.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-113> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/nc_files/regressions/split-cycle-check.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-114> (515)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-kink-test.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-115> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-violation-spirals.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-116> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/stop-err.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-117> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/tangentlines_smooth.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-118> (0)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/regressions/tap-discrimant-error-orig.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-119> (2)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/tkalcevicrealtime_error.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-120> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/warningsg81.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-121> (20)
>>> – R
>>> tests/trajectory-planner/batch-test/ncfiles/regressions/zjumptangentimprovement.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-122> (0)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/spindle/g33blend.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-123> (24)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/spindle/g33simple.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-124> (8)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/spindle/g95blend.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-125> (30)
>>> – A
>>> tests/trajectory-planner/batch-test/ncfiles/spindle/rigidtaptest.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-126> (11)
>>> – R
>>> tests/trajectory-planner/batch-test/nc_files/spindle/spindle-wait.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-127> (2)
>>> – A
>>> tests/trajectory-planner/batch-test/nc_files/spindle/tapping.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-128> (10)
>>> – A tests/trajectory-planner/batch-test/position.blank
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-129> (9)
>>> – A tests/trajectory-planner/batch-test/printloadtimes.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-130> (20)
>>> – A tests/trajectory-planner/batch-test/sim.tbl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-131> (1)
>>> – A tests/trajectory-planner/batch-test/test.sh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-132> (4)
>>> – A tests/trajectory-planner/circular-arcs/.gitignore
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-133> (5)
>>> – A tests/trajectory-planner/circular-arcs/README.md
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-134> (21)
>>> – M tests/trajectory-planner/circular-arcs/build-debug.sh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-135> (2)
>>> – M tests/trajectory-planner/circular-arcs/build-release.sh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-136> (4)
>>> – A tests/trajectory-planner/circular-arcs/configs/6axis_rotary.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-137> (270)
>>> – M tests/trajectory-planner/circular-arcs/configs/9axis.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-138> (82)
>>> – M tests/trajectory-planner/circular-arcs/configs/XY.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-139> (12)
>>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_fast.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-140> (3)
>>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_medium.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-141> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/configs/XYZ_nospindle.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-142> (4)
>>> – M tests/trajectory-planner/circular-arcs/configs/XYZ_uneven.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-143> (1)
>>> – M tests/trajectory-planner/circular-arcs/configs/XY_slowZ.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-144> (22)
>>> – D
>>> tests/trajectory-planner/circular-arcs/configs/addhalsymlinks.sh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-145> (3)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/applylimitsto_enable.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-146> (1)
>>> – R
>>> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-147> (170)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA_template.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-148> (192)
>>> – M tests/trajectory-planner/circular-arcs/configs/axis-A.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-149> (34)
>>> – A tests/trajectory-planner/circular-arcs/configs/axis-B.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-150> (35)
>>> – A tests/trajectory-planner/circular-arcs/configs/axis-C.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-151> (35)
>>> – A tests/trajectory-planner/circular-arcs/configs/axis-U.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-152> (35)
>>> – A tests/trajectory-planner/circular-arcs/configs/axis-V.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-153> (35)
>>> – A tests/trajectory-planner/circular-arcs/configs/axis-W.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-154> (35)
>>> – M tests/trajectory-planner/circular-arcs/configs/axis-X.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-155> (34)
>>> – M tests/trajectory-planner/circular-arcs/configs/axis-Y.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-156> (34)
>>> – M tests/trajectory-planner/circular-arcs/configs/axis-Z.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-157> (32)
>>> – M
>>> tests/trajectory-planner/circular-arcs/configs/axis_manualtoolchange.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-158> (2)
>>> – D tests/trajectory-planner/circular-arcs/configs/core_sim9.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-159> (1)
>>> – M
>>> tests/trajectory-planner/circular-arcs/configs/coresimcomponents.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-160> (29)
>>> – R tests/trajectory-planner/circular-arcs/configs/lathe_XZ.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-161> (8)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/loadconstraintcomponents.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-162> (57)
>>> – R tests/trajectory-planner/circular-arcs/configs/mill_XYZA.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-163> (16)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-A.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-164> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-B.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-165> (6)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-C.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-166> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-U.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-167> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-V.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-168> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-W.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-169> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-X.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-170> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-XYZA.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-171> (5)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/postgui-XYZABC.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-172> (3)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/postgui-XYZABCUVW.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-173> (4)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-XZ.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-174> (3)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-Y.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-175> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-Z.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-176> (5)
>>> – A tests/trajectory-planner/circular-arcs/configs/postgui-base.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-177> (14)
>>> – D tests/trajectory-planner/circular-arcs/configs/postgui.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-178> (35)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/testXYZAall_programs.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-179> (7)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/testrunall_programs.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-180> (61)
>>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZA.xml
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-181> (148)
>>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABC.xml
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-182> (198)
>>> – A
>>> tests/trajectory-planner/circular-arcs/configs/vcp-XYZABCUVW.xml
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-183> (273)
>>> – A tests/trajectory-planner/circular-arcs/configs/vcp-XZ.xml
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-184> (98)
>>> – M tests/trajectory-planner/circular-arcs/configs/vcp.xml
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-185> (249)
>>> – A tests/trajectory-planner/circular-arcs/extract_all.sh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-186> (7)
>>> – A tests/trajectory-planner/circular-arcs/extract_displacement.awk
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-187> (2)
>>> – A tests/trajectory-planner/circular-arcs/extract_spindle.awk
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-188> (1)
>>> – A tests/trajectory-planner/circular-arcs/extracttcstate.awk
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-189> (1)
>>> – M tests/trajectory-planner/circular-arcs/linuxcnc_control.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-190> (252)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/XYtests/51MeanderAve.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-191> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-concave-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-192> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-concave.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-193> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-194> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-195> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-neartangent.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-196> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-planeswitch.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-197> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-sawtooth.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-198> (3)
>>> – A
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-large-radii.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-199> (13)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-terminal.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-200> (3)
>>> – D
>>> tests/trajectory-planner/circular-arcs/ncfiles/arc-intersections/blurtorus.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-201>
>>> (1905)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/line-arc-burnin.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-202> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-203> (4)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-end-overrun.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-204> (5)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-stellabee.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-205> (5)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-206> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/tort-sam-mach3.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-207> (5)
>>> – D
>>> tests/trajectory-planner/circular-arcs/nc_files/auto-test/XYtests
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-208> (1)
>>> – D
>>> tests/trajectory-planner/circular-arcs/nc_files/auto-test/performance
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-209> (1)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/abctangent.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-210> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/adjustment.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-211> (4)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/arc-with-spiral.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-212> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_1.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-213> (6)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_comp.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-214> (5)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_lathe.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-215> (4)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/defaulttolerance_check.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-216> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/feed-tracking-test.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-217> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/helixslowdown.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-218> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/modalstate_test.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-219> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/parabolicsplit1.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-220> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/ripple1.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-221> (4)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/simpleblend.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-222> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/spiralaggressive.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-223> (5)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/tangentcheck.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-224> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/test-active-states.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-225> (3)
>>> – A tests/trajectory-planner/circular-arcs/ncfiles/finddupes.sh
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-226> (9)
>>> – R
>>> tests/trajectory-planner/circular-arcs/nc_files/performance/sam-tail-slowdown.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-227> (0)
>>> – D
>>> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/arc-arc-concave-convex.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-228> (12)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/quick-tests/dodecagon0.1in.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-229> (7)
>>> – D
>>> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/linearc-stellabee.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-230> (132)
>>> – A
>>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33blend.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-231> (24)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33simple.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-232> (7)
>>> – A
>>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g95blend.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-233> (30)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/rigidtaptest.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-234> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/spindle/spindle-wait.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-235> (2)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/spiralspindleon.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-236> (3)
>>> – M
>>> tests/trajectory-planner/circular-arcs/ncfiles/spindle/straightspindleon.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-237> (4)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/spindle/tapping.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-238> (2)
>>> – A
>>> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_inch.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-239> (4)
>>> – A
>>> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_mm.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-240> (4)
>>> – A
>>> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/defaultmodalstate.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-241> (19)
>>> – D
>>> tests/trajectory-planner/circular-arcs/ncfiles/violationchecks/spreadsheeterrors.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-242> (66)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207L.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-243> (8)
>>> – M
>>> tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207LZW.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-244> (7)
>>> – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xw.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-245> (12)
>>> – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xz.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-246> (12)
>>> – D tests/trajectory-planner/circular-arcs/octave/create3dline.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-247> (62)
>>> – M
>>> tests/trajectory-planner/circular-arcs/octave/create3drandom_walk.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-248> (105)
>>> – M tests/trajectory-planner/circular-arcs/octave/estimate_depth.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-249> (6)
>>> – A tests/trajectory-planner/circular-arcs/octave/ezrand.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-250> (4)
>>> – D tests/trajectory-planner/circular-arcs/octave/makepeakimg.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-251> (29)
>>> – A
>>> tests/trajectory-planner/circular-arcs/octave/optimalcirculararc_accel.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-252> (34)
>>> – A tests/trajectory-planner/circular-arcs/octave/parallel_test.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-253> (10)
>>> – A
>>> tests/trajectory-planner/circular-arcs/octave/plot_displacement.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-254> (10)
>>> – D tests/trajectory-planner/circular-arcs/octave/plot_movement.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-255> (10)
>>> – A
>>> tests/trajectory-planner/circular-arcs/octave/plot_spindledata.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-256> (15)
>>> – A tests/trajectory-planner/circular-arcs/octave/plot_tcdata.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-257> (7)
>>> – D tests/trajectory-planner/circular-arcs/octave/process_log.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-258> (7)
>>> – A tests/trajectory-planner/circular-arcs/octave/testkinkaccel.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-259> (29)
>>> – A
>>> tests/trajectory-planner/circular-arcs/octave/testsplitcycle.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-260> (63)
>>> – A tests/trajectory-planner/circular-arcs/parsetplogs.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-261> (72)
>>> – D tests/trajectory-planner/circular-arcs/runalltests.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-262> (115)
>>> – A tests/trajectory-planner/circular-arcs/tptestingvenv.cfg
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-263> (4)
>>> – A
>>> tests/trajectory-planner/common-config/applylimitsto_enable.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-264> (1)
>>> – A tests/trajectory-planner/common-config/axis-A.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-265> (35)
>>> – A tests/trajectory-planner/common-config/axis-X.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-266> (35)
>>> – A tests/trajectory-planner/common-config/axis-Y.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-267> (35)
>>> – A tests/trajectory-planner/common-config/axis-Z.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-268> (34)
>>> – A tests/trajectory-planner/common-config/coresimcomponents.hal
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-269> (19)
>>> – A tests/trajectory-planner/common-config/linuxcnc_control.py
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-270> (291)
>>> – A
>>> tests/trajectory-planner/common-config/loadconstraintcomponents.tcl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-271> (57)
>>> – A tests/trajectory-planner/common-config/millXYZAbase.ini
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-272> (177)
>>> – A tests/trajectory-planner/common-config/sim.tbl
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-273> (6)
>>> – A tests/trajectory-planner/common-subs/default_inch.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-274> (4)
>>> – A tests/trajectory-planner/common-subs/default_mm.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-275> (4)
>>> – A tests/trajectory-planner/common-subs/defaultmodalstate.ngc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-276> (19)
>>> – M unit_tests/greatest.h
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-277> (73)
>>> – A unittests/mock/mockrtapi.inc
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-278> (22)
>>> – A unittests/tp/genposemath_boilerplate.m
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-279> (23)
>>> – M unittests/tp/testblendmath.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-280> (408)
>>> – A unittests/tp/testjoint_util.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-281> (83)
>>> – A unittests/tp/testposemath.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-282> (507)
>>> – A unittests/tp/testspherical_arc.c
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-283> (72)
>>>
>>> Patch Links:
>>>
>>> – https://github.com/LinuxCNC/linuxcnc/pull/581.patch
>>> – https://github.com/LinuxCNC/linuxcnc/pull/581.diff
>>>
>>> —
>>> You are receiving this because you are subscribed to this thread.
>>> Reply to this email directly, view it on GitHub
>>> <https://github.com/LinuxCNC/linuxcnc/pull/581>, or mute the thread
>>> <https://github.com/notifications/unsubscribe-auth/AEHRGQW6VXJKJRQK2IBXT2LPTI6PTANCNFSM4HJ2Z47A>
>>> .
>>>
>>
#4 – robEllenberg 于 2019-05-02
You should still be able to blend between position-sync moves, but the
transition in and out (i.e. G1 to G33) won’t blend (since you need to wait
for index anyway).
Rob
On Wed, May 1, 2019, 11:04 PM samcoinc
> – tp: disallow blending when entering position-synch mode
>
> Have not had time to play with this – but does this mean that things like a
> fuse won’t work any more? (like combining a bunch of G33 commands together
> to create a variable pitch/diameter thread?
>
> On Wed, May 1, 2019 at 8:18 PM Robert W. Ellenberg <
> notifications@github.com>
> wrote:
>
> > This branch combines a bunch of old work, and some recent fixes from
> other
> > branches to address some outstanding TP issues in 2.7
> >
> > Fix #68 <https://github.com/LinuxCNC/linuxcnc/issues/68> (reduce large
> > blend arcs in G33 and prevent blends between synced and non-synced modes)
> > Fix #164 <https://github.com/LinuxCNC/linuxcnc/issues/164> (smoother
> > error correction and better velocity estimation in position sync)
> > Fix #167 <https://github.com/LinuxCNC/linuxcnc/issues/167> (warns users
> > if axis feeds are not fast enough for a G33 move at the current spindle
> > speed)
> > Fix #546 <https://github.com/LinuxCNC/linuxcnc/issues/546> (Fix some
> edge
> > cases in TP including a regression in parabolic blend fallback)
> > Fix #550 <https://github.com/LinuxCNC/linuxcnc/issues/550> (Fix mismatch
> > between canon and TP’s idea of what a zero-length move is, since they
> each
> > have to arrive at that conclusion independently)
> > ——————————
> > You can view, comment on, or merge this pull request online at:
> >
> > https://github.com/LinuxCNC/linuxcnc/pull/581
> > Commit Summary
> >
> > – tp: disallow blending when entering position-synch mode
> > – tp: Improve position-mode spindle sync performance with new error
> > calculation.
> > – tp: new formula for spindle position tracking
> > – sim: Add a simple component for quantizing a signal (useful for
> > simulating encoders)
> > – sim: First cut of spindle encoder simulation with quantized output
> > – canon: Add a missing forward declaration
> > – canon: Minor whitespace cleanup
> > – canon: Replace unit conversion macro with a function
> > – canon: Enable smarter blending in spindle-synchronized motion.
> > – tp: Limit max feed scale in position-sync blends.
> > – canon: Automatically limit spindle speed in spindle-sync motion.
> > – tp: Re-order checks for parabolic blends
> > – tp: Fix debug level for some debug print statements
> > – tp: Use motion’s spindle-speed-in input for spindle velocity
> > – sim: Improve simulation of inertia in spindle sim
> > – tp: Add debug information for spindle sync
> > – motion: Add spindle velocity estimator
> > – motion: Refactor spindle status for clarity and organization.
> > – tp: Remove discontinuous spindle positions in rigid tapping
> > internals.
> > – tp: Fix spindle position tracking to work with motion’s new spindle
> > data.
> > – motion: Add a HAL pin to motion to let users control how aggressive
> > position tracking should be.
> > – test: Test case for steady state error
> > – Re-arrange a calculation to remove a division
> > – canon: actually return angular feed rate when asked
> > – test: Match sam’s lathe config settings (axis vel / acc).
> > – tp: Allow switching between position-sync algorithms based on a HAL
> > pin.
> > – sim: model velocity quantization in encoder near 360RPM
> > – canon: Simplify spindle speed limits for synced motion
> > – canon: don’t restore spindle speed after limiting it for
> > spindle-synched motion.
> > – Before run, warn if spindle-synched move violates axis limits
> > – Added tracking error pin to motion HAL for spindle sync testing
> > – Make sim spindle more sluggish to make direction reversal behavior
> > easier to analyze in simulation.
> > – Fix motion’s position tracking error output pin.
> > – Fix sign reversal in spindle displacement calculation causing
> > hard-stop at end of rigid tap
> > – Add debug scripts to extract spindle data from a tp log file
> > – Fix false position tracking error at spindle reversal (needed to
> > reset sync position)
> > – Increase halscope’s shared ram size to collect more samples
> > – Add some missing notes
> > – Add max spindle speed check to rigid tapping and factor out some
> > common code.
> > – Fix spindle reversal calculations to avoid jitter and accelerations
> > spikes.
> > – Add some extraction scripts for TP test logs
> > – During G96, plan blends for largest possible spindle speed
> > – Only limit spindle speed during position sync, not velocity sync
> > – Add spindle-specific fields to emcmotCommand rather than reusing
> > other fields (with confusing names).
> > – Fix linking issue with signum function
> > – tp: Add some comments to clarify obscure variable names
> > – tp: When forcing a pair of motion segments to be tangent, store the
> > “kink” velocity in the previous segment.
> > – tp: Fix handling of approximate tangents and required de-rating of
> > max velocity and acceleration.
> > – tp: Fix acceleration violation due to corner case in initialization
> > of optimizer
> > – test: Add test cases for issue 546 and issue 550
> > – tp: Refactor tangential vs overall maximum acceleration lookup
> > – tp: Set flags on next segment when setting terminal condition.
> > – Fix some compiler warnings
> > – tp: Refactor circle maximum velocity / acceleration ratio calculation
> > – tp: Refactor and simplify parallel / anti-parallel checks
> > – blendmath: implement unit tests for new parallel / anti-parallel
> > check functions
> > – tp: Move a pmCartesian function into blendmath for use outside of
> > tp.c
> > – tp: Reimplement sharp corner detection using new anti-parallel
> > detection
> > – tp: Factor out calculation for peak velocity over a distance.
> > – unit_test: Add “greatest” unit test framework (C, header-only
> > macro-based unit tests)
> > – tp: Compute effective radius of helix too.
> > – tp: Simplify kink acceleration calculation to handle negative
> > velocities
> > – tp: Overhaul debug output with JSON5-formatted log statements.
> > – Apply minimum displacement checks consistently between canon and TP.
> > – test: Introduce some optimized configs for manual sim tests.
> > – tp: Refactor tpCheckEndCondition to isolate computation from TP
> > global state
> > – tests: Add a stripped down test case for split-cycle debugging
> > – tp: Move split cycle function to blendmath file and simplify logic
> > – Handle pure-angular moves consistently between canon and TP
> > – tp: Simplify logic in split-cycle update
> > – tp: Simplify debug output and present more useful info
> > – tp: Fix effective radius curvature formula.
> > – canon: Fix a mistaken unit conversion of normal axis unit vector in
> > circular move command
> > – tp: Use already-calculated max normal acceleration from canon for
> > optimal circle max velocity in TP
> > – tests: Add XYZ velocity plot to log parser
> > – test: Add some TP test cases for optimal circle velocity /
> > acceleration
> > – test: clean up old octave scripts and fix up broken / missing
> > functions in test code.
> > – tests: Add an ignore file for generated files from TP debugging
> > – motion: Catch and propagate failures to set TP position / velocity
> > in HAL
> > – tp: Add position mismatch check when starting a motion segment
> > – tp: Factor out accel scale calculation
> > – tp: Extend JSON5 debug output to include some spindle-sync
> > information
> > – tp: convert more debug outputs to JSON5 format
> > – tp: don’t try to compute blend velocity for segments that don’t
> > parabolic blend
> > – tp: Convert debug output for spiral arc length fit to JSON5
> > – test: Provide common setup subroutines and clean up old TP test
> > programs
> > – tp: Clean up some more warnings
> > – Extend blendmath unit tests to include test cases for end condition
> > check
> > – Add an inline wrapper function to extract max accel from emcmotDebug
> > – tp: migrate more debug output to use new JSON5 printing
> > – Add default conditions to a TP test case
> > – tp: add some skeletal unit tests for jointutils and sphericalarc
> > – tp: add a test for the ray intersection check
> > – tp: Clean up some pedantic warnings about default cases
> > – tp: Factor out code handling spindle-sync into a separate function
> > – posemath: Overhaul and extend unit tests
> > – canon: Fix a pedantic unused variable warning
> > – greatest: Tweak the console output to be more gcc-like
> > – posemath: Remove extraneous semicolons from definitions in posemath
> > – tp: Pedantic rename of a function to match its result
> > – tp: Remove an unnecessary special case in tangent angle check
> > – tp: Add more unit tests for blendmath
> > – unit_test: Document setup for unit test build in README
> > – Make greatest float printing more precise to help troubleshoot
> > numerical errors
> > – tp: Control new consistency checks with INI file settings to avoid
> > console spam in production
> > – tp: make TP axis limit error checks more robust
> > – tp: refactor TP functional tests to run headless
> > – tp: remove some obsolete debug output (to be replaced with unit
> > testing)
> > – test: Functional tests for TP from NGC snippets known to reproduce
> > past issues
> > – test: remove an unused config file from previous versions of test
> > configs
> > – unit_test: add some new cases for end condition check
> > – motion: Convert #defines to enums
> > – tp: hide some pedantic debug output that screws with unit tests
> > – unit_test: add an assert macro to compare PmCartesians
> > – tp: add more test cases for PmCircles with helix / spiral components
> > – unit_test: convert more PmCartesian asserts to use macro rather than
> > compare function
> > – posemath: Fix pointer type mismatches in posemath error messages
> > – unit_test: convert more asserts to produce GCC-style output
> > – unit_test: Hide pedantic debug ouput by default in unit tests
> > – Fix some formatting mismatches between other branches for easier
> > merging in the future
> > – Restore a debug message in case of future issues with zero-length
> > moves
> > – Merge branch ‘bugfixes-546-550-167-68-164-2.7’ into 2.7
> > – tp: fix missing symbol
> > – Fix runtests for TP consistency checks
> > – canon: fix feed rate problem in arc corner case
> > – Fix formatting inconsistencies in canon
> > – canon: fix a merge / rebase error that dropped a variable rename in
> > a previous commit
> > – Fixup 80c92580: update motion-logger/basic test
> >
> > File Changes
> >
> > – M .gitignore
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-0> (5)
> > – M README
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-1> (11)
> > – M lib/hallib/core_sim9.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-2> (3)
> > – M lib/hallib/simspindleencoder.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-3> (29)
> > – M lib/python/rs274/glcanon.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-4> (40)
> > – M meson.build
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-5> (46)
> > – M src/Makefile
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-6> (2)
> > – M src/emc/ini/initraj.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-7> (8)
> > – M src/emc/motion-logger/motion-logger.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-8> (13)
> > – M src/emc/motion/command.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-9> (126)
> > – M src/emc/motion/control.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-10> (66)
> > – M src/emc/motion/mot_priv.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-11> (6)
> > – M src/emc/motion/motion.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-12> (29)
> > – M src/emc/motion/motion.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-13> (64)
> > – M src/emc/motion/usrmotintf.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-14> (1)
> > – M src/emc/nml_intf/emc.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-15> (3)
> > – M src/emc/nml_intf/emc.hh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-16> (8)
> > – M src/emc/nmlintf/emcnml.hh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-17> (6)
> > – M src/emc/nml_intf/emcpose.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-18> (42)
> > – M src/emc/nml_intf/emcpose.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-19> (4)
> > – M src/emc/nml_intf/interpl.hh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-20> (2)
> > – M src/emc/nmlintf/motiontypes.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-21> (19)
> > – M src/emc/rs274ngc/gcodemodule.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-22> (34)
> > – M src/emc/rs274ngc/interp_base.hh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-23> (4)
> > – M src/emc/rs274ngc/interp_internal.hh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-24> (1)
> > – M src/emc/task/emccanon.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-25> (384)
> > – M src/emc/task/emctaskmain.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-26> (6)
> > – M src/emc/task/taskintf.cc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-27> (52)
> > – M src/emc/tp/blendmath.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-28> (245)
> > – M src/emc/tp/blendmath.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-29> (25)
> > – A src/emc/tp/joint_util.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-30> (125)
> > – A src/emc/tp/joint_util.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-31> (21)
> > – A src/emc/tp/math_util.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-32> (25)
> > – A src/emc/tp/math_util.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-33> (20)
> > – A src/emc/tp/rtapi_json5.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-34> (143)
> > – M src/emc/tp/spherical_arc.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-35> (41)
> > – M src/emc/tp/spherical_arc.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-36> (4)
> > – M src/emc/tp/tc.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-37> (137)
> > – M src/emc/tp/tc.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-38> (12)
> > – M src/emc/tp/tc_types.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-39> (21)
> > – M src/emc/tp/tp.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-40> (1212)
> > – M src/emc/tp/tp.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-41> (42)
> > – M src/emc/tp/tp_debug.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-42> (38)
> > – M src/emc/tp/tp_types.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-43> (20)
> > – M src/emc/usr_intf/axis/scripts/axis.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-44> (13)
> > – M src/emc/usr_intf/gremlin/gremlin.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-45> (13)
> > – M src/hal/classicladder/drawing_sequential.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-46> (3)
> > – M src/hal/classicladder/files_sequential.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-47> (1)
> > – M src/hal/classicladder/sequential.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-48> (4)
> > – A src/hal/components/d2dt2.comp
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-49> (37)
> > – A src/hal/components/quant.comp
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-50> (29)
> > – M src/hal/utils/scope_rt.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-51> (2)
> > – M src/hal/utils/scope_shm.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-52> (2)
> > – M src/libnml/posemath/_posemath.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-53> (17)
> > – M src/libnml/posemath/posemath.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-54> (39)
> > – M src/rtapi/uspace_common.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-55> (1)
> > – M tests/motion-logger/basic/expected.builtin-startup.in
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-56> (1)
> > – M tests/motion-logger/mountaindew/expected.motion-logger
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-57> (1)
> > – A tests/trajectory-planner/batch-test/.gitignore
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-58> (5)
> > – A tests/trajectory-planner/batch-test/batch-test.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-59> (7)
> > – A tests/trajectory-planner/batch-test/checkresult
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-60> (3)
> > – A tests/trajectory-planner/batch-test/headlessbatchtest.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-61> (51)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/arc-feed/arcmaxvel_xy.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-62> (3)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/arc-feed/arctime.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-63> (2)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/arc-feed/basicxy.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-64> (5)
> > – R tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxy.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-65> (4)
> > – R tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxz.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-66> (2)
> > – R tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullyz.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-67> (2)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/optimalcircleaccratio.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-68> (19)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc2.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-69> (2)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc3.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-70> (2)
> > – A
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-concave-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-71> (13)
> > – A
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-concave.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-72> (13)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-73> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-74> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-neartangent.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-75> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-planeswitch.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-76> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-sawtooth.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-77> (22)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-test.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-78> (0)
> > – A
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-large-radii.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-79> (13)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-terminal.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-80> (3)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-with-spiral.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-81> (8)
> > – A
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/line-arc-burnin.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-82> (47)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-83> (4)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-end-overrun.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-84> (5)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-85> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/tort-sam-mach3.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-86> (5)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/546simplfied.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-87> (21)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/arcvel_violation2.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-88> (0)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/blendarcsimplepos_test.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-89> (12)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/regressions/bug424long.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-90> (0)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/bug550short_moves.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-91> (13)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/circulartolerance_check.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-92> (0)
> > – A
> > tests/trajectory-planner/batch-test/ncfiles/regressions/cornerdecel.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-93> (12)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/cradekaccel_issue.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-94> (9)
> > – R
> > tests/trajectory-planner/batch-test/nc_files/regressions/feedtest.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-95> (0)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/regressions/fullreverse.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-96> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/machinekit412.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-97> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-98> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical2.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-99> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-100> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line2.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-101> (0)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicbump.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-102> (10)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolictest.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-103> (9)
> > – A
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicvarying.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-104> (12)
> > – R
> > tests/trajectory-planner/batch-test/ncfiles/regressions/quickarc.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-105> (0)
> > – R
> > tests/trajectory-planner/batch-test/nc_files/regressions/rickg-arcs.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-106> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/regressions/sam-master-violation.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-107> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/samvel_violation.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-108> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation1.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-109> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-110> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2_verbatim.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-111> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation3.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-112> (3)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/samzerolengthmove.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-113> (0)
> > – A
> >
> tests/trajectory-planner/batch-test/nc_files/regressions/split-cycle-check.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-114> (515)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-kink-test.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-115> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-violation-spirals.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-116> (0)
> > – R
> > tests/trajectory-planner/batch-test/nc_files/regressions/stop-err.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-117> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/tangentlines_smooth.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-118> (0)
> > – R
> >
> tests/trajectory-planner/batch-test/nc_files/regressions/tap-discrimant-error-orig.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-119> (2)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/tkalcevicrealtime_error.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-120> (0)
> > – A
> > tests/trajectory-planner/batch-test/ncfiles/regressions/warningsg81.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-121> (20)
> > – R
> >
> tests/trajectory-planner/batch-test/ncfiles/regressions/zjumptangentimprovement.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-122> (0)
> > – A
> > tests/trajectory-planner/batch-test/ncfiles/spindle/g33blend.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-123> (24)
> > – A
> > tests/trajectory-planner/batch-test/ncfiles/spindle/g33simple.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-124> (8)
> > – A
> > tests/trajectory-planner/batch-test/ncfiles/spindle/g95blend.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-125> (30)
> > – A
> > tests/trajectory-planner/batch-test/ncfiles/spindle/rigidtaptest.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-126> (11)
> > – R
> > tests/trajectory-planner/batch-test/nc_files/spindle/spindle-wait.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-127> (2)
> > – A tests/trajectory-planner/batch-test/nc_files/spindle/tapping.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-128> (10)
> > – A tests/trajectory-planner/batch-test/position.blank
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-129> (9)
> > – A tests/trajectory-planner/batch-test/printloadtimes.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-130> (20)
> > – A tests/trajectory-planner/batch-test/sim.tbl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-131> (1)
> > – A tests/trajectory-planner/batch-test/test.sh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-132> (4)
> > – A tests/trajectory-planner/circular-arcs/.gitignore
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-133> (5)
> > – A tests/trajectory-planner/circular-arcs/README.md
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-134> (21)
> > – M tests/trajectory-planner/circular-arcs/build-debug.sh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-135> (2)
> > – M tests/trajectory-planner/circular-arcs/build-release.sh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-136> (4)
> > – A tests/trajectory-planner/circular-arcs/configs/6axis_rotary.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-137> (270)
> > – M tests/trajectory-planner/circular-arcs/configs/9axis.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-138> (82)
> > – M tests/trajectory-planner/circular-arcs/configs/XY.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-139> (12)
> > – M tests/trajectory-planner/circular-arcs/configs/XYZ_fast.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-140> (3)
> > – M tests/trajectory-planner/circular-arcs/configs/XYZ_medium.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-141> (3)
> > – M tests/trajectory-planner/circular-arcs/configs/XYZ_nospindle.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-142> (4)
> > – M tests/trajectory-planner/circular-arcs/configs/XYZ_uneven.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-143> (1)
> > – M tests/trajectory-planner/circular-arcs/configs/XY_slowZ.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-144> (22)
> > – D
> > tests/trajectory-planner/circular-arcs/configs/addhalsymlinks.sh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-145> (3)
> > – A
> > tests/trajectory-planner/circular-arcs/configs/applylimitsto_enable.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-146> (1)
> > – R
> > tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-147> (170)
> > – A
> >
> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA_template.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-148> (192)
> > – M tests/trajectory-planner/circular-arcs/configs/axis-A.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-149> (34)
> > – A tests/trajectory-planner/circular-arcs/configs/axis-B.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-150> (35)
> > – A tests/trajectory-planner/circular-arcs/configs/axis-C.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-151> (35)
> > – A tests/trajectory-planner/circular-arcs/configs/axis-U.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-152> (35)
> > – A tests/trajectory-planner/circular-arcs/configs/axis-V.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-153> (35)
> > – A tests/trajectory-planner/circular-arcs/configs/axis-W.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-154> (35)
> > – M tests/trajectory-planner/circular-arcs/configs/axis-X.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-155> (34)
> > – M tests/trajectory-planner/circular-arcs/configs/axis-Y.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-156> (34)
> > – M tests/trajectory-planner/circular-arcs/configs/axis-Z.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-157> (32)
> > – M
> > tests/trajectory-planner/circular-arcs/configs/axis_manualtoolchange.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-158> (2)
> > – D tests/trajectory-planner/circular-arcs/configs/core_sim9.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-159> (1)
> > – M
> > tests/trajectory-planner/circular-arcs/configs/coresimcomponents.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-160> (29)
> > – R tests/trajectory-planner/circular-arcs/configs/lathe_XZ.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-161> (8)
> > – A
> >
> tests/trajectory-planner/circular-arcs/configs/loadconstraintcomponents.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-162> (57)
> > – R tests/trajectory-planner/circular-arcs/configs/mill_XYZA.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-163> (16)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-A.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-164> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-B.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-165> (6)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-C.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-166> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-U.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-167> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-V.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-168> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-W.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-169> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-X.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-170> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-XYZA.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-171> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-XYZABC.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-172> (3)
> > – A
> > tests/trajectory-planner/circular-arcs/configs/postgui-XYZABCUVW.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-173> (4)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-XZ.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-174> (3)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-Y.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-175> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-Z.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-176> (5)
> > – A tests/trajectory-planner/circular-arcs/configs/postgui-base.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-177> (14)
> > – D tests/trajectory-planner/circular-arcs/configs/postgui.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-178> (35)
> > – A
> > tests/trajectory-planner/circular-arcs/configs/testXYZAall_programs.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-179> (7)
> > – A
> > tests/trajectory-planner/circular-arcs/configs/testrunall_programs.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-180> (61)
> > – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZA.xml
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-181> (148)
> > – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABC.xml
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-182> (198)
> > – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABCUVW.xml
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-183> (273)
> > – A tests/trajectory-planner/circular-arcs/configs/vcp-XZ.xml
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-184> (98)
> > – M tests/trajectory-planner/circular-arcs/configs/vcp.xml
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-185> (249)
> > – A tests/trajectory-planner/circular-arcs/extract_all.sh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-186> (7)
> > – A tests/trajectory-planner/circular-arcs/extract_displacement.awk
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-187> (2)
> > – A tests/trajectory-planner/circular-arcs/extract_spindle.awk
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-188> (1)
> > – A tests/trajectory-planner/circular-arcs/extracttcstate.awk
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-189> (1)
> > – M tests/trajectory-planner/circular-arcs/linuxcnc_control.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-190> (252)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/XYtests/51MeanderAve.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-191> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-concave-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-192> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-concave.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-193> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-194> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-195> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-neartangent.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-196> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-planeswitch.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-197> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-sawtooth.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-198> (3)
> > – A
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-large-radii.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-199> (13)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-terminal.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-200> (3)
> > – D
> >
> tests/trajectory-planner/circular-arcs/ncfiles/arc-intersections/blurtorus.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-201> (1905)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/line-arc-burnin.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-202> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-203> (4)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-end-overrun.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-204> (5)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-stellabee.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-205> (5)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-206> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/tort-sam-mach3.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-207> (5)
> > – D tests/trajectory-planner/circular-arcs/nc_files/auto-test/XYtests
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-208> (1)
> > – D
> > tests/trajectory-planner/circular-arcs/nc_files/auto-test/performance
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-209> (1)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/abctangent.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-210> (2)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/diagnostic/adjustment.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-211> (4)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/arc-with-spiral.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-212> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_1.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-213> (6)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_comp.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-214> (5)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_lathe.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-215> (4)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/defaulttolerance_check.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-216> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/feed-tracking-test.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-217> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/helixslowdown.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-218> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/modalstate_test.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-219> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/parabolicsplit1.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-220> (3)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/diagnostic/ripple1.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-221> (4)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/simpleblend.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-222> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/spiralaggressive.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-223> (5)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/tangentcheck.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-224> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/test-active-states.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-225> (3)
> > – A tests/trajectory-planner/circular-arcs/ncfiles/finddupes.sh
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-226> (9)
> > – R
> >
> tests/trajectory-planner/circular-arcs/nc_files/performance/sam-tail-slowdown.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-227> (0)
> > – D
> >
> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/arc-arc-concave-convex.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-228> (12)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/quick-tests/dodecagon0.1in.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-229> (7)
> > – D
> >
> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/linearc-stellabee.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-230> (132)
> > – A
> > tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33blend.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-231> (24)
> > – M
> > tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33simple.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-232> (7)
> > – A
> > tests/trajectory-planner/circular-arcs/ncfiles/spindle/g95blend.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-233> (30)
> > – M
> > tests/trajectory-planner/circular-arcs/ncfiles/spindle/rigidtaptest.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-234> (2)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/spindle/spindle-wait.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-235> (2)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/spiralspindleon.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-236> (3)
> > – M
> >
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/straightspindleon.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-237> (4)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/spindle/tapping.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-238> (2)
> > – A
> >
> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_inch.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-239> (4)
> > – A
> > tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_mm.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-240> (4)
> > – A
> >
> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/defaultmodalstate.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-241> (19)
> > – D
> >
> tests/trajectory-planner/circular-arcs/ncfiles/violationchecks/spreadsheeterrors.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-242> (66)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207L.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-243> (8)
> > – M
> > tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207LZW.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-244> (7)
> > – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xw.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-245> (12)
> > – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xz.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-246> (12)
> > – D tests/trajectory-planner/circular-arcs/octave/create3dline.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-247> (62)
> > – M
> > tests/trajectory-planner/circular-arcs/octave/create3drandom_walk.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-248> (105)
> > – M tests/trajectory-planner/circular-arcs/octave/estimate_depth.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-249> (6)
> > – A tests/trajectory-planner/circular-arcs/octave/ezrand.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-250> (4)
> > – D tests/trajectory-planner/circular-arcs/octave/makepeakimg.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-251> (29)
> > – A
> >
> tests/trajectory-planner/circular-arcs/octave/optimalcirculararc_accel.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-252> (34)
> > – A tests/trajectory-planner/circular-arcs/octave/parallel_test.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-253> (10)
> > – A tests/trajectory-planner/circular-arcs/octave/plot_displacement.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-254> (10)
> > – D tests/trajectory-planner/circular-arcs/octave/plot_movement.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-255> (10)
> > – A tests/trajectory-planner/circular-arcs/octave/plot_spindledata.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-256> (15)
> > – A tests/trajectory-planner/circular-arcs/octave/plot_tcdata.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-257> (7)
> > – D tests/trajectory-planner/circular-arcs/octave/process_log.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-258> (7)
> > – A tests/trajectory-planner/circular-arcs/octave/testkinkaccel.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-259> (29)
> > – A tests/trajectory-planner/circular-arcs/octave/testsplitcycle.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-260> (63)
> > – A tests/trajectory-planner/circular-arcs/parsetplogs.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-261> (72)
> > – D tests/trajectory-planner/circular-arcs/runalltests.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-262> (115)
> > – A tests/trajectory-planner/circular-arcs/tptestingvenv.cfg
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-263> (4)
> > – A tests/trajectory-planner/common-config/applylimitsto_enable.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-264> (1)
> > – A tests/trajectory-planner/common-config/axis-A.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-265> (35)
> > – A tests/trajectory-planner/common-config/axis-X.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-266> (35)
> > – A tests/trajectory-planner/common-config/axis-Y.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-267> (35)
> > – A tests/trajectory-planner/common-config/axis-Z.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-268> (34)
> > – A tests/trajectory-planner/common-config/coresimcomponents.hal
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-269> (19)
> > – A tests/trajectory-planner/common-config/linuxcnc_control.py
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-270> (291)
> > – A
> > tests/trajectory-planner/common-config/loadconstraintcomponents.tcl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-271> (57)
> > – A tests/trajectory-planner/common-config/millXYZAbase.ini
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-272> (177)
> > – A tests/trajectory-planner/common-config/sim.tbl
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-273> (6)
> > – A tests/trajectory-planner/common-subs/default_inch.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-274> (4)
> > – A tests/trajectory-planner/common-subs/default_mm.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-275> (4)
> > – A tests/trajectory-planner/common-subs/defaultmodalstate.ngc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-276> (19)
> > – M unit_tests/greatest.h
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-277> (73)
> > – A unittests/mock/mockrtapi.inc
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-278> (22)
> > – A unittests/tp/genposemath_boilerplate.m
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-279> (23)
> > – M unittests/tp/testblendmath.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-280> (408)
> > – A unittests/tp/testjoint_util.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-281> (83)
> > – A unittests/tp/testposemath.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-282> (507)
> > – A unittests/tp/testspherical_arc.c
> > <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-283> (72)
> >
> > Patch Links:
> >
> > – https://github.com/LinuxCNC/linuxcnc/pull/581.patch
> > – https://github.com/LinuxCNC/linuxcnc/pull/581.diff
> >
> > —
> > You are receiving this because you are subscribed to this thread.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/LinuxCNC/linuxcnc/pull/581>, or mute the thread
> > <
> https://github.com/notifications/unsubscribe-auth/AEHRGQW6VXJKJRQK2IBXT2LPTI6PTANCNFSM4HJ2Z47A
> >
> > .
> >
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/LinuxCNC/linuxcnc/pull/581#issuecomment-488539848>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAJHUPHFRUIQO6YGUMOJJ7LPTJK4XANCNFSM4HJ2Z47A>
> .
>
#5 – mozmck 于 2020-06-09
@robEllenberg what is the status of these fixes? Have they been merged somewhere? I have a problem on 2.7 with a pause in motion on an ellipse and I’m wondering if a fix for this is somewhere in these fixes.
#6 – robEllenberg 于 2020-06-14
I opened a pull request for #68 and backported the fix for #704 in another PR for 2.7. I need to pull out the blending fix from this branch and merge it separately because the spindle-sync stuff in the branch is a little much for a point release in 2.7.
#7 – petterreinholdtsen 于 2022-07-14
Is there any chance that this huge collection of independent changes can be split up into individual change sets that are easier to review, to increase the chance of these fixes making it into the master branch?
#8 – petterreinholdtsen 于 2022-08-28
Rene has volunteered to try to figure out this patch.
#9 – petterreinholdtsen 于 2022-11-27
@rene-dev, did you have any luck figuring out this patch?
#10 – petterreinholdtsen 于 2023-01-04
Any news here?
#11 – SebKuzminsky 于 2023-04-23
#550 was fixed in 2.7 by @robEllenberg here: https://github.com/LinuxCNC/linuxcnc/commit/10c3678ab069f856532e5512a93bfaffcf930491
#68 and #546 are both fixed in 2.7.
Only #164 and #167 remain to be examined.
#1 – samcoinc 于 2019-05-02
– tp: disallow blending when entering position-synch mode
Have not had time to play with this – but does this mean that things like a
fuse won’t work any more? (like combining a bunch of G33 commands together
to create a variable pitch/diameter thread?
On Wed, May 1, 2019 at 8:18 PM Robert W. Ellenberg
wrote:
> This branch combines a bunch of old work, and some recent fixes from other
> branches to address some outstanding TP issues in 2.7
>
> Fix #68 <https://github.com/LinuxCNC/linuxcnc/issues/68> (reduce large
> blend arcs in G33 and prevent blends between synced and non-synced modes)
> Fix #164 <https://github.com/LinuxCNC/linuxcnc/issues/164> (smoother
> error correction and better velocity estimation in position sync)
> Fix #167 <https://github.com/LinuxCNC/linuxcnc/issues/167> (warns users
> if axis feeds are not fast enough for a G33 move at the current spindle
> speed)
> Fix #546 <https://github.com/LinuxCNC/linuxcnc/issues/546> (Fix some edge
> cases in TP including a regression in parabolic blend fallback)
> Fix #550 <https://github.com/LinuxCNC/linuxcnc/issues/550> (Fix mismatch
> between canon and TP’s idea of what a zero-length move is, since they each
> have to arrive at that conclusion independently)
> ——————————
> You can view, comment on, or merge this pull request online at:
>
> https://github.com/LinuxCNC/linuxcnc/pull/581
> Commit Summary
>
> – tp: disallow blending when entering position-synch mode
> – tp: Improve position-mode spindle sync performance with new error
> calculation.
> – tp: new formula for spindle position tracking
> – sim: Add a simple component for quantizing a signal (useful for
> simulating encoders)
> – sim: First cut of spindle encoder simulation with quantized output
> – canon: Add a missing forward declaration
> – canon: Minor whitespace cleanup
> – canon: Replace unit conversion macro with a function
> – canon: Enable smarter blending in spindle-synchronized motion.
> – tp: Limit max feed scale in position-sync blends.
> – canon: Automatically limit spindle speed in spindle-sync motion.
> – tp: Re-order checks for parabolic blends
> – tp: Fix debug level for some debug print statements
> – tp: Use motion’s spindle-speed-in input for spindle velocity
> – sim: Improve simulation of inertia in spindle sim
> – tp: Add debug information for spindle sync
> – motion: Add spindle velocity estimator
> – motion: Refactor spindle status for clarity and organization.
> – tp: Remove discontinuous spindle positions in rigid tapping
> internals.
> – tp: Fix spindle position tracking to work with motion’s new spindle
> data.
> – motion: Add a HAL pin to motion to let users control how aggressive
> position tracking should be.
> – test: Test case for steady state error
> – Re-arrange a calculation to remove a division
> – canon: actually return angular feed rate when asked
> – test: Match sam’s lathe config settings (axis vel / acc).
> – tp: Allow switching between position-sync algorithms based on a HAL
> pin.
> – sim: model velocity quantization in encoder near 360RPM
> – canon: Simplify spindle speed limits for synced motion
> – canon: don’t restore spindle speed after limiting it for
> spindle-synched motion.
> – Before run, warn if spindle-synched move violates axis limits
> – Added tracking error pin to motion HAL for spindle sync testing
> – Make sim spindle more sluggish to make direction reversal behavior
> easier to analyze in simulation.
> – Fix motion’s position tracking error output pin.
> – Fix sign reversal in spindle displacement calculation causing
> hard-stop at end of rigid tap
> – Add debug scripts to extract spindle data from a tp log file
> – Fix false position tracking error at spindle reversal (needed to
> reset sync position)
> – Increase halscope’s shared ram size to collect more samples
> – Add some missing notes
> – Add max spindle speed check to rigid tapping and factor out some
> common code.
> – Fix spindle reversal calculations to avoid jitter and accelerations
> spikes.
> – Add some extraction scripts for TP test logs
> – During G96, plan blends for largest possible spindle speed
> – Only limit spindle speed during position sync, not velocity sync
> – Add spindle-specific fields to emcmotCommand rather than reusing
> other fields (with confusing names).
> – Fix linking issue with signum function
> – tp: Add some comments to clarify obscure variable names
> – tp: When forcing a pair of motion segments to be tangent, store the
> “kink” velocity in the previous segment.
> – tp: Fix handling of approximate tangents and required de-rating of
> max velocity and acceleration.
> – tp: Fix acceleration violation due to corner case in initialization
> of optimizer
> – test: Add test cases for issue 546 and issue 550
> – tp: Refactor tangential vs overall maximum acceleration lookup
> – tp: Set flags on next segment when setting terminal condition.
> – Fix some compiler warnings
> – tp: Refactor circle maximum velocity / acceleration ratio calculation
> – tp: Refactor and simplify parallel / anti-parallel checks
> – blendmath: implement unit tests for new parallel / anti-parallel
> check functions
> – tp: Move a pmCartesian function into blendmath for use outside of
> tp.c
> – tp: Reimplement sharp corner detection using new anti-parallel
> detection
> – tp: Factor out calculation for peak velocity over a distance.
> – unit_test: Add “greatest” unit test framework (C, header-only
> macro-based unit tests)
> – tp: Compute effective radius of helix too.
> – tp: Simplify kink acceleration calculation to handle negative
> velocities
> – tp: Overhaul debug output with JSON5-formatted log statements.
> – Apply minimum displacement checks consistently between canon and TP.
> – test: Introduce some optimized configs for manual sim tests.
> – tp: Refactor tpCheckEndCondition to isolate computation from TP
> global state
> – tests: Add a stripped down test case for split-cycle debugging
> – tp: Move split cycle function to blendmath file and simplify logic
> – Handle pure-angular moves consistently between canon and TP
> – tp: Simplify logic in split-cycle update
> – tp: Simplify debug output and present more useful info
> – tp: Fix effective radius curvature formula.
> – canon: Fix a mistaken unit conversion of normal axis unit vector in
> circular move command
> – tp: Use already-calculated max normal acceleration from canon for
> optimal circle max velocity in TP
> – tests: Add XYZ velocity plot to log parser
> – test: Add some TP test cases for optimal circle velocity /
> acceleration
> – test: clean up old octave scripts and fix up broken / missing
> functions in test code.
> – tests: Add an ignore file for generated files from TP debugging
> – motion: Catch and propagate failures to set TP position / velocity
> in HAL
> – tp: Add position mismatch check when starting a motion segment
> – tp: Factor out accel scale calculation
> – tp: Extend JSON5 debug output to include some spindle-sync
> information
> – tp: convert more debug outputs to JSON5 format
> – tp: don’t try to compute blend velocity for segments that don’t
> parabolic blend
> – tp: Convert debug output for spiral arc length fit to JSON5
> – test: Provide common setup subroutines and clean up old TP test
> programs
> – tp: Clean up some more warnings
> – Extend blendmath unit tests to include test cases for end condition
> check
> – Add an inline wrapper function to extract max accel from emcmotDebug
> – tp: migrate more debug output to use new JSON5 printing
> – Add default conditions to a TP test case
> – tp: add some skeletal unit tests for jointutils and sphericalarc
> – tp: add a test for the ray intersection check
> – tp: Clean up some pedantic warnings about default cases
> – tp: Factor out code handling spindle-sync into a separate function
> – posemath: Overhaul and extend unit tests
> – canon: Fix a pedantic unused variable warning
> – greatest: Tweak the console output to be more gcc-like
> – posemath: Remove extraneous semicolons from definitions in posemath
> – tp: Pedantic rename of a function to match its result
> – tp: Remove an unnecessary special case in tangent angle check
> – tp: Add more unit tests for blendmath
> – unit_test: Document setup for unit test build in README
> – Make greatest float printing more precise to help troubleshoot
> numerical errors
> – tp: Control new consistency checks with INI file settings to avoid
> console spam in production
> – tp: make TP axis limit error checks more robust
> – tp: refactor TP functional tests to run headless
> – tp: remove some obsolete debug output (to be replaced with unit
> testing)
> – test: Functional tests for TP from NGC snippets known to reproduce
> past issues
> – test: remove an unused config file from previous versions of test
> configs
> – unit_test: add some new cases for end condition check
> – motion: Convert #defines to enums
> – tp: hide some pedantic debug output that screws with unit tests
> – unit_test: add an assert macro to compare PmCartesians
> – tp: add more test cases for PmCircles with helix / spiral components
> – unit_test: convert more PmCartesian asserts to use macro rather than
> compare function
> – posemath: Fix pointer type mismatches in posemath error messages
> – unit_test: convert more asserts to produce GCC-style output
> – unit_test: Hide pedantic debug ouput by default in unit tests
> – Fix some formatting mismatches between other branches for easier
> merging in the future
> – Restore a debug message in case of future issues with zero-length
> moves
> – Merge branch ‘bugfixes-546-550-167-68-164-2.7’ into 2.7
> – tp: fix missing symbol
> – Fix runtests for TP consistency checks
> – canon: fix feed rate problem in arc corner case
> – Fix formatting inconsistencies in canon
> – canon: fix a merge / rebase error that dropped a variable rename in
> a previous commit
> – Fixup 80c92580: update motion-logger/basic test
>
> File Changes
>
> – M .gitignore
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-0> (5)
> – M README
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-1> (11)
> – M lib/hallib/core_sim9.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-2> (3)
> – M lib/hallib/simspindleencoder.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-3> (29)
> – M lib/python/rs274/glcanon.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-4> (40)
> – M meson.build
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-5> (46)
> – M src/Makefile
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-6> (2)
> – M src/emc/ini/initraj.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-7> (8)
> – M src/emc/motion-logger/motion-logger.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-8> (13)
> – M src/emc/motion/command.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-9> (126)
> – M src/emc/motion/control.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-10> (66)
> – M src/emc/motion/mot_priv.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-11> (6)
> – M src/emc/motion/motion.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-12> (29)
> – M src/emc/motion/motion.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-13> (64)
> – M src/emc/motion/usrmotintf.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-14> (1)
> – M src/emc/nml_intf/emc.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-15> (3)
> – M src/emc/nml_intf/emc.hh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-16> (8)
> – M src/emc/nmlintf/emcnml.hh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-17> (6)
> – M src/emc/nml_intf/emcpose.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-18> (42)
> – M src/emc/nml_intf/emcpose.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-19> (4)
> – M src/emc/nml_intf/interpl.hh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-20> (2)
> – M src/emc/nmlintf/motiontypes.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-21> (19)
> – M src/emc/rs274ngc/gcodemodule.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-22> (34)
> – M src/emc/rs274ngc/interp_base.hh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-23> (4)
> – M src/emc/rs274ngc/interp_internal.hh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-24> (1)
> – M src/emc/task/emccanon.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-25> (384)
> – M src/emc/task/emctaskmain.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-26> (6)
> – M src/emc/task/taskintf.cc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-27> (52)
> – M src/emc/tp/blendmath.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-28> (245)
> – M src/emc/tp/blendmath.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-29> (25)
> – A src/emc/tp/joint_util.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-30> (125)
> – A src/emc/tp/joint_util.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-31> (21)
> – A src/emc/tp/math_util.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-32> (25)
> – A src/emc/tp/math_util.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-33> (20)
> – A src/emc/tp/rtapi_json5.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-34> (143)
> – M src/emc/tp/spherical_arc.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-35> (41)
> – M src/emc/tp/spherical_arc.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-36> (4)
> – M src/emc/tp/tc.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-37> (137)
> – M src/emc/tp/tc.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-38> (12)
> – M src/emc/tp/tc_types.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-39> (21)
> – M src/emc/tp/tp.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-40> (1212)
> – M src/emc/tp/tp.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-41> (42)
> – M src/emc/tp/tp_debug.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-42> (38)
> – M src/emc/tp/tp_types.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-43> (20)
> – M src/emc/usr_intf/axis/scripts/axis.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-44> (13)
> – M src/emc/usr_intf/gremlin/gremlin.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-45> (13)
> – M src/hal/classicladder/drawing_sequential.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-46> (3)
> – M src/hal/classicladder/files_sequential.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-47> (1)
> – M src/hal/classicladder/sequential.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-48> (4)
> – A src/hal/components/d2dt2.comp
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-49> (37)
> – A src/hal/components/quant.comp
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-50> (29)
> – M src/hal/utils/scope_rt.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-51> (2)
> – M src/hal/utils/scope_shm.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-52> (2)
> – M src/libnml/posemath/_posemath.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-53> (17)
> – M src/libnml/posemath/posemath.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-54> (39)
> – M src/rtapi/uspace_common.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-55> (1)
> – M tests/motion-logger/basic/expected.builtin-startup.in
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-56> (1)
> – M tests/motion-logger/mountaindew/expected.motion-logger
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-57> (1)
> – A tests/trajectory-planner/batch-test/.gitignore
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-58> (5)
> – A tests/trajectory-planner/batch-test/batch-test.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-59> (7)
> – A tests/trajectory-planner/batch-test/checkresult
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-60> (3)
> – A tests/trajectory-planner/batch-test/headlessbatchtest.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-61> (51)
> – R
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/arcmaxvel_xy.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-62> (3)
> – R
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/arctime.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-63> (2)
> – R
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/basicxy.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-64> (5)
> – R tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxy.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-65> (4)
> – R tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullxz.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-66> (2)
> – R tests/trajectory-planner/batch-test/ncfiles/arc-feed/fullyz.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-67> (2)
> – A
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/optimalcircleaccratio.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-68> (19)
> – R
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc2.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-69> (2)
> – R
> tests/trajectory-planner/batch-test/ncfiles/arc-feed/simplearc3.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-70> (2)
> – A
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-concave-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-71> (13)
> – A
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-concave.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-72> (13)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-73> (2)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-74> (2)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-neartangent.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-75> (2)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-planeswitch.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-76> (2)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-sawtooth.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-77> (22)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-arc-test.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-78> (0)
> – A
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-large-radii.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-79> (13)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-terminal.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-80> (3)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/arc-with-spiral.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-81> (8)
> – A
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/line-arc-burnin.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-82> (47)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-83> (4)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc-end-overrun.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-84> (5)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/linearc.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-85> (2)
> – R
> tests/trajectory-planner/batch-test/nc_files/arc-intersections/tort-sam-mach3.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-86> (5)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/546simplfied.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-87> (21)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/arcvel_violation2.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-88> (0)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/blendarcsimplepos_test.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-89> (12)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/bug424long.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-90> (0)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/bug550short_moves.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-91> (13)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/circulartolerance_check.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-92> (0)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/cornerdecel.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-93> (12)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/cradekaccel_issue.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-94> (9)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/feedtest.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-95> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/fullreverse.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-96> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/machinekit412.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-97> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-98> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_helical2.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-99> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-100> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/maxvelviolation_line2.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-101> (0)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicbump.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-102> (10)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolictest.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-103> (9)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/parabolicvarying.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-104> (12)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/quickarc.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-105> (0)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/rickg-arcs.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-106> (2)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/sam-master-violation.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-107> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/samvel_violation.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-108> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation1.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-109> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-110> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation2_verbatim.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-111> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/samviolation3.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-112> (3)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/samzerolengthmove.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-113> (0)
> – A
> tests/trajectory-planner/batch-test/nc_files/regressions/split-cycle-check.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-114> (515)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-kink-test.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-115> (0)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/stellabee-violation-spirals.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-116> (0)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/stop-err.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-117> (0)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/tangentlines_smooth.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-118> (0)
> – R
> tests/trajectory-planner/batch-test/nc_files/regressions/tap-discrimant-error-orig.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-119> (2)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/tkalcevicrealtime_error.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-120> (0)
> – A
> tests/trajectory-planner/batch-test/ncfiles/regressions/warningsg81.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-121> (20)
> – R
> tests/trajectory-planner/batch-test/ncfiles/regressions/zjumptangentimprovement.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-122> (0)
> – A
> tests/trajectory-planner/batch-test/ncfiles/spindle/g33blend.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-123> (24)
> – A
> tests/trajectory-planner/batch-test/ncfiles/spindle/g33simple.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-124> (8)
> – A
> tests/trajectory-planner/batch-test/ncfiles/spindle/g95blend.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-125> (30)
> – A
> tests/trajectory-planner/batch-test/ncfiles/spindle/rigidtaptest.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-126> (11)
> – R
> tests/trajectory-planner/batch-test/nc_files/spindle/spindle-wait.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-127> (2)
> – A tests/trajectory-planner/batch-test/nc_files/spindle/tapping.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-128> (10)
> – A tests/trajectory-planner/batch-test/position.blank
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-129> (9)
> – A tests/trajectory-planner/batch-test/printloadtimes.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-130> (20)
> – A tests/trajectory-planner/batch-test/sim.tbl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-131> (1)
> – A tests/trajectory-planner/batch-test/test.sh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-132> (4)
> – A tests/trajectory-planner/circular-arcs/.gitignore
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-133> (5)
> – A tests/trajectory-planner/circular-arcs/README.md
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-134> (21)
> – M tests/trajectory-planner/circular-arcs/build-debug.sh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-135> (2)
> – M tests/trajectory-planner/circular-arcs/build-release.sh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-136> (4)
> – A tests/trajectory-planner/circular-arcs/configs/6axis_rotary.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-137> (270)
> – M tests/trajectory-planner/circular-arcs/configs/9axis.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-138> (82)
> – M tests/trajectory-planner/circular-arcs/configs/XY.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-139> (12)
> – M tests/trajectory-planner/circular-arcs/configs/XYZ_fast.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-140> (3)
> – M tests/trajectory-planner/circular-arcs/configs/XYZ_medium.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-141> (3)
> – M tests/trajectory-planner/circular-arcs/configs/XYZ_nospindle.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-142> (4)
> – M tests/trajectory-planner/circular-arcs/configs/XYZ_uneven.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-143> (1)
> – M tests/trajectory-planner/circular-arcs/configs/XY_slowZ.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-144> (22)
> – D
> tests/trajectory-planner/circular-arcs/configs/addhalsymlinks.sh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-145> (3)
> – A
> tests/trajectory-planner/circular-arcs/configs/applylimitsto_enable.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-146> (1)
> – R
> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-147> (170)
> – A
> tests/trajectory-planner/circular-arcs/configs/autotestmillXYZA_template.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-148> (192)
> – M tests/trajectory-planner/circular-arcs/configs/axis-A.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-149> (34)
> – A tests/trajectory-planner/circular-arcs/configs/axis-B.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-150> (35)
> – A tests/trajectory-planner/circular-arcs/configs/axis-C.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-151> (35)
> – A tests/trajectory-planner/circular-arcs/configs/axis-U.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-152> (35)
> – A tests/trajectory-planner/circular-arcs/configs/axis-V.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-153> (35)
> – A tests/trajectory-planner/circular-arcs/configs/axis-W.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-154> (35)
> – M tests/trajectory-planner/circular-arcs/configs/axis-X.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-155> (34)
> – M tests/trajectory-planner/circular-arcs/configs/axis-Y.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-156> (34)
> – M tests/trajectory-planner/circular-arcs/configs/axis-Z.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-157> (32)
> – M
> tests/trajectory-planner/circular-arcs/configs/axis_manualtoolchange.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-158> (2)
> – D tests/trajectory-planner/circular-arcs/configs/core_sim9.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-159> (1)
> – M
> tests/trajectory-planner/circular-arcs/configs/coresimcomponents.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-160> (29)
> – R tests/trajectory-planner/circular-arcs/configs/lathe_XZ.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-161> (8)
> – A
> tests/trajectory-planner/circular-arcs/configs/loadconstraintcomponents.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-162> (57)
> – R tests/trajectory-planner/circular-arcs/configs/mill_XYZA.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-163> (16)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-A.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-164> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-B.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-165> (6)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-C.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-166> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-U.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-167> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-V.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-168> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-W.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-169> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-X.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-170> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-XYZA.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-171> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-XYZABC.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-172> (3)
> – A
> tests/trajectory-planner/circular-arcs/configs/postgui-XYZABCUVW.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-173> (4)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-XZ.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-174> (3)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-Y.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-175> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-Z.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-176> (5)
> – A tests/trajectory-planner/circular-arcs/configs/postgui-base.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-177> (14)
> – D tests/trajectory-planner/circular-arcs/configs/postgui.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-178> (35)
> – A
> tests/trajectory-planner/circular-arcs/configs/testXYZAall_programs.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-179> (7)
> – A
> tests/trajectory-planner/circular-arcs/configs/testrunall_programs.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-180> (61)
> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZA.xml
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-181> (148)
> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABC.xml
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-182> (198)
> – A tests/trajectory-planner/circular-arcs/configs/vcp-XYZABCUVW.xml
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-183> (273)
> – A tests/trajectory-planner/circular-arcs/configs/vcp-XZ.xml
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-184> (98)
> – M tests/trajectory-planner/circular-arcs/configs/vcp.xml
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-185> (249)
> – A tests/trajectory-planner/circular-arcs/extract_all.sh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-186> (7)
> – A tests/trajectory-planner/circular-arcs/extract_displacement.awk
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-187> (2)
> – A tests/trajectory-planner/circular-arcs/extract_spindle.awk
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-188> (1)
> – A tests/trajectory-planner/circular-arcs/extracttcstate.awk
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-189> (1)
> – M tests/trajectory-planner/circular-arcs/linuxcnc_control.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-190> (252)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/XYtests/51MeanderAve.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-191> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-concave-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-192> (3)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-concave.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-193> (3)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-194> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-195> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-neartangent.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-196> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-planeswitch.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-197> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-arc-sawtooth.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-198> (3)
> – A
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-large-radii.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-199> (13)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/arc-terminal.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-200> (3)
> – D
> tests/trajectory-planner/circular-arcs/ncfiles/arc-intersections/blurtorus.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-201> (1905)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/line-arc-burnin.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-202> (3)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-203> (4)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-end-overrun.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-204> (5)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc-stellabee.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-205> (5)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/linearc.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-206> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/arc-intersections/tort-sam-mach3.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-207> (5)
> – D tests/trajectory-planner/circular-arcs/nc_files/auto-test/XYtests
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-208> (1)
> – D
> tests/trajectory-planner/circular-arcs/nc_files/auto-test/performance
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-209> (1)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/abctangent.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-210> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/adjustment.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-211> (4)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/arc-with-spiral.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-212> (2)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_1.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-213> (6)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_comp.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-214> (5)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/badspirals_lathe.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-215> (4)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/defaulttolerance_check.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-216> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/feed-tracking-test.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-217> (3)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/helixslowdown.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-218> (2)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/modalstate_test.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-219> (3)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/parabolicsplit1.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-220> (3)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/ripple1.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-221> (4)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/simpleblend.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-222> (2)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/spiralaggressive.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-223> (5)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/diagnostic/tangentcheck.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-224> (3)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/diagnostic/test-active-states.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-225> (3)
> – A tests/trajectory-planner/circular-arcs/ncfiles/finddupes.sh
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-226> (9)
> – R
> tests/trajectory-planner/circular-arcs/nc_files/performance/sam-tail-slowdown.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-227> (0)
> – D
> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/arc-arc-concave-convex.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-228> (12)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/quick-tests/dodecagon0.1in.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-229> (7)
> – D
> tests/trajectory-planner/circular-arcs/nc_files/quick-tests/linearc-stellabee.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-230> (132)
> – A
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33blend.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-231> (24)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g33simple.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-232> (7)
> – A
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/g95blend.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-233> (30)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/rigidtaptest.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-234> (2)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/spindle/spindle-wait.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-235> (2)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/spiralspindleon.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-236> (3)
> – M
> tests/trajectory-planner/circular-arcs/ncfiles/spindle/straightspindleon.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-237> (4)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/spindle/tapping.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-238> (2)
> – A
> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_inch.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-239> (4)
> – A
> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/default_mm.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-240> (4)
> – A
> tests/trajectory-planner/circular-arcs/ncfiles/testsubs/defaultmodalstate.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-241> (19)
> – D
> tests/trajectory-planner/circular-arcs/ncfiles/violationchecks/spreadsheeterrors.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-242> (66)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207L.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-243> (8)
> – M
> tests/trajectory-planner/circular-arcs/nc_files/wz-tests/130207LZW.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-244> (7)
> – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xw.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-245> (12)
> – M tests/trajectory-planner/circular-arcs/nc_files/wz-tests/xz.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-246> (12)
> – D tests/trajectory-planner/circular-arcs/octave/create3dline.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-247> (62)
> – M
> tests/trajectory-planner/circular-arcs/octave/create3drandom_walk.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-248> (105)
> – M tests/trajectory-planner/circular-arcs/octave/estimate_depth.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-249> (6)
> – A tests/trajectory-planner/circular-arcs/octave/ezrand.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-250> (4)
> – D tests/trajectory-planner/circular-arcs/octave/makepeakimg.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-251> (29)
> – A
> tests/trajectory-planner/circular-arcs/octave/optimalcirculararc_accel.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-252> (34)
> – A tests/trajectory-planner/circular-arcs/octave/parallel_test.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-253> (10)
> – A tests/trajectory-planner/circular-arcs/octave/plot_displacement.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-254> (10)
> – D tests/trajectory-planner/circular-arcs/octave/plot_movement.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-255> (10)
> – A tests/trajectory-planner/circular-arcs/octave/plot_spindledata.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-256> (15)
> – A tests/trajectory-planner/circular-arcs/octave/plot_tcdata.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-257> (7)
> – D tests/trajectory-planner/circular-arcs/octave/process_log.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-258> (7)
> – A tests/trajectory-planner/circular-arcs/octave/testkinkaccel.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-259> (29)
> – A tests/trajectory-planner/circular-arcs/octave/testsplitcycle.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-260> (63)
> – A tests/trajectory-planner/circular-arcs/parsetplogs.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-261> (72)
> – D tests/trajectory-planner/circular-arcs/runalltests.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-262> (115)
> – A tests/trajectory-planner/circular-arcs/tptestingvenv.cfg
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-263> (4)
> – A tests/trajectory-planner/common-config/applylimitsto_enable.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-264> (1)
> – A tests/trajectory-planner/common-config/axis-A.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-265> (35)
> – A tests/trajectory-planner/common-config/axis-X.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-266> (35)
> – A tests/trajectory-planner/common-config/axis-Y.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-267> (35)
> – A tests/trajectory-planner/common-config/axis-Z.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-268> (34)
> – A tests/trajectory-planner/common-config/coresimcomponents.hal
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-269> (19)
> – A tests/trajectory-planner/common-config/linuxcnc_control.py
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-270> (291)
> – A
> tests/trajectory-planner/common-config/loadconstraintcomponents.tcl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-271> (57)
> – A tests/trajectory-planner/common-config/millXYZAbase.ini
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-272> (177)
> – A tests/trajectory-planner/common-config/sim.tbl
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-273> (6)
> – A tests/trajectory-planner/common-subs/default_inch.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-274> (4)
> – A tests/trajectory-planner/common-subs/default_mm.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-275> (4)
> – A tests/trajectory-planner/common-subs/defaultmodalstate.ngc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-276> (19)
> – M unit_tests/greatest.h
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-277> (73)
> – A unittests/mock/mockrtapi.inc
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-278> (22)
> – A unittests/tp/genposemath_boilerplate.m
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-279> (23)
> – M unittests/tp/testblendmath.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-280> (408)
> – A unittests/tp/testjoint_util.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-281> (83)
> – A unittests/tp/testposemath.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-282> (507)
> – A unittests/tp/testspherical_arc.c
> <https://github.com/LinuxCNC/linuxcnc/pull/581/files#diff-283> (72)
>
> Patch Links:
>
> – https://github.com/LinuxCNC/linuxcnc/pull/581.patch
> – https://github.com/LinuxCNC/linuxcnc/pull/581.diff
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/LinuxCNC/linuxcnc/pull/581>, or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AEHRGQW6VXJKJRQK2IBXT2LPTI6PTANCNFSM4HJ2Z47A>
> .
>