mirror of
https://github.com/grblHAL/core.git
synced 2026-02-06 00:52:35 +08:00
Added experimental support for G66 (modal macro call) and G67 (end modal macro call). Made axis letter to axis/motor assignment for axes ABCUVW freely changeable at compile time. Fix for some G65 arguments being incorrectly validated for normal use (sign, range). Added repeat support to G65 macro call via the optional L parameter word. Changed default setting for ABC-axes to rotary. Changed defaults for jerk settings to 10x acceleration settings. Disabled jerk for jog, probe and spindle synchronized motion. Added _active_probe system parameter, returns -1 if no probe inputs available. Minor bug fix, G5.1 and G33.1 motion commands were not coverted to the correct string equivalent in $G output.
607 lines
36 KiB
C
607 lines
36 KiB
C
/*
|
|
stepdir_map.h - An embedded CNC Controller with rs274/ngc (g-code) support
|
|
|
|
Lookup tables for converting core step and dir signals to physical signals, includes signal inversion.
|
|
|
|
May be used by driver code if step and/or dir pins are located to the same port.
|
|
|
|
NOT referenced in the core grblHAL code
|
|
|
|
Part of grblHAL
|
|
|
|
Copyright (c) 2021-2025 Terje Io
|
|
|
|
grblHAL 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 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
grblHAL 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 grblHAL. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#if STEP_OUTMODE == GPIO_MAP
|
|
|
|
static const uint32_t c_step_outmap[] = {
|
|
0,
|
|
X_STEP_BIT,
|
|
Y_STEP_BIT,
|
|
Y_STEP_BIT | X_STEP_BIT,
|
|
Z_STEP_BIT,
|
|
Z_STEP_BIT | X_STEP_BIT,
|
|
Z_STEP_BIT | Y_STEP_BIT,
|
|
Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
#if N_AXIS > 3
|
|
M3_STEP_BIT,
|
|
M3_STEP_BIT | X_STEP_BIT,
|
|
M3_STEP_BIT | Y_STEP_BIT,
|
|
M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M3_STEP_BIT | Z_STEP_BIT,
|
|
M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
#endif
|
|
#if N_AXIS > 4
|
|
M4_STEP_BIT,
|
|
M4_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | Y_STEP_BIT,
|
|
M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | Z_STEP_BIT,
|
|
M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
#endif
|
|
#if N_AXIS > 5
|
|
M5_STEP_BIT,
|
|
M5_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | Z_STEP_BIT,
|
|
M5_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
#endif
|
|
#if N_AXIS > 6
|
|
M6_STEP_BIT,
|
|
M6_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
#endif
|
|
#if N_AXIS > 7
|
|
M7_STEP_BIT,
|
|
M7_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | X_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT,
|
|
M7_STEP_BIT | M6_STEP_BIT | M5_STEP_BIT | M4_STEP_BIT | M3_STEP_BIT | Z_STEP_BIT | Y_STEP_BIT | X_STEP_BIT,
|
|
#endif
|
|
};
|
|
|
|
static uint32_t step_outmap[sizeof(c_step_outmap) / sizeof(uint32_t)];
|
|
|
|
#endif
|
|
|
|
#if DIRECTION_OUTMODE == GPIO_MAP
|
|
|
|
static const uint32_t c_dir_outmap[] = {
|
|
0,
|
|
X_DIRECTION_BIT,
|
|
Y_DIRECTION_BIT,
|
|
Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
Z_DIRECTION_BIT,
|
|
Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
#if N_AXIS > 3
|
|
M3_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
#endif
|
|
#if N_AXIS > 4
|
|
M4_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
#endif
|
|
#if N_AXIS > 5
|
|
M5_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
#endif
|
|
#if N_AXIS > 6
|
|
M6_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
#endif
|
|
#if N_AXIS > 7
|
|
M7_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT,
|
|
M7_DIRECTION_BIT | M6_DIRECTION_BIT | M5_DIRECTION_BIT | M4_DIRECTION_BIT | M3_DIRECTION_BIT | Z_DIRECTION_BIT | Y_DIRECTION_BIT | X_DIRECTION_BIT,
|
|
#endif
|
|
};
|
|
|
|
|
|
static uint32_t dir_outmap[sizeof(c_dir_outmap) / sizeof(uint32_t)];
|
|
|
|
#endif
|
|
|
|
#if (STEP_OUTMODE == GPIO_MAP) || (DIRECTION_OUTMODE == GPIO_MAP)
|
|
|
|
#define USE_STEPDIR_MAP 1
|
|
|
|
static void stepdirmap_init (settings_t *settings)
|
|
{
|
|
uint_fast8_t i;
|
|
|
|
#if STEP_OUTMODE == GPIO_MAP
|
|
|
|
i = sizeof(step_outmap) / sizeof(uint32_t);
|
|
do {
|
|
i--;
|
|
step_outmap[i] = c_step_outmap[i ^ settings->steppers.step_invert.value];
|
|
} while(i);
|
|
#endif
|
|
|
|
#if DIRECTION_OUTMODE == GPIO_MAP
|
|
i = sizeof(dir_outmap) / sizeof(uint32_t);
|
|
do {
|
|
i--;
|
|
dir_outmap[i] = c_dir_outmap[i ^ settings->steppers.dir_invert.value];
|
|
} while(i);
|
|
#endif
|
|
}
|
|
|
|
#endif
|
|
|