按规划持续工作

This commit is contained in:
2026-06-09 06:13:28 +08:00
parent 902c6ecaea
commit 2658ee3b72
255 changed files with 12487 additions and 150 deletions

View File

@@ -0,0 +1,4 @@
Exercise remap sequencing of one G and 4 M-codes per line (MAX_EMS limit)
regardless of ordering of codes on the line the execution order
must reflect an ascending sequence

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,48 @@
#!/usr/bin/env python3
# This is a component of LinuxCNC
# Copyright 2011 Michael Haberler <git@mah.priv.at>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#http://stackoverflow.com/questions/361/generate-list-of-all-possible-permutations-of-a-string
def nextPermutation(perm):
k0 = None
for i in range(len(perm)-1):
if perm[i]<perm[i+1]:
k0=i
if k0 == None:
return None
l0 = k0+1
for i in range(k0+1, len(perm)):
if perm[k0] < perm[i]:
l0 = i
perm[k0], perm[l0] = perm[l0], perm[k0]
perm[k0+1:] = reversed(perm[k0+1:])
return perm
perm=["g88.1x1", "m405","m406","m407","m408"]
while perm:
print(perm)
perm = nextPermutation(perm)
perm=["g88.1x1", "m407","m408","m409","m410"]
while perm:
print(perm)
perm = nextPermutation(perm)

View File

@@ -0,0 +1,11 @@
o<rg881> sub
o100 if [[#<_seq>] GT 10]
(debug,G88.1 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq> - reset to 1)
o100 endif
#<_seq> = 1
o<rg881> endsub
m2
%

View File

@@ -0,0 +1,10 @@
o<rm405> sub
o100 if [[#<_seq>] GT 5]
(debug,M405 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq>)
o100 endif
#<_seq> = 5
o<rm405> endsub
m2
%

View File

@@ -0,0 +1,10 @@
o<rm406> sub
o100 if [[#<_seq>] GT 6]
(debug,M406 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq>)
o100 endif
#<_seq> = 6
o<rm406> endsub
m2
%

View File

@@ -0,0 +1,10 @@
o<rm407> sub
o100 if [[#<_seq>] GT 7]
(debug,M407 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq>)
o100 endif
#<_seq> = 7
o<rm407> endsub
m2
%

View File

@@ -0,0 +1,10 @@
o<rm408> sub
o100 if [[#<_seq>] GT 8]
(debug,M408 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq>)
o100 endif
#<_seq> = 8
o<rm408> endsub
m2
%

View File

@@ -0,0 +1,10 @@
o<rm409> sub
o100 if [[#<_seq>] GT 9]
(debug,M409 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq>)
o100 endif
#<_seq> = 9
o<rm409> endsub
m2
%

View File

@@ -0,0 +1,10 @@
o<rm410> sub
o100 if [[#<_seq>] GT 10]
(debug,M410 sequencing error - seq=#<_seq>)
o100 else
(debug, seq=#<_seq>)
o100 endif
#<_seq> = 10
o<rm410> endsub
m2
%

View File

@@ -0,0 +1,16 @@
[EMC]
DEBUG=0
LOG_LEVEL=0
[RS274NGC]
SUBROUTINE_PATH = .
REMAP=G88.1 ngc=rg881
# one M-code from each modal group
REMAP=M405 modalgroup=5 ngc=rm405
REMAP=M406 modalgroup=6 ngc=rm406
REMAP=M407 modalgroup=7 ngc=rm407
REMAP=M408 modalgroup=8 ngc=rm408
REMAP=M409 modalgroup=9 ngc=rm409
REMAP=M410 ngc=rm410

View File

@@ -0,0 +1,245 @@
; one G, 4 M-codes per line
#<_seq> = 1
g88.1x1 m405 m406 m407 m408
g88.1x1 m405 m406 m408 m407
g88.1x1 m405 m407 m406 m408
g88.1x1 m405 m407 m408 m406
g88.1x1 m405 m408 m406 m407
g88.1x1 m405 m408 m407 m406
g88.1x1 m406 m405 m407 m408
g88.1x1 m406 m405 m408 m407
g88.1x1 m406 m407 m405 m408
g88.1x1 m406 m407 m408 m405
g88.1x1 m406 m408 m405 m407
g88.1x1 m406 m408 m407 m405
g88.1x1 m407 m405 m406 m408
g88.1x1 m407 m405 m408 m406
g88.1x1 m407 m406 m405 m408
g88.1x1 m407 m406 m408 m405
g88.1x1 m407 m408 m405 m406
g88.1x1 m407 m408 m406 m405
g88.1x1 m408 m405 m406 m407
g88.1x1 m408 m405 m407 m406
g88.1x1 m408 m406 m405 m407
g88.1x1 m408 m406 m407 m405
g88.1x1 m408 m407 m405 m406
g88.1x1 m408 m407 m406 m405
m405 g88.1x1 m406 m407 m408
m405 g88.1x1 m406 m408 m407
m405 g88.1x1 m407 m406 m408
m405 g88.1x1 m407 m408 m406
m405 g88.1x1 m408 m406 m407
m405 g88.1x1 m408 m407 m406
m405 m406 g88.1x1 m407 m408
m405 m406 g88.1x1 m408 m407
m405 m406 m407 g88.1x1 m408
m405 m406 m407 m408 g88.1x1
m405 m406 m408 g88.1x1 m407
m405 m406 m408 m407 g88.1x1
m405 m407 g88.1x1 m406 m408
m405 m407 g88.1x1 m408 m406
m405 m407 m406 g88.1x1 m408
m405 m407 m406 m408 g88.1x1
m405 m407 m408 g88.1x1 m406
m405 m407 m408 m406 g88.1x1
m405 m408 g88.1x1 m406 m407
m405 m408 g88.1x1 m407 m406
m405 m408 m406 g88.1x1 m407
m405 m408 m406 m407 g88.1x1
m405 m408 m407 g88.1x1 m406
m405 m408 m407 m406 g88.1x1
m406 g88.1x1 m405 m407 m408
m406 g88.1x1 m405 m408 m407
m406 g88.1x1 m407 m405 m408
m406 g88.1x1 m407 m408 m405
m406 g88.1x1 m408 m405 m407
m406 g88.1x1 m408 m407 m405
m406 m405 g88.1x1 m407 m408
m406 m405 g88.1x1 m408 m407
m406 m405 m407 g88.1x1 m408
m406 m405 m407 m408 g88.1x1
m406 m405 m408 g88.1x1 m407
m406 m405 m408 m407 g88.1x1
m406 m407 g88.1x1 m405 m408
m406 m407 g88.1x1 m408 m405
m406 m407 m405 g88.1x1 m408
m406 m407 m405 m408 g88.1x1
m406 m407 m408 g88.1x1 m405
m406 m407 m408 m405 g88.1x1
m406 m408 g88.1x1 m405 m407
m406 m408 g88.1x1 m407 m405
m406 m408 m405 g88.1x1 m407
m406 m408 m405 m407 g88.1x1
m406 m408 m407 g88.1x1 m405
m406 m408 m407 m405 g88.1x1
m407 g88.1x1 m405 m406 m408
m407 g88.1x1 m405 m408 m406
m407 g88.1x1 m406 m405 m408
m407 g88.1x1 m406 m408 m405
m407 g88.1x1 m408 m405 m406
m407 g88.1x1 m408 m406 m405
m407 m405 g88.1x1 m406 m408
m407 m405 g88.1x1 m408 m406
m407 m405 m406 g88.1x1 m408
m407 m405 m406 m408 g88.1x1
m407 m405 m408 g88.1x1 m406
m407 m405 m408 m406 g88.1x1
m407 m406 g88.1x1 m405 m408
m407 m406 g88.1x1 m408 m405
m407 m406 m405 g88.1x1 m408
m407 m406 m405 m408 g88.1x1
m407 m406 m408 g88.1x1 m405
m407 m406 m408 m405 g88.1x1
m407 m408 g88.1x1 m405 m406
m407 m408 g88.1x1 m406 m405
m407 m408 m405 g88.1x1 m406
m407 m408 m405 m406 g88.1x1
m407 m408 m406 g88.1x1 m405
m407 m408 m406 m405 g88.1x1
m408 g88.1x1 m405 m406 m407
m408 g88.1x1 m405 m407 m406
m408 g88.1x1 m406 m405 m407
m408 g88.1x1 m406 m407 m405
m408 g88.1x1 m407 m405 m406
m408 g88.1x1 m407 m406 m405
m408 m405 g88.1x1 m406 m407
m408 m405 g88.1x1 m407 m406
m408 m405 m406 g88.1x1 m407
m408 m405 m406 m407 g88.1x1
m408 m405 m407 g88.1x1 m406
m408 m405 m407 m406 g88.1x1
m408 m406 g88.1x1 m405 m407
m408 m406 g88.1x1 m407 m405
m408 m406 m405 g88.1x1 m407
m408 m406 m405 m407 g88.1x1
m408 m406 m407 g88.1x1 m405
m408 m406 m407 m405 g88.1x1
m408 m407 g88.1x1 m405 m406
m408 m407 g88.1x1 m406 m405
m408 m407 m405 g88.1x1 m406
m408 m407 m405 m406 g88.1x1
m408 m407 m406 g88.1x1 m405
m408 m407 m406 m405 g88.1x1
g88.1x1 m407 m408 m409 m410
g88.1x1 m407 m408 m410 m409
g88.1x1 m407 m409 m408 m410
g88.1x1 m407 m409 m410 m408
g88.1x1 m407 m410 m408 m409
g88.1x1 m407 m410 m409 m408
g88.1x1 m408 m407 m409 m410
g88.1x1 m408 m407 m410 m409
g88.1x1 m408 m409 m407 m410
g88.1x1 m408 m409 m410 m407
g88.1x1 m408 m410 m407 m409
g88.1x1 m408 m410 m409 m407
g88.1x1 m409 m407 m408 m410
g88.1x1 m409 m407 m410 m408
g88.1x1 m409 m408 m407 m410
g88.1x1 m409 m408 m410 m407
g88.1x1 m409 m410 m407 m408
g88.1x1 m409 m410 m408 m407
g88.1x1 m410 m407 m408 m409
g88.1x1 m410 m407 m409 m408
g88.1x1 m410 m408 m407 m409
g88.1x1 m410 m408 m409 m407
g88.1x1 m410 m409 m407 m408
g88.1x1 m410 m409 m408 m407
m407 g88.1x1 m408 m409 m410
m407 g88.1x1 m408 m410 m409
m407 g88.1x1 m409 m408 m410
m407 g88.1x1 m409 m410 m408
m407 g88.1x1 m410 m408 m409
m407 g88.1x1 m410 m409 m408
m407 m408 g88.1x1 m409 m410
m407 m408 g88.1x1 m410 m409
m407 m408 m409 g88.1x1 m410
m407 m408 m409 m410 g88.1x1
m407 m408 m410 g88.1x1 m409
m407 m408 m410 m409 g88.1x1
m407 m409 g88.1x1 m408 m410
m407 m409 g88.1x1 m410 m408
m407 m409 m408 g88.1x1 m410
m407 m409 m408 m410 g88.1x1
m407 m409 m410 g88.1x1 m408
m407 m409 m410 m408 g88.1x1
m407 m410 g88.1x1 m408 m409
m407 m410 g88.1x1 m409 m408
m407 m410 m408 g88.1x1 m409
m407 m410 m408 m409 g88.1x1
m407 m410 m409 g88.1x1 m408
m407 m410 m409 m408 g88.1x1
m408 g88.1x1 m407 m409 m410
m408 g88.1x1 m407 m410 m409
m408 g88.1x1 m409 m407 m410
m408 g88.1x1 m409 m410 m407
m408 g88.1x1 m410 m407 m409
m408 g88.1x1 m410 m409 m407
m408 m407 g88.1x1 m409 m410
m408 m407 g88.1x1 m410 m409
m408 m407 m409 g88.1x1 m410
m408 m407 m409 m410 g88.1x1
m408 m407 m410 g88.1x1 m409
m408 m407 m410 m409 g88.1x1
m408 m409 g88.1x1 m407 m410
m408 m409 g88.1x1 m410 m407
m408 m409 m407 g88.1x1 m410
m408 m409 m407 m410 g88.1x1
m408 m409 m410 g88.1x1 m407
m408 m409 m410 m407 g88.1x1
m408 m410 g88.1x1 m407 m409
m408 m410 g88.1x1 m409 m407
m408 m410 m407 g88.1x1 m409
m408 m410 m407 m409 g88.1x1
m408 m410 m409 g88.1x1 m407
m408 m410 m409 m407 g88.1x1
m409 g88.1x1 m407 m408 m410
m409 g88.1x1 m407 m410 m408
m409 g88.1x1 m408 m407 m410
m409 g88.1x1 m408 m410 m407
m409 g88.1x1 m410 m407 m408
m409 g88.1x1 m410 m408 m407
m409 m407 g88.1x1 m408 m410
m409 m407 g88.1x1 m410 m408
m409 m407 m408 g88.1x1 m410
m409 m407 m408 m410 g88.1x1
m409 m407 m410 g88.1x1 m408
m409 m407 m410 m408 g88.1x1
m409 m408 g88.1x1 m407 m410
m409 m408 g88.1x1 m410 m407
m409 m408 m407 g88.1x1 m410
m409 m408 m407 m410 g88.1x1
m409 m408 m410 g88.1x1 m407
m409 m408 m410 m407 g88.1x1
m409 m410 g88.1x1 m407 m408
m409 m410 g88.1x1 m408 m407
m409 m410 m407 g88.1x1 m408
m409 m410 m407 m408 g88.1x1
m409 m410 m408 g88.1x1 m407
m409 m410 m408 m407 g88.1x1
m410 g88.1x1 m407 m408 m409
m410 g88.1x1 m407 m409 m408
m410 g88.1x1 m408 m407 m409
m410 g88.1x1 m408 m409 m407
m410 g88.1x1 m409 m407 m408
m410 g88.1x1 m409 m408 m407
m410 m407 g88.1x1 m408 m409
m410 m407 g88.1x1 m409 m408
m410 m407 m408 g88.1x1 m409
m410 m407 m408 m409 g88.1x1
m410 m407 m409 g88.1x1 m408
m410 m407 m409 m408 g88.1x1
m410 m408 g88.1x1 m407 m409
m410 m408 g88.1x1 m409 m407
m410 m408 m407 g88.1x1 m409
m410 m408 m407 m409 g88.1x1
m410 m408 m409 g88.1x1 m407
m410 m408 m409 m407 g88.1x1
m410 m409 g88.1x1 m407 m408
m410 m409 g88.1x1 m408 m407
m410 m409 m407 g88.1x1 m408
m410 m409 m407 m408 g88.1x1
m410 m409 m408 g88.1x1 m407
m410 m409 m408 m407 g88.1x1
m2
%

View File

@@ -0,0 +1,4 @@
#!/bin/bash
export INI_FILE_NAME=test.ini
rs274 -i "$INI_FILE_NAME" -g test.ngc | awk '{$1=""; print}'
exit "${PIPESTATUS[0]}"