Paciente8159 / uCNC

µCNC - Universal CNC firmware for microcontrollers
https://github.com/Paciente8159/uCNC/wiki
GNU General Public License v3.0
253 stars 57 forks source link

[Help] mcu did not work at 1.8.0, Motor does not move at 1.7.4 #479

Closed bwenquan closed 10 months ago

bwenquan commented 11 months ago

I tried 1.8.0 but it did not work. It did not respond anything to the serial port. And the crystal oscillator is not working

I tried 1.7.4 but my motor won't move, I've done everything I can to try and fix it, but it not work until now. So I need some help.

Schematic: image image

My config:

#ifndef BOADMAP_OVERRIDES_H
#define BOADMAP_OVERRIDES_H
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef MCU
#undef MCU
#endif
#define MCU MCU_STM32F1X
#ifdef KINEMATIC
#undef KINEMATIC
#endif
#define KINEMATIC KINEMATIC_CARTESIAN
#ifdef AXIS_COUNT
#undef AXIS_COUNT
#endif
#define AXIS_COUNT 2
#ifdef TOOL_COUNT
#undef TOOL_COUNT
#endif
#define TOOL_COUNT 1
#ifdef BAUDRATE
#undef BAUDRATE
#endif
#define BAUDRATE 115200
#ifdef S_CURVE_ACCELERATION_LEVEL
#undef S_CURVE_ACCELERATION_LEVEL
#endif
#define S_CURVE_ACCELERATION_LEVEL 0
#ifdef BOARD
#undef BOARD
#endif
#define BOARD BOARD_CUSTOM
#ifdef BOARD_NAME
#undef BOARD_NAME
#endif
#define BOARD_NAME "Kirizu-laser"
#ifdef ITP_TIMER
#undef ITP_TIMER
#endif
#define ITP_TIMER 2
#ifdef SERVO_TIMER
#undef SERVO_TIMER
#endif
#define SERVO_TIMER 3
#ifdef ONESHOT_TIMER
#undef ONESHOT_TIMER
#endif
#define ONESHOT_TIMER 1
#ifdef STEP0_BIT
#undef STEP0_BIT
#endif
#define STEP0_BIT 4
#ifdef STEP0_PORT
#undef STEP0_PORT
#endif
#define STEP0_PORT B
#ifdef STEP0_IO_OFFSET
#undef STEP0_IO_OFFSET
#endif
#ifdef STEP1_BIT
#undef STEP1_BIT
#endif
#define STEP1_BIT 5
#ifdef STEP1_PORT
#undef STEP1_PORT
#endif
#define STEP1_PORT D
#ifdef STEP1_IO_OFFSET
#undef STEP1_IO_OFFSET
#endif
#ifdef STEP2_BIT
#undef STEP2_BIT
#endif
#define STEP2_BIT 1
#ifdef STEP2_PORT
#undef STEP2_PORT
#endif
#define STEP2_PORT D
#ifdef STEP2_IO_OFFSET
#undef STEP2_IO_OFFSET
#endif
#ifdef STEP3_BIT
#undef STEP3_BIT
#endif
#define STEP3_BIT 11
#ifdef STEP3_PORT
#undef STEP3_PORT
#endif
#define STEP3_PORT C
#ifdef STEP3_IO_OFFSET
#undef STEP3_IO_OFFSET
#endif
#ifdef STEP4_BIT
#undef STEP4_BIT
#endif
#define STEP4_BIT 11
#ifdef STEP4_PORT
#undef STEP4_PORT
#endif
#define STEP4_PORT A
#ifdef STEP4_IO_OFFSET
#undef STEP4_IO_OFFSET
#endif
#ifdef STEP5_BIT
#undef STEP5_BIT
#endif
#define STEP5_BIT 7
#ifdef STEP5_PORT
#undef STEP5_PORT
#endif
#define STEP5_PORT C
#ifdef STEP5_IO_OFFSET
#undef STEP5_IO_OFFSET
#endif
#ifdef STEP6_BIT
#undef STEP6_BIT
#endif
#define STEP6_BIT 10
#ifdef STEP6_PORT
#undef STEP6_PORT
#endif
#define STEP6_PORT D
#ifdef STEP6_IO_OFFSET
#undef STEP6_IO_OFFSET
#endif
#ifdef STEP7_BIT
#undef STEP7_BIT
#endif
#define STEP7_BIT 14
#ifdef STEP7_PORT
#undef STEP7_PORT
#endif
#define STEP7_PORT D
#ifdef STEP7_IO_OFFSET
#undef STEP7_IO_OFFSET
#endif
#ifdef DIR0_BIT
#undef DIR0_BIT
#endif
#define DIR0_BIT 5
#ifdef DIR0_PORT
#undef DIR0_PORT
#endif
#define DIR0_PORT B
#ifdef DIR0_IO_OFFSET
#undef DIR0_IO_OFFSET
#endif
#ifdef DIR1_BIT
#undef DIR1_BIT
#endif
#define DIR1_BIT 6
#ifdef DIR1_PORT
#undef DIR1_PORT
#endif
#define DIR1_PORT D
#ifdef DIR1_IO_OFFSET
#undef DIR1_IO_OFFSET
#endif
#ifdef DIR2_BIT
#undef DIR2_BIT
#endif
#define DIR2_BIT 2
#ifdef DIR2_PORT
#undef DIR2_PORT
#endif
#define DIR2_PORT D
#ifdef DIR2_IO_OFFSET
#undef DIR2_IO_OFFSET
#endif
#ifdef DIR3_BIT
#undef DIR3_BIT
#endif
#define DIR3_BIT 10
#ifdef DIR3_PORT
#undef DIR3_PORT
#endif
#define DIR3_PORT C
#ifdef DIR3_IO_OFFSET
#undef DIR3_IO_OFFSET
#endif
#ifdef DIR4_BIT
#undef DIR4_BIT
#endif
#define DIR4_BIT 8
#ifdef DIR4_PORT
#undef DIR4_PORT
#endif
#define DIR4_PORT A
#ifdef DIR4_IO_OFFSET
#undef DIR4_IO_OFFSET
#endif
#ifdef DIR5_BIT
#undef DIR5_BIT
#endif
#define DIR5_BIT 6
#ifdef DIR5_PORT
#undef DIR5_PORT
#endif
#define DIR5_PORT C
#ifdef DIR5_IO_OFFSET
#undef DIR5_IO_OFFSET
#endif
#ifdef DIR6_BIT
#undef DIR6_BIT
#endif
#define DIR6_BIT 9
#ifdef DIR6_PORT
#undef DIR6_PORT
#endif
#define DIR6_PORT D
#ifdef DIR6_IO_OFFSET
#undef DIR6_IO_OFFSET
#endif
#ifdef DIR7_BIT
#undef DIR7_BIT
#endif
#define DIR7_BIT 13
#ifdef DIR7_PORT
#undef DIR7_PORT
#endif
#define DIR7_PORT D
#ifdef DIR7_IO_OFFSET
#undef DIR7_IO_OFFSET
#endif
#ifdef STEP0_EN_BIT
#undef STEP0_EN_BIT
#endif
#define STEP0_EN_BIT 7
#ifdef STEP0_EN_PORT
#undef STEP0_EN_PORT
#endif
#define STEP0_EN_PORT B
#ifdef STEP0_EN_IO_OFFSET
#undef STEP0_EN_IO_OFFSET
#endif
#ifdef STEP1_EN_BIT
#undef STEP1_EN_BIT
#endif
#define STEP1_EN_BIT 3
#ifdef STEP1_EN_PORT
#undef STEP1_EN_PORT
#endif
#define STEP1_EN_PORT B
#ifdef STEP1_EN_IO_OFFSET
#undef STEP1_EN_IO_OFFSET
#endif
#ifdef STEP2_EN_BIT
#undef STEP2_EN_BIT
#endif
#define STEP2_EN_BIT 4
#ifdef STEP2_EN_PORT
#undef STEP2_EN_PORT
#endif
#define STEP2_EN_PORT D
#ifdef STEP2_EN_IO_OFFSET
#undef STEP2_EN_IO_OFFSET
#endif
#ifdef STEP3_EN_BIT
#undef STEP3_EN_BIT
#endif
#define STEP3_EN_BIT 0
#ifdef STEP3_EN_PORT
#undef STEP3_EN_PORT
#endif
#define STEP3_EN_PORT D
#ifdef STEP3_EN_IO_OFFSET
#undef STEP3_EN_IO_OFFSET
#endif
#ifdef STEP4_EN_BIT
#undef STEP4_EN_BIT
#endif
#define STEP4_EN_BIT 15
#ifdef STEP4_EN_PORT
#undef STEP4_EN_PORT
#endif
#define STEP4_EN_PORT A
#ifdef STEP4_EN_IO_OFFSET
#undef STEP4_EN_IO_OFFSET
#endif
#ifdef STEP5_EN_BIT
#undef STEP5_EN_BIT
#endif
#define STEP5_EN_BIT 9
#ifdef STEP5_EN_PORT
#undef STEP5_EN_PORT
#endif
#define STEP5_EN_PORT C
#ifdef STEP5_EN_IO_OFFSET
#undef STEP5_EN_IO_OFFSET
#endif
#ifdef STEP6_EN_BIT
#undef STEP6_EN_BIT
#endif
#define STEP6_EN_BIT 12
#ifdef STEP6_EN_PORT
#undef STEP6_EN_PORT
#endif
#define STEP6_EN_PORT D
#ifdef STEP6_EN_IO_OFFSET
#undef STEP6_EN_IO_OFFSET
#endif
#ifdef STEP7_EN_BIT
#undef STEP7_EN_BIT
#endif
#define STEP7_EN_BIT 15
#ifdef STEP7_EN_PORT
#undef STEP7_EN_PORT
#endif
#define STEP7_EN_PORT D
#ifdef STEP7_EN_IO_OFFSET
#undef STEP7_EN_IO_OFFSET
#endif
#ifdef PWM0_BIT
#undef PWM0_BIT
#endif
#define PWM0_BIT 1
#ifdef PWM0_PORT
#undef PWM0_PORT
#endif
#define PWM0_PORT B
#ifdef PWM0_CHANNEL
#undef PWM0_CHANNEL
#endif
#define PWM0_CHANNEL 4
#ifdef PWM0_TIMER
#undef PWM0_TIMER
#endif
#define PWM0_TIMER 3
#ifdef PWM0_MUX
#undef PWM0_MUX
#endif
#ifdef PWM0_IO_OFFSET
#undef PWM0_IO_OFFSET
#endif
#ifdef PWM1_BIT
#undef PWM1_BIT
#endif
#define PWM1_BIT 0
#ifdef PWM1_PORT
#undef PWM1_PORT
#endif
#define PWM1_PORT B
#ifdef PWM1_CHANNEL
#undef PWM1_CHANNEL
#endif
#define PWM1_CHANNEL 3
#ifdef PWM1_TIMER
#undef PWM1_TIMER
#endif
#define PWM1_TIMER 3
#ifdef PWM1_MUX
#undef PWM1_MUX
#endif
#ifdef PWM1_IO_OFFSET
#undef PWM1_IO_OFFSET
#endif
#ifdef PWM2_BIT
#undef PWM2_BIT
#endif
#ifdef PWM2_PORT
#undef PWM2_PORT
#endif
#ifdef PWM2_CHANNEL
#undef PWM2_CHANNEL
#endif
#ifdef PWM2_TIMER
#undef PWM2_TIMER
#endif
#ifdef PWM2_MUX
#undef PWM2_MUX
#endif
#ifdef PWM2_IO_OFFSET
#undef PWM2_IO_OFFSET
#endif
#ifdef PWM3_BIT
#undef PWM3_BIT
#endif
#ifdef PWM3_PORT
#undef PWM3_PORT
#endif
#ifdef PWM3_CHANNEL
#undef PWM3_CHANNEL
#endif
#ifdef PWM3_TIMER
#undef PWM3_TIMER
#endif
#ifdef PWM3_MUX
#undef PWM3_MUX
#endif
#ifdef PWM3_IO_OFFSET
#undef PWM3_IO_OFFSET
#endif
#ifdef PWM4_BIT
#undef PWM4_BIT
#endif
#ifdef PWM4_PORT
#undef PWM4_PORT
#endif
#ifdef PWM4_CHANNEL
#undef PWM4_CHANNEL
#endif
#ifdef PWM4_TIMER
#undef PWM4_TIMER
#endif
#ifdef PWM4_MUX
#undef PWM4_MUX
#endif
#ifdef PWM4_IO_OFFSET
#undef PWM4_IO_OFFSET
#endif
#ifdef PWM5_BIT
#undef PWM5_BIT
#endif
#ifdef PWM5_PORT
#undef PWM5_PORT
#endif
#ifdef PWM5_CHANNEL
#undef PWM5_CHANNEL
#endif
#ifdef PWM5_TIMER
#undef PWM5_TIMER
#endif
#ifdef PWM5_MUX
#undef PWM5_MUX
#endif
#ifdef PWM5_IO_OFFSET
#undef PWM5_IO_OFFSET
#endif
#ifdef PWM6_BIT
#undef PWM6_BIT
#endif
#ifdef PWM6_PORT
#undef PWM6_PORT
#endif
#ifdef PWM6_CHANNEL
#undef PWM6_CHANNEL
#endif
#ifdef PWM6_TIMER
#undef PWM6_TIMER
#endif
#ifdef PWM6_MUX
#undef PWM6_MUX
#endif
#ifdef PWM6_IO_OFFSET
#undef PWM6_IO_OFFSET
#endif
#ifdef PWM7_BIT
#undef PWM7_BIT
#endif
#ifdef PWM7_PORT
#undef PWM7_PORT
#endif
#ifdef PWM7_CHANNEL
#undef PWM7_CHANNEL
#endif
#ifdef PWM7_TIMER
#undef PWM7_TIMER
#endif
#ifdef PWM7_MUX
#undef PWM7_MUX
#endif
#ifdef PWM7_IO_OFFSET
#undef PWM7_IO_OFFSET
#endif
#ifdef PWM8_BIT
#undef PWM8_BIT
#endif
#ifdef PWM8_PORT
#undef PWM8_PORT
#endif
#ifdef PWM8_CHANNEL
#undef PWM8_CHANNEL
#endif
#ifdef PWM8_TIMER
#undef PWM8_TIMER
#endif
#ifdef PWM8_MUX
#undef PWM8_MUX
#endif
#ifdef PWM8_IO_OFFSET
#undef PWM8_IO_OFFSET
#endif
#ifdef PWM9_BIT
#undef PWM9_BIT
#endif
#ifdef PWM9_PORT
#undef PWM9_PORT
#endif
#ifdef PWM9_CHANNEL
#undef PWM9_CHANNEL
#endif
#ifdef PWM9_TIMER
#undef PWM9_TIMER
#endif
#ifdef PWM9_MUX
#undef PWM9_MUX
#endif
#ifdef PWM9_IO_OFFSET
#undef PWM9_IO_OFFSET
#endif
#ifdef PWM10_BIT
#undef PWM10_BIT
#endif
#ifdef PWM10_PORT
#undef PWM10_PORT
#endif
#ifdef PWM10_CHANNEL
#undef PWM10_CHANNEL
#endif
#ifdef PWM10_TIMER
#undef PWM10_TIMER
#endif
#ifdef PWM10_MUX
#undef PWM10_MUX
#endif
#ifdef PWM10_IO_OFFSET
#undef PWM10_IO_OFFSET
#endif
#ifdef PWM11_BIT
#undef PWM11_BIT
#endif
#ifdef PWM11_PORT
#undef PWM11_PORT
#endif
#ifdef PWM11_CHANNEL
#undef PWM11_CHANNEL
#endif
#ifdef PWM11_TIMER
#undef PWM11_TIMER
#endif
#ifdef PWM11_MUX
#undef PWM11_MUX
#endif
#ifdef PWM11_IO_OFFSET
#undef PWM11_IO_OFFSET
#endif
#ifdef PWM12_BIT
#undef PWM12_BIT
#endif
#ifdef PWM12_PORT
#undef PWM12_PORT
#endif
#ifdef PWM12_CHANNEL
#undef PWM12_CHANNEL
#endif
#ifdef PWM12_TIMER
#undef PWM12_TIMER
#endif
#ifdef PWM12_MUX
#undef PWM12_MUX
#endif
#ifdef PWM12_IO_OFFSET
#undef PWM12_IO_OFFSET
#endif
#ifdef PWM13_BIT
#undef PWM13_BIT
#endif
#ifdef PWM13_PORT
#undef PWM13_PORT
#endif
#ifdef PWM13_CHANNEL
#undef PWM13_CHANNEL
#endif
#ifdef PWM13_TIMER
#undef PWM13_TIMER
#endif
#ifdef PWM13_MUX
#undef PWM13_MUX
#endif
#ifdef PWM13_IO_OFFSET
#undef PWM13_IO_OFFSET
#endif
#ifdef PWM14_BIT
#undef PWM14_BIT
#endif
#ifdef PWM14_PORT
#undef PWM14_PORT
#endif
#ifdef PWM14_CHANNEL
#undef PWM14_CHANNEL
#endif
#ifdef PWM14_TIMER
#undef PWM14_TIMER
#endif
#ifdef PWM14_MUX
#undef PWM14_MUX
#endif
#ifdef PWM14_IO_OFFSET
#undef PWM14_IO_OFFSET
#endif
#ifdef PWM15_BIT
#undef PWM15_BIT
#endif
#ifdef PWM15_PORT
#undef PWM15_PORT
#endif
#ifdef PWM15_CHANNEL
#undef PWM15_CHANNEL
#endif
#ifdef PWM15_TIMER
#undef PWM15_TIMER
#endif
#ifdef PWM15_MUX
#undef PWM15_MUX
#endif
#ifdef PWM15_IO_OFFSET
#undef PWM15_IO_OFFSET
#endif
#ifdef SERVO0_BIT
#undef SERVO0_BIT
#endif
#ifdef SERVO0_PORT
#undef SERVO0_PORT
#endif
#ifdef SERVO0_IO_OFFSET
#undef SERVO0_IO_OFFSET
#endif
#ifdef SERVO1_BIT
#undef SERVO1_BIT
#endif
#ifdef SERVO1_PORT
#undef SERVO1_PORT
#endif
#ifdef SERVO1_IO_OFFSET
#undef SERVO1_IO_OFFSET
#endif
#ifdef SERVO2_BIT
#undef SERVO2_BIT
#endif
#ifdef SERVO2_PORT
#undef SERVO2_PORT
#endif
#ifdef SERVO2_IO_OFFSET
#undef SERVO2_IO_OFFSET
#endif
#ifdef SERVO3_BIT
#undef SERVO3_BIT
#endif
#ifdef SERVO3_PORT
#undef SERVO3_PORT
#endif
#ifdef SERVO3_IO_OFFSET
#undef SERVO3_IO_OFFSET
#endif
#ifdef SERVO4_BIT
#undef SERVO4_BIT
#endif
#ifdef SERVO4_PORT
#undef SERVO4_PORT
#endif
#ifdef SERVO4_IO_OFFSET
#undef SERVO4_IO_OFFSET
#endif
#ifdef SERVO5_BIT
#undef SERVO5_BIT
#endif
#ifdef SERVO5_PORT
#undef SERVO5_PORT
#endif
#ifdef SERVO5_IO_OFFSET
#undef SERVO5_IO_OFFSET
#endif
#ifdef DOUT0_BIT
#undef DOUT0_BIT
#endif
#define DOUT0_BIT 5
#ifdef DOUT0_PORT
#undef DOUT0_PORT
#endif
#define DOUT0_PORT C
#ifdef DOUT0_IO_OFFSET
#undef DOUT0_IO_OFFSET
#endif
#ifdef DOUT1_BIT
#undef DOUT1_BIT
#endif
#define DOUT1_BIT 4
#ifdef DOUT1_PORT
#undef DOUT1_PORT
#endif
#define DOUT1_PORT C
#ifdef DOUT1_IO_OFFSET
#undef DOUT1_IO_OFFSET
#endif
#ifdef DOUT2_BIT
#undef DOUT2_BIT
#endif
#define DOUT2_BIT 9
#ifdef DOUT2_PORT
#undef DOUT2_PORT
#endif
#define DOUT2_PORT E
#ifdef DOUT2_IO_OFFSET
#undef DOUT2_IO_OFFSET
#endif
#ifdef DOUT3_BIT
#undef DOUT3_BIT
#endif
#define DOUT3_BIT 8
#ifdef DOUT3_PORT
#undef DOUT3_PORT
#endif
#define DOUT3_PORT E
#ifdef DOUT3_IO_OFFSET
#undef DOUT3_IO_OFFSET
#endif
#ifdef DOUT4_BIT
#undef DOUT4_BIT
#endif
#define DOUT4_BIT 7
#ifdef DOUT4_PORT
#undef DOUT4_PORT
#endif
#define DOUT4_PORT E
#ifdef DOUT4_IO_OFFSET
#undef DOUT4_IO_OFFSET
#endif
#ifdef DOUT5_BIT
#undef DOUT5_BIT
#endif
#define DOUT5_BIT 13
#ifdef DOUT5_PORT
#undef DOUT5_PORT
#endif
#define DOUT5_PORT E
#ifdef DOUT5_IO_OFFSET
#undef DOUT5_IO_OFFSET
#endif
#ifdef DOUT6_BIT
#undef DOUT6_BIT
#endif
#define DOUT6_BIT 12
#ifdef DOUT6_PORT
#undef DOUT6_PORT
#endif
#define DOUT6_PORT E
#ifdef DOUT6_IO_OFFSET
#undef DOUT6_IO_OFFSET
#endif
#ifdef DOUT7_BIT
#undef DOUT7_BIT
#endif
#define DOUT7_BIT 11
#ifdef DOUT7_PORT
#undef DOUT7_PORT
#endif
#define DOUT7_PORT E
#ifdef DOUT7_IO_OFFSET
#undef DOUT7_IO_OFFSET
#endif
#ifdef DOUT8_BIT
#undef DOUT8_BIT
#endif
#define DOUT8_BIT 10
#ifdef DOUT8_PORT
#undef DOUT8_PORT
#endif
#define DOUT8_PORT E
#ifdef DOUT8_IO_OFFSET
#undef DOUT8_IO_OFFSET
#endif
#ifdef DOUT9_BIT
#undef DOUT9_BIT
#endif
#ifdef DOUT9_PORT
#undef DOUT9_PORT
#endif
#ifdef DOUT9_IO_OFFSET
#undef DOUT9_IO_OFFSET
#endif
#ifdef DOUT10_BIT
#undef DOUT10_BIT
#endif
#define DOUT10_BIT 3
#ifdef DOUT10_PORT
#undef DOUT10_PORT
#endif
#define DOUT10_PORT A
#ifdef DOUT10_IO_OFFSET
#undef DOUT10_IO_OFFSET
#endif
#ifdef DOUT11_BIT
#undef DOUT11_BIT
#endif
#define DOUT11_BIT 11
#ifdef DOUT11_PORT
#undef DOUT11_PORT
#endif
#define DOUT11_PORT B
#ifdef DOUT11_IO_OFFSET
#undef DOUT11_IO_OFFSET
#endif
#ifdef DOUT12_BIT
#undef DOUT12_BIT
#endif
#ifdef DOUT12_PORT
#undef DOUT12_PORT
#endif
#ifdef DOUT12_IO_OFFSET
#undef DOUT12_IO_OFFSET
#endif
#ifdef DOUT13_BIT
#undef DOUT13_BIT
#endif
#ifdef DOUT13_PORT
#undef DOUT13_PORT
#endif
#ifdef DOUT13_IO_OFFSET
#undef DOUT13_IO_OFFSET
#endif
#ifdef DOUT14_BIT
#undef DOUT14_BIT
#endif
#ifdef DOUT14_PORT
#undef DOUT14_PORT
#endif
#ifdef DOUT14_IO_OFFSET
#undef DOUT14_IO_OFFSET
#endif
#ifdef DOUT15_BIT
#undef DOUT15_BIT
#endif
#ifdef DOUT15_PORT
#undef DOUT15_PORT
#endif
#ifdef DOUT15_IO_OFFSET
#undef DOUT15_IO_OFFSET
#endif
#ifdef DOUT16_BIT
#undef DOUT16_BIT
#endif
#ifdef DOUT16_PORT
#undef DOUT16_PORT
#endif
#ifdef DOUT16_IO_OFFSET
#undef DOUT16_IO_OFFSET
#endif
#ifdef DOUT17_BIT
#undef DOUT17_BIT
#endif
#ifdef DOUT17_PORT
#undef DOUT17_PORT
#endif
#ifdef DOUT17_IO_OFFSET
#undef DOUT17_IO_OFFSET
#endif
#ifdef DOUT18_BIT
#undef DOUT18_BIT
#endif
#ifdef DOUT18_PORT
#undef DOUT18_PORT
#endif
#ifdef DOUT18_IO_OFFSET
#undef DOUT18_IO_OFFSET
#endif
#ifdef DOUT19_BIT
#undef DOUT19_BIT
#endif
#ifdef DOUT19_PORT
#undef DOUT19_PORT
#endif
#ifdef DOUT19_IO_OFFSET
#undef DOUT19_IO_OFFSET
#endif
#ifdef DOUT20_BIT
#undef DOUT20_BIT
#endif
#ifdef DOUT20_PORT
#undef DOUT20_PORT
#endif
#ifdef DOUT20_IO_OFFSET
#undef DOUT20_IO_OFFSET
#endif
#ifdef DOUT21_BIT
#undef DOUT21_BIT
#endif
#ifdef DOUT21_PORT
#undef DOUT21_PORT
#endif
#ifdef DOUT21_IO_OFFSET
#undef DOUT21_IO_OFFSET
#endif
#ifdef DOUT22_BIT
#undef DOUT22_BIT
#endif
#ifdef DOUT22_PORT
#undef DOUT22_PORT
#endif
#ifdef DOUT22_IO_OFFSET
#undef DOUT22_IO_OFFSET
#endif
#ifdef DOUT23_BIT
#undef DOUT23_BIT
#endif
#ifdef DOUT23_PORT
#undef DOUT23_PORT
#endif
#ifdef DOUT23_IO_OFFSET
#undef DOUT23_IO_OFFSET
#endif
#ifdef DOUT24_BIT
#undef DOUT24_BIT
#endif
#ifdef DOUT24_PORT
#undef DOUT24_PORT
#endif
#ifdef DOUT24_IO_OFFSET
#undef DOUT24_IO_OFFSET
#endif
#ifdef DOUT25_BIT
#undef DOUT25_BIT
#endif
#ifdef DOUT25_PORT
#undef DOUT25_PORT
#endif
#ifdef DOUT25_IO_OFFSET
#undef DOUT25_IO_OFFSET
#endif
#ifdef DOUT26_BIT
#undef DOUT26_BIT
#endif
#ifdef DOUT26_PORT
#undef DOUT26_PORT
#endif
#ifdef DOUT26_IO_OFFSET
#undef DOUT26_IO_OFFSET
#endif
#ifdef DOUT27_BIT
#undef DOUT27_BIT
#endif
#ifdef DOUT27_PORT
#undef DOUT27_PORT
#endif
#ifdef DOUT27_IO_OFFSET
#undef DOUT27_IO_OFFSET
#endif
#ifdef DOUT28_BIT
#undef DOUT28_BIT
#endif
#ifdef DOUT28_PORT
#undef DOUT28_PORT
#endif
#ifdef DOUT28_IO_OFFSET
#undef DOUT28_IO_OFFSET
#endif
#ifdef DOUT29_BIT
#undef DOUT29_BIT
#endif
#ifdef DOUT29_PORT
#undef DOUT29_PORT
#endif
#ifdef DOUT29_IO_OFFSET
#undef DOUT29_IO_OFFSET
#endif
#ifdef DOUT30_BIT
#undef DOUT30_BIT
#endif
#ifdef DOUT30_PORT
#undef DOUT30_PORT
#endif
#ifdef DOUT30_IO_OFFSET
#undef DOUT30_IO_OFFSET
#endif
#ifdef DOUT31_BIT
#undef DOUT31_BIT
#endif
#ifdef DOUT31_PORT
#undef DOUT31_PORT
#endif
#ifdef DOUT31_IO_OFFSET
#undef DOUT31_IO_OFFSET
#endif
#ifdef LIMIT_X_BIT
#undef LIMIT_X_BIT
#endif
#define LIMIT_X_BIT 4
#ifdef LIMIT_X_PORT
#undef LIMIT_X_PORT
#endif
#define LIMIT_X_PORT E
#ifdef LIMIT_X_PULLUP
#undef LIMIT_X_PULLUP
#endif
#define LIMIT_X_PULLUP
#ifdef LIMIT_X_ISR
#undef LIMIT_X_ISR
#endif
#ifdef LIMIT_Y_BIT
#undef LIMIT_Y_BIT
#endif
#define LIMIT_Y_BIT 5
#ifdef LIMIT_Y_PORT
#undef LIMIT_Y_PORT
#endif
#define LIMIT_Y_PORT E
#ifdef LIMIT_Y_PULLUP
#undef LIMIT_Y_PULLUP
#endif
#define LIMIT_Y_PULLUP
#ifdef LIMIT_Y_ISR
#undef LIMIT_Y_ISR
#endif
#ifdef LIMIT_Z_BIT
#undef LIMIT_Z_BIT
#endif
#ifdef LIMIT_Z_PORT
#undef LIMIT_Z_PORT
#endif
#ifdef LIMIT_Z_PULLUP
#undef LIMIT_Z_PULLUP
#endif
#ifdef LIMIT_Z_ISR
#undef LIMIT_Z_ISR
#endif
#ifdef LIMIT_X2_BIT
#undef LIMIT_X2_BIT
#endif
#ifdef LIMIT_X2_PORT
#undef LIMIT_X2_PORT
#endif
#ifdef LIMIT_X2_PULLUP
#undef LIMIT_X2_PULLUP
#endif
#ifdef LIMIT_X2_ISR
#undef LIMIT_X2_ISR
#endif
#ifdef LIMIT_Y2_BIT
#undef LIMIT_Y2_BIT
#endif
#define LIMIT_Y2_BIT 6
#ifdef LIMIT_Y2_PORT
#undef LIMIT_Y2_PORT
#endif
#define LIMIT_Y2_PORT E
#ifdef LIMIT_Y2_PULLUP
#undef LIMIT_Y2_PULLUP
#endif
#define LIMIT_Y2_PULLUP
#ifdef LIMIT_Y2_ISR
#undef LIMIT_Y2_ISR
#endif
#ifdef LIMIT_Z2_BIT
#undef LIMIT_Z2_BIT
#endif
#ifdef LIMIT_Z2_PORT
#undef LIMIT_Z2_PORT
#endif
#ifdef LIMIT_Z2_PULLUP
#undef LIMIT_Z2_PULLUP
#endif
#ifdef LIMIT_Z2_ISR
#undef LIMIT_Z2_ISR
#endif
#ifdef LIMIT_A_BIT
#undef LIMIT_A_BIT
#endif
#ifdef LIMIT_A_PORT
#undef LIMIT_A_PORT
#endif
#ifdef LIMIT_A_PULLUP
#undef LIMIT_A_PULLUP
#endif
#ifdef LIMIT_A_ISR
#undef LIMIT_A_ISR
#endif
#ifdef LIMIT_B_BIT
#undef LIMIT_B_BIT
#endif
#ifdef LIMIT_B_PORT
#undef LIMIT_B_PORT
#endif
#ifdef LIMIT_B_PULLUP
#undef LIMIT_B_PULLUP
#endif
#ifdef LIMIT_B_ISR
#undef LIMIT_B_ISR
#endif
#ifdef LIMIT_C_BIT
#undef LIMIT_C_BIT
#endif
#ifdef LIMIT_C_PORT
#undef LIMIT_C_PORT
#endif
#ifdef LIMIT_C_PULLUP
#undef LIMIT_C_PULLUP
#endif
#ifdef LIMIT_C_ISR
#undef LIMIT_C_ISR
#endif
#ifdef PROBE_BIT
#undef PROBE_BIT
#endif
#ifdef PROBE_PORT
#undef PROBE_PORT
#endif
#ifdef PROBE_PULLUP
#undef PROBE_PULLUP
#endif
#ifdef PROBE_ISR
#undef PROBE_ISR
#endif
#ifdef ESTOP_BIT
#undef ESTOP_BIT
#endif
#ifdef ESTOP_PORT
#undef ESTOP_PORT
#endif
#ifdef ESTOP_PULLUP
#undef ESTOP_PULLUP
#endif
#ifdef ESTOP_ISR
#undef ESTOP_ISR
#endif
#ifdef SAFETY_DOOR_BIT
#undef SAFETY_DOOR_BIT
#endif
#ifdef SAFETY_DOOR_PORT
#undef SAFETY_DOOR_PORT
#endif
#ifdef SAFETY_DOOR_PULLUP
#undef SAFETY_DOOR_PULLUP
#endif
#ifdef SAFETY_DOOR_ISR
#undef SAFETY_DOOR_ISR
#endif
#ifdef FHOLD_BIT
#undef FHOLD_BIT
#endif
#ifdef FHOLD_PORT
#undef FHOLD_PORT
#endif
#ifdef FHOLD_PULLUP
#undef FHOLD_PULLUP
#endif
#ifdef FHOLD_ISR
#undef FHOLD_ISR
#endif
#ifdef CS_RES_BIT
#undef CS_RES_BIT
#endif
#define CS_RES_BIT 15
#ifdef CS_RES_PORT
#undef CS_RES_PORT
#endif
#define CS_RES_PORT C
#ifdef CS_RES_PULLUP
#undef CS_RES_PULLUP
#endif
#define CS_RES_PULLUP
#ifdef CS_RES_ISR
#undef CS_RES_ISR
#endif
#define CS_RES_ISR
#ifdef ANALOG0_BIT
#undef ANALOG0_BIT
#endif
#define ANALOG0_BIT 0
#ifdef ANALOG0_PORT
#undef ANALOG0_PORT
#endif
#define ANALOG0_PORT C
#ifdef ANALOG0_CHANNEL
#undef ANALOG0_CHANNEL
#endif
#define ANALOG0_CHANNEL 10
#ifdef ANALOG1_BIT
#undef ANALOG1_BIT
#endif
#define ANALOG1_BIT 1
#ifdef ANALOG1_PORT
#undef ANALOG1_PORT
#endif
#define ANALOG1_PORT C
#ifdef ANALOG1_CHANNEL
#undef ANALOG1_CHANNEL
#endif
#define ANALOG1_CHANNEL 11
#ifdef ANALOG2_BIT
#undef ANALOG2_BIT
#endif
#define ANALOG2_BIT 2
#ifdef ANALOG2_PORT
#undef ANALOG2_PORT
#endif
#define ANALOG2_PORT C
#ifdef ANALOG2_CHANNEL
#undef ANALOG2_CHANNEL
#endif
#define ANALOG2_CHANNEL 12
#ifdef ANALOG3_BIT
#undef ANALOG3_BIT
#endif
#define ANALOG3_BIT 3
#ifdef ANALOG3_PORT
#undef ANALOG3_PORT
#endif
#define ANALOG3_PORT C
#ifdef ANALOG3_CHANNEL
#undef ANALOG3_CHANNEL
#endif
#define ANALOG3_CHANNEL 13
#ifdef ANALOG4_BIT
#undef ANALOG4_BIT
#endif
#ifdef ANALOG4_PORT
#undef ANALOG4_PORT
#endif
#ifdef ANALOG4_CHANNEL
#undef ANALOG4_CHANNEL
#endif
#ifdef ANALOG5_BIT
#undef ANALOG5_BIT
#endif
#ifdef ANALOG5_PORT
#undef ANALOG5_PORT
#endif
#ifdef ANALOG5_CHANNEL
#undef ANALOG5_CHANNEL
#endif
#ifdef ANALOG6_BIT
#undef ANALOG6_BIT
#endif
#ifdef ANALOG6_PORT
#undef ANALOG6_PORT
#endif
#ifdef ANALOG6_CHANNEL
#undef ANALOG6_CHANNEL
#endif
#ifdef ANALOG7_BIT
#undef ANALOG7_BIT
#endif
#ifdef ANALOG7_PORT
#undef ANALOG7_PORT
#endif
#ifdef ANALOG7_CHANNEL
#undef ANALOG7_CHANNEL
#endif
#ifdef ANALOG8_BIT
#undef ANALOG8_BIT
#endif
#ifdef ANALOG8_PORT
#undef ANALOG8_PORT
#endif
#ifdef ANALOG8_CHANNEL
#undef ANALOG8_CHANNEL
#endif
#ifdef ANALOG9_BIT
#undef ANALOG9_BIT
#endif
#ifdef ANALOG9_PORT
#undef ANALOG9_PORT
#endif
#ifdef ANALOG9_CHANNEL
#undef ANALOG9_CHANNEL
#endif
#ifdef ANALOG10_BIT
#undef ANALOG10_BIT
#endif
#ifdef ANALOG10_PORT
#undef ANALOG10_PORT
#endif
#ifdef ANALOG10_CHANNEL
#undef ANALOG10_CHANNEL
#endif
#ifdef ANALOG11_BIT
#undef ANALOG11_BIT
#endif
#ifdef ANALOG11_PORT
#undef ANALOG11_PORT
#endif
#ifdef ANALOG11_CHANNEL
#undef ANALOG11_CHANNEL
#endif
#ifdef ANALOG12_BIT
#undef ANALOG12_BIT
#endif
#ifdef ANALOG12_PORT
#undef ANALOG12_PORT
#endif
#ifdef ANALOG12_CHANNEL
#undef ANALOG12_CHANNEL
#endif
#ifdef ANALOG13_BIT
#undef ANALOG13_BIT
#endif
#ifdef ANALOG13_PORT
#undef ANALOG13_PORT
#endif
#ifdef ANALOG13_CHANNEL
#undef ANALOG13_CHANNEL
#endif
#ifdef ANALOG14_BIT
#undef ANALOG14_BIT
#endif
#ifdef ANALOG14_PORT
#undef ANALOG14_PORT
#endif
#ifdef ANALOG14_CHANNEL
#undef ANALOG14_CHANNEL
#endif
#ifdef ANALOG15_BIT
#undef ANALOG15_BIT
#endif
#ifdef ANALOG15_PORT
#undef ANALOG15_PORT
#endif
#ifdef ANALOG15_CHANNEL
#undef ANALOG15_CHANNEL
#endif
#ifdef DIN0_BIT
#undef DIN0_BIT
#endif
#define DIN0_BIT 14
#ifdef DIN0_PORT
#undef DIN0_PORT
#endif
#define DIN0_PORT C
#ifdef DIN0_PULLUP
#undef DIN0_PULLUP
#endif
#define DIN0_PULLUP
#ifdef DIN0_ISR
#undef DIN0_ISR
#endif
#ifdef DIN1_BIT
#undef DIN1_BIT
#endif
#ifdef DIN1_PORT
#undef DIN1_PORT
#endif
#ifdef DIN1_PULLUP
#undef DIN1_PULLUP
#endif
#ifdef DIN1_ISR
#undef DIN1_ISR
#endif
#ifdef DIN2_BIT
#undef DIN2_BIT
#endif
#ifdef DIN2_PORT
#undef DIN2_PORT
#endif
#ifdef DIN2_PULLUP
#undef DIN2_PULLUP
#endif
#ifdef DIN2_ISR
#undef DIN2_ISR
#endif
#ifdef DIN3_BIT
#undef DIN3_BIT
#endif
#ifdef DIN3_PORT
#undef DIN3_PORT
#endif
#ifdef DIN3_PULLUP
#undef DIN3_PULLUP
#endif
#ifdef DIN3_ISR
#undef DIN3_ISR
#endif
#ifdef DIN4_BIT
#undef DIN4_BIT
#endif
#ifdef DIN4_PORT
#undef DIN4_PORT
#endif
#ifdef DIN4_PULLUP
#undef DIN4_PULLUP
#endif
#ifdef DIN4_ISR
#undef DIN4_ISR
#endif
#ifdef DIN5_BIT
#undef DIN5_BIT
#endif
#ifdef DIN5_PORT
#undef DIN5_PORT
#endif
#ifdef DIN5_PULLUP
#undef DIN5_PULLUP
#endif
#ifdef DIN5_ISR
#undef DIN5_ISR
#endif
#ifdef DIN6_BIT
#undef DIN6_BIT
#endif
#ifdef DIN6_PORT
#undef DIN6_PORT
#endif
#ifdef DIN6_PULLUP
#undef DIN6_PULLUP
#endif
#ifdef DIN6_ISR
#undef DIN6_ISR
#endif
#ifdef DIN7_BIT
#undef DIN7_BIT
#endif
#ifdef DIN7_PORT
#undef DIN7_PORT
#endif
#ifdef DIN7_PULLUP
#undef DIN7_PULLUP
#endif
#ifdef DIN7_ISR
#undef DIN7_ISR
#endif
#ifdef DIN8_BIT
#undef DIN8_BIT
#endif
#ifdef DIN8_PORT
#undef DIN8_PORT
#endif
#ifdef DIN8_PULLUP
#undef DIN8_PULLUP
#endif
#ifdef DIN9_BIT
#undef DIN9_BIT
#endif
#ifdef DIN9_PORT
#undef DIN9_PORT
#endif
#ifdef DIN9_PULLUP
#undef DIN9_PULLUP
#endif
#ifdef DIN10_BIT
#undef DIN10_BIT
#endif
#define DIN10_BIT 2
#ifdef DIN10_PORT
#undef DIN10_PORT
#endif
#define DIN10_PORT A
#ifdef DIN10_PULLUP
#undef DIN10_PULLUP
#endif
#ifdef DIN11_BIT
#undef DIN11_BIT
#endif
#define DIN11_BIT 10
#ifdef DIN11_PORT
#undef DIN11_PORT
#endif
#define DIN11_PORT B
#ifdef DIN11_PULLUP
#undef DIN11_PULLUP
#endif
#ifdef DIN12_BIT
#undef DIN12_BIT
#endif
#ifdef DIN12_PORT
#undef DIN12_PORT
#endif
#ifdef DIN12_PULLUP
#undef DIN12_PULLUP
#endif
#ifdef DIN13_BIT
#undef DIN13_BIT
#endif
#ifdef DIN13_PORT
#undef DIN13_PORT
#endif
#ifdef DIN13_PULLUP
#undef DIN13_PULLUP
#endif
#ifdef DIN14_BIT
#undef DIN14_BIT
#endif
#ifdef DIN14_PORT
#undef DIN14_PORT
#endif
#ifdef DIN14_PULLUP
#undef DIN14_PULLUP
#endif
#ifdef DIN15_BIT
#undef DIN15_BIT
#endif
#ifdef DIN15_PORT
#undef DIN15_PORT
#endif
#ifdef DIN15_PULLUP
#undef DIN15_PULLUP
#endif
#ifdef DIN16_BIT
#undef DIN16_BIT
#endif
#ifdef DIN16_PORT
#undef DIN16_PORT
#endif
#ifdef DIN16_PULLUP
#undef DIN16_PULLUP
#endif
#ifdef DIN17_BIT
#undef DIN17_BIT
#endif
#ifdef DIN17_PORT
#undef DIN17_PORT
#endif
#ifdef DIN17_PULLUP
#undef DIN17_PULLUP
#endif
#ifdef DIN18_BIT
#undef DIN18_BIT
#endif
#ifdef DIN18_PORT
#undef DIN18_PORT
#endif
#ifdef DIN18_PULLUP
#undef DIN18_PULLUP
#endif
#ifdef DIN19_BIT
#undef DIN19_BIT
#endif
#ifdef DIN19_PORT
#undef DIN19_PORT
#endif
#ifdef DIN19_PULLUP
#undef DIN19_PULLUP
#endif
#ifdef DIN20_BIT
#undef DIN20_BIT
#endif
#ifdef DIN20_PORT
#undef DIN20_PORT
#endif
#ifdef DIN20_PULLUP
#undef DIN20_PULLUP
#endif
#ifdef DIN21_BIT
#undef DIN21_BIT
#endif
#ifdef DIN21_PORT
#undef DIN21_PORT
#endif
#ifdef DIN21_PULLUP
#undef DIN21_PULLUP
#endif
#ifdef DIN22_BIT
#undef DIN22_BIT
#endif
#ifdef DIN22_PORT
#undef DIN22_PORT
#endif
#ifdef DIN22_PULLUP
#undef DIN22_PULLUP
#endif
#ifdef DIN23_BIT
#undef DIN23_BIT
#endif
#ifdef DIN23_PORT
#undef DIN23_PORT
#endif
#ifdef DIN23_PULLUP
#undef DIN23_PULLUP
#endif
#ifdef DIN24_BIT
#undef DIN24_BIT
#endif
#ifdef DIN24_PORT
#undef DIN24_PORT
#endif
#ifdef DIN24_PULLUP
#undef DIN24_PULLUP
#endif
#ifdef DIN25_BIT
#undef DIN25_BIT
#endif
#ifdef DIN25_PORT
#undef DIN25_PORT
#endif
#ifdef DIN25_PULLUP
#undef DIN25_PULLUP
#endif
#ifdef DIN26_BIT
#undef DIN26_BIT
#endif
#ifdef DIN26_PORT
#undef DIN26_PORT
#endif
#ifdef DIN26_PULLUP
#undef DIN26_PULLUP
#endif
#ifdef DIN27_BIT
#undef DIN27_BIT
#endif
#ifdef DIN27_PORT
#undef DIN27_PORT
#endif
#ifdef DIN27_PULLUP
#undef DIN27_PULLUP
#endif
#ifdef DIN28_BIT
#undef DIN28_BIT
#endif
#ifdef DIN28_PORT
#undef DIN28_PORT
#endif
#ifdef DIN28_PULLUP
#undef DIN28_PULLUP
#endif
#ifdef DIN29_BIT
#undef DIN29_BIT
#endif
#ifdef DIN29_PORT
#undef DIN29_PORT
#endif
#ifdef DIN29_PULLUP
#undef DIN29_PULLUP
#endif
#ifdef DIN30_BIT
#undef DIN30_BIT
#endif
#ifdef DIN30_PORT
#undef DIN30_PORT
#endif
#ifdef DIN30_PULLUP
#undef DIN30_PULLUP
#endif
#ifdef DIN31_BIT
#undef DIN31_BIT
#endif
#ifdef DIN31_PORT
#undef DIN31_PORT
#endif
#ifdef DIN31_PULLUP
#undef DIN31_PULLUP
#endif
#ifdef TX_BIT
#undef TX_BIT
#endif
#define TX_BIT 9
#ifdef TX_PORT
#undef TX_PORT
#endif
#define TX_PORT A
#ifdef TX_IO_OFFSET
#undef TX_IO_OFFSET
#endif
#ifdef RX_BIT
#undef RX_BIT
#endif
#define RX_BIT 10
#ifdef RX_PORT
#undef RX_PORT
#endif
#define RX_PORT A
#ifdef USB_DM_BIT
#undef USB_DM_BIT
#endif
#ifdef USB_DM_PORT
#undef USB_DM_PORT
#endif
#ifdef USB_DM_IO_OFFSET
#undef USB_DM_IO_OFFSET
#endif
#ifdef USB_DP_BIT
#undef USB_DP_BIT
#endif
#ifdef USB_DP_PORT
#undef USB_DP_PORT
#endif
#ifdef USB_DP_IO_OFFSET
#undef USB_DP_IO_OFFSET
#endif
#ifdef SPI_CLK_BIT
#undef SPI_CLK_BIT
#endif
#ifdef SPI_CLK_PORT
#undef SPI_CLK_PORT
#endif
#ifdef SPI_CLK_IO_OFFSET
#undef SPI_CLK_IO_OFFSET
#endif
#ifdef SPI_SDI_BIT
#undef SPI_SDI_BIT
#endif
#ifdef SPI_SDI_PORT
#undef SPI_SDI_PORT
#endif
#ifdef SPI_SDO_BIT
#undef SPI_SDO_BIT
#endif
#ifdef SPI_SDO_PORT
#undef SPI_SDO_PORT
#endif
#ifdef SPI_SDO_IO_OFFSET
#undef SPI_SDO_IO_OFFSET
#endif
#ifdef SPI_CS_BIT
#undef SPI_CS_BIT
#endif
#ifdef SPI_CS_PORT
#undef SPI_CS_PORT
#endif
#ifdef SPI_CS_IO_OFFSET
#undef SPI_CS_IO_OFFSET
#endif
#ifdef I2C_SCL_BIT
#undef I2C_SCL_BIT
#endif
#ifdef I2C_SCL_PORT
#undef I2C_SCL_PORT
#endif
#ifdef I2C_SDA_BIT
#undef I2C_SDA_BIT
#endif
#ifdef I2C_SDA_PORT
#undef I2C_SDA_PORT
#endif

#ifdef __cplusplus
}
#endif
#endif


#ifndef CNC_HAL_OVERRIDES_H
#define CNC_HAL_OVERRIDES_H
#ifdef __cplusplus
extern "C"
{
#endif
#ifdef ENABLE_COOLANT
#undef ENABLE_COOLANT
#endif
#define ENABLE_COOLANT
#ifdef ENABLE_WIFI
#undef ENABLE_WIFI
#endif
#ifdef ENABLE_BLUETOOTH
#undef ENABLE_BLUETOOTH
#endif
#ifdef ENABLE_SKEW_COMPENSATION
#undef ENABLE_SKEW_COMPENSATION
#endif
#ifdef SKEW_COMPENSATION_XY_ONLY
#undef SKEW_COMPENSATION_XY_ONLY
#endif
#ifdef ENABLE_LINACT_PLANNER
#undef ENABLE_LINACT_PLANNER
#endif
#ifdef ENABLE_LINACT_COLD_START
#undef ENABLE_LINACT_COLD_START
#endif
#ifdef ENABLE_BACKLASH_COMPENSATION
#undef ENABLE_BACKLASH_COMPENSATION
#endif
#ifdef BRESENHAM_16BIT
#undef BRESENHAM_16BIT
#endif
#define BRESENHAM_16BIT
#ifdef ENABLE_EXTRA_SYSTEM_CMDS
#undef ENABLE_EXTRA_SYSTEM_CMDS
#endif
#define ENABLE_EXTRA_SYSTEM_CMDS
#ifdef RAM_ONLY_SETTINGS
#undef RAM_ONLY_SETTINGS
#endif
#ifdef STATUS_AUTOMATIC_REPORT_INTERVAL_ENABLE
#undef STATUS_AUTOMATIC_REPORT_INTERVAL_ENABLE
#endif
#ifdef DISABLE_ALL_CONTROLS
#undef DISABLE_ALL_CONTROLS
#endif
#define DISABLE_ALL_CONTROLS
#ifdef ESTOP_PULLUP_ENABLE
#undef ESTOP_PULLUP_ENABLE
#endif
#ifdef SAFETY_DOOR_PULLUP_ENABLE
#undef SAFETY_DOOR_PULLUP_ENABLE
#endif
#ifdef FHOLD_PULLUP_ENABLE
#undef FHOLD_PULLUP_ENABLE
#endif
#ifdef CS_RES_PULLUP_ENABLE
#undef CS_RES_PULLUP_ENABLE
#endif
#ifdef DISABLE_ALL_LIMITS
#undef DISABLE_ALL_LIMITS
#endif
#ifdef LIMIT_X_DISABLE
#undef LIMIT_X_DISABLE
#endif
#ifdef LIMIT_Y_DISABLE
#undef LIMIT_Y_DISABLE
#endif
#ifdef LIMIT_Z_DISABLE
#undef LIMIT_Z_DISABLE
#endif
#define LIMIT_Z_DISABLE
#ifdef LIMIT_X2_DISABLE
#undef LIMIT_X2_DISABLE
#endif
#define LIMIT_X2_DISABLE
#ifdef LIMIT_Y2_DISABLE
#undef LIMIT_Y2_DISABLE
#endif
#ifdef LIMIT_Z2_DISABLE
#undef LIMIT_Z2_DISABLE
#endif
#define LIMIT_Z2_DISABLE
#ifdef LIMIT_X_PULLUP_ENABLE
#undef LIMIT_X_PULLUP_ENABLE
#endif
#define LIMIT_X_PULLUP_ENABLE
#ifdef LIMIT_Y_PULLUP_ENABLE
#undef LIMIT_Y_PULLUP_ENABLE
#endif
#define LIMIT_Y_PULLUP_ENABLE
#ifdef LIMIT_Z_PULLUP_ENABLE
#undef LIMIT_Z_PULLUP_ENABLE
#endif
#define LIMIT_Z_PULLUP_ENABLE
#ifdef LIMIT_X2_PULLUP_ENABLE
#undef LIMIT_X2_PULLUP_ENABLE
#endif
#define LIMIT_X2_PULLUP_ENABLE
#ifdef LIMIT_Y2_PULLUP_ENABLE
#undef LIMIT_Y2_PULLUP_ENABLE
#endif
#define LIMIT_Y2_PULLUP_ENABLE
#ifdef LIMIT_Z2_PULLUP_ENABLE
#undef LIMIT_Z2_PULLUP_ENABLE
#endif
#define LIMIT_Z2_PULLUP_ENABLE
#ifdef DISABLE_PROBE
#undef DISABLE_PROBE
#endif
#define DISABLE_PROBE
#ifdef PROBE_PULLUP_ENABLE
#undef PROBE_PULLUP_ENABLE
#endif
#ifdef ENABLE_DUAL_DRIVE_AXIS
#undef ENABLE_DUAL_DRIVE_AXIS
#endif
#define ENABLE_DUAL_DRIVE_AXIS
#ifdef DUAL_DRIVE0_AXIS
#undef DUAL_DRIVE0_AXIS
#endif
#define DUAL_DRIVE0_AXIS Y
#ifdef DUAL_DRIVE0_STEPPER
#undef DUAL_DRIVE0_STEPPER
#endif
#define DUAL_DRIVE0_STEPPER 3
#ifdef DUAL_DRIVE0_ENABLE_SELFSQUARING
#undef DUAL_DRIVE0_ENABLE_SELFSQUARING
#endif
#ifdef DUAL_DRIVE1_AXIS
#undef DUAL_DRIVE1_AXIS
#endif
#ifdef DUAL_DRIVE1_STEPPER
#undef DUAL_DRIVE1_STEPPER
#endif
#ifdef DUAL_DRIVE1_ENABLE_SELFSQUARING
#undef DUAL_DRIVE1_ENABLE_SELFSQUARING
#endif
#ifdef TOOL1
#undef TOOL1
#endif
#define TOOL1 spindle_pwm
#ifdef SPINDLE_PWM
#undef SPINDLE_PWM
#endif
#define SPINDLE_PWM PWM0
#ifdef SPINDLE_PWM_DIR
#undef SPINDLE_PWM_DIR
#endif
#define SPINDLE_PWM_DIR DOUT0
#ifdef SPINDLE_PWM_COOLANT_FLOOD
#undef SPINDLE_PWM_COOLANT_FLOOD
#endif
#define SPINDLE_PWM_COOLANT_FLOOD DOUT0
#ifdef SPINDLE_PWM_COOLANT_MIST
#undef SPINDLE_PWM_COOLANT_MIST
#endif
#define SPINDLE_PWM_COOLANT_MIST DOUT5
#ifdef ENABLE_LASER_PPI
#undef ENABLE_LASER_PPI
#endif
#define ENABLE_LASER_PPI
#ifdef LASER_PPI
#undef LASER_PPI
#endif
#define LASER_PPI PWM0
#ifdef INVERT_LASER_PPI_LOGIC
#undef INVERT_LASER_PPI_LOGIC
#endif
#define INVERT_LASER_PPI_LOGIC
#ifdef SOFT_SPI_CLK
#undef SOFT_SPI_CLK
#endif
#define SOFT_SPI_CLK DOUT0
#ifdef SOFT_SPI_SDO
#undef SOFT_SPI_SDO
#endif
#define SOFT_SPI_SDO DOUT0
#ifdef SOFT_SPI_SDI
#undef SOFT_SPI_SDI
#endif
#define SOFT_SPI_SDI DIN0
#ifdef STEPPER0_HAS_TMC
#undef STEPPER0_HAS_TMC
#endif
#define STEPPER0_HAS_TMC
#ifdef STEPPER0_DRIVER_TYPE
#undef STEPPER0_DRIVER_TYPE
#endif
#define STEPPER0_DRIVER_TYPE 2209
#ifdef STEPPER0_TMC_INTERFACE
#undef STEPPER0_TMC_INTERFACE
#endif
#define STEPPER0_TMC_INTERFACE TMC_UART
#ifdef STEPPER0_UART_TX
#undef STEPPER0_UART_TX
#endif
#define STEPPER0_UART_TX DOUT10
#ifdef STEPPER0_UART_RX
#undef STEPPER0_UART_RX
#endif
#define STEPPER0_UART_RX DIN10
#define STEPPER0_UART_ADDRESS 2
#ifdef STEPPER0_SPI_CS
#undef STEPPER0_SPI_CS
#endif

#ifdef STEPPER0_CURRENT_MA
#undef STEPPER0_CURRENT_MA
#endif
#define STEPPER0_CURRENT_MA 800
#ifdef STEPPER0_MICROSTEP
#undef STEPPER0_MICROSTEP
#endif
#define STEPPER0_MICROSTEP 16
#ifdef STEPPER0_RSENSE
#undef STEPPER0_RSENSE
#endif
#define STEPPER0_RSENSE 0.11
#ifdef STEPPER0_HOLD_MULT
#undef STEPPER0_HOLD_MULT
#endif
#define STEPPER0_HOLD_MULT 0.7
#ifdef STEPPER0_STEALTHCHOP_THERSHOLD
#undef STEPPER0_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER0_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER0_ENABLE_INTERPLATION
#undef STEPPER0_ENABLE_INTERPLATION
#endif
#define STEPPER0_ENABLE_INTERPLATION false
#ifdef STEPPER0_STALL_SENSITIVITY
#undef STEPPER0_STALL_SENSITIVITY
#endif
#define STEPPER0_STALL_SENSITIVITY 10

#ifdef STEPPER1_HAS_TMC
#undef STEPPER1_HAS_TMC
#endif
#define STEPPER1_HAS_TMC
#ifdef STEPPER1_DRIVER_TYPE
#undef STEPPER1_DRIVER_TYPE
#endif
#define STEPPER1_DRIVER_TYPE 2209
#ifdef STEPPER1_TMC_INTERFACE
#undef STEPPER1_TMC_INTERFACE
#endif
#define STEPPER1_TMC_INTERFACE TMC_UART
#ifdef STEPPER1_UART_TX
#undef STEPPER1_UART_TX
#endif
#define STEPPER1_UART_TX DOUT10
#ifdef STEPPER1_UART_RX
#undef STEPPER1_UART_RX
#endif
#define STEPPER1_UART_RX DIN10
#define STEPPER1_UART_ADDRESS 0

#ifdef STEPPER1_SPI_CS
#undef STEPPER1_SPI_CS
#endif
#define STEPPER1_SPI_CS DOUT21
#ifdef STEPPER1_CURRENT_MA
#undef STEPPER1_CURRENT_MA
#endif
#define STEPPER1_CURRENT_MA 800
#ifdef STEPPER1_MICROSTEP
#undef STEPPER1_MICROSTEP
#endif
#define STEPPER1_MICROSTEP 16
#ifdef STEPPER1_RSENSE
#undef STEPPER1_RSENSE
#endif
#define STEPPER1_RSENSE 0.11
#ifdef STEPPER1_HOLD_MULT
#undef STEPPER1_HOLD_MULT
#endif
#define STEPPER1_HOLD_MULT 0.7
#ifdef STEPPER1_STEALTHCHOP_THERSHOLD
#undef STEPPER1_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER1_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER1_ENABLE_INTERPLATION
#undef STEPPER1_ENABLE_INTERPLATION
#endif
#define STEPPER1_ENABLE_INTERPLATION false
#ifdef STEPPER1_STALL_SENSITIVITY
#undef STEPPER1_STALL_SENSITIVITY
#endif
#define STEPPER1_STALL_SENSITIVITY 10
#ifdef STEPPER2_HAS_TMC
#undef STEPPER2_HAS_TMC
#endif
#define STEPPER2_HAS_TMC
#ifdef STEPPER2_DRIVER_TYPE
#undef STEPPER2_DRIVER_TYPE
#endif
#define STEPPER2_DRIVER_TYPE 2209
#ifdef STEPPER2_TMC_INTERFACE
#undef STEPPER2_TMC_INTERFACE
#endif
#define STEPPER2_TMC_INTERFACE TMC_UART
#ifdef STEPPER2_UART_TX
#undef STEPPER2_UART_TX
#endif
#define STEPPER2_UART_TX DOUT10
#ifdef STEPPER2_UART_RX
#undef STEPPER2_UART_RX
#endif
#define STEPPER2_UART_RX DIN10
#define STEPPER2_UART_ADDRESS 1

#ifdef STEPPER2_SPI_CS
#undef STEPPER2_SPI_CS
#endif
#define STEPPER2_SPI_CS DOUT22
#ifdef STEPPER2_CURRENT_MA
#undef STEPPER2_CURRENT_MA
#endif
#define STEPPER2_CURRENT_MA 800
#ifdef STEPPER2_MICROSTEP
#undef STEPPER2_MICROSTEP
#endif
#define STEPPER2_MICROSTEP 16
#ifdef STEPPER2_RSENSE
#undef STEPPER2_RSENSE
#endif
#define STEPPER2_RSENSE 0.11
#ifdef STEPPER2_HOLD_MULT
#undef STEPPER2_HOLD_MULT
#endif
#define STEPPER2_HOLD_MULT 0.7
#ifdef STEPPER2_STEALTHCHOP_THERSHOLD
#undef STEPPER2_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER2_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER2_ENABLE_INTERPLATION
#undef STEPPER2_ENABLE_INTERPLATION
#endif
#define STEPPER2_ENABLE_INTERPLATION false
#ifdef STEPPER2_STALL_SENSITIVITY
#undef STEPPER2_STALL_SENSITIVITY
#endif
#define STEPPER2_STALL_SENSITIVITY 10
#ifdef STEPPER3_HAS_TMC
#undef STEPPER3_HAS_TMC
#endif
#define STEPPER3_HAS_TMC
#ifdef STEPPER3_DRIVER_TYPE
#undef STEPPER3_DRIVER_TYPE
#endif
#define STEPPER3_DRIVER_TYPE 2209
#ifdef STEPPER3_TMC_INTERFACE
#undef STEPPER3_TMC_INTERFACE
#endif
#define STEPPER3_TMC_INTERFACE TMC_UART
#ifdef STEPPER3_UART_TX
#undef STEPPER3_UART_TX
#endif
#define STEPPER3_UART_TX DOUT10
#ifdef STEPPER3_UART_RX
#undef STEPPER3_UART_RX
#endif
#define STEPPER3_UART_RX DIN10
#define STEPPER3_UART_ADDRESS 3

#ifdef STEPPER3_SPI_CS
#undef STEPPER3_SPI_CS
#endif
#define STEPPER3_SPI_CS DOUT23
#ifdef STEPPER3_CURRENT_MA
#undef STEPPER3_CURRENT_MA
#endif
#define STEPPER3_CURRENT_MA 800
#ifdef STEPPER3_MICROSTEP
#undef STEPPER3_MICROSTEP
#endif
#define STEPPER3_MICROSTEP 16
#ifdef STEPPER3_RSENSE
#undef STEPPER3_RSENSE
#endif
#define STEPPER3_RSENSE 0.11
#ifdef STEPPER3_HOLD_MULT
#undef STEPPER3_HOLD_MULT
#endif
#define STEPPER3_HOLD_MULT 0.7
#ifdef STEPPER3_STEALTHCHOP_THERSHOLD
#undef STEPPER3_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER3_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER3_ENABLE_INTERPLATION
#undef STEPPER3_ENABLE_INTERPLATION
#endif
#define STEPPER3_ENABLE_INTERPLATION false
#ifdef STEPPER3_STALL_SENSITIVITY
#undef STEPPER3_STALL_SENSITIVITY
#endif
#define STEPPER3_STALL_SENSITIVITY 10
#ifdef STEPPER4_HAS_TMC
#undef STEPPER4_HAS_TMC
#endif
#define STEPPER4_HAS_TMC
#ifdef STEPPER4_DRIVER_TYPE
#undef STEPPER4_DRIVER_TYPE
#endif
#define STEPPER4_DRIVER_TYPE 2209
#ifdef STEPPER4_TMC_INTERFACE
#undef STEPPER4_TMC_INTERFACE
#endif
#define STEPPER4_TMC_INTERFACE TMC_UART
#ifdef STEPPER4_UART_TX
#undef STEPPER4_UART_TX
#endif
#define STEPPER4_UART_TX DOUT11
#ifdef STEPPER4_UART_RX
#undef STEPPER4_UART_RX
#endif
#define STEPPER4_UART_RX DIN11
#define STEPPER4_UART_ADDRESS 0

#ifdef STEPPER4_SPI_CS
#undef STEPPER4_SPI_CS
#endif
#define STEPPER4_SPI_CS DOUT24
#ifdef STEPPER4_CURRENT_MA
#undef STEPPER4_CURRENT_MA
#endif
#define STEPPER4_CURRENT_MA 800
#ifdef STEPPER4_MICROSTEP
#undef STEPPER4_MICROSTEP
#endif
#define STEPPER4_MICROSTEP 16
#ifdef STEPPER4_RSENSE
#undef STEPPER4_RSENSE
#endif
#define STEPPER4_RSENSE 0.11
#ifdef STEPPER4_HOLD_MULT
#undef STEPPER4_HOLD_MULT
#endif
#define STEPPER4_HOLD_MULT 0.7
#ifdef STEPPER4_STEALTHCHOP_THERSHOLD
#undef STEPPER4_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER4_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER4_ENABLE_INTERPLATION
#undef STEPPER4_ENABLE_INTERPLATION
#endif
#define STEPPER4_ENABLE_INTERPLATION false
#ifdef STEPPER4_STALL_SENSITIVITY
#undef STEPPER4_STALL_SENSITIVITY
#endif
#define STEPPER4_STALL_SENSITIVITY 10
#ifdef STEPPER5_HAS_TMC
#undef STEPPER5_HAS_TMC
#endif
#define STEPPER5_HAS_TMC
#ifdef STEPPER5_DRIVER_TYPE
#undef STEPPER5_DRIVER_TYPE
#endif
#define STEPPER5_DRIVER_TYPE 2209
#ifdef STEPPER5_TMC_INTERFACE
#undef STEPPER5_TMC_INTERFACE
#endif
#define STEPPER5_TMC_INTERFACE TMC_UART
#ifdef STEPPER5_UART_TX
#undef STEPPER5_UART_TX
#endif
#define STEPPER5_UART_TX DOUT11
#ifdef STEPPER5_UART_RX
#undef STEPPER5_UART_RX
#endif
#define STEPPER5_UART_RX DIN11
#define STEPPER5_UART_ADDRESS 2

#ifdef STEPPER5_SPI_CS
#undef STEPPER5_SPI_CS
#endif
#define STEPPER5_SPI_CS DOUT25
#ifdef STEPPER5_CURRENT_MA
#undef STEPPER5_CURRENT_MA
#endif
#define STEPPER5_CURRENT_MA 800
#ifdef STEPPER5_MICROSTEP
#undef STEPPER5_MICROSTEP
#endif
#define STEPPER5_MICROSTEP 16
#ifdef STEPPER5_RSENSE
#undef STEPPER5_RSENSE
#endif
#define STEPPER5_RSENSE 0.11
#ifdef STEPPER5_HOLD_MULT
#undef STEPPER5_HOLD_MULT
#endif
#define STEPPER5_HOLD_MULT 0.7
#ifdef STEPPER5_STEALTHCHOP_THERSHOLD
#undef STEPPER5_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER5_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER5_ENABLE_INTERPLATION
#undef STEPPER5_ENABLE_INTERPLATION
#endif
#define STEPPER5_ENABLE_INTERPLATION false
#ifdef STEPPER5_STALL_SENSITIVITY
#undef STEPPER5_STALL_SENSITIVITY
#endif
#define STEPPER5_STALL_SENSITIVITY 10
#ifdef STEPPER6_HAS_TMC
#undef STEPPER6_HAS_TMC
#endif
#ifdef STEPPER6_DRIVER_TYPE
#undef STEPPER6_DRIVER_TYPE
#endif
#define STEPPER6_DRIVER_TYPE 2209
#ifdef STEPPER6_TMC_INTERFACE
#undef STEPPER6_TMC_INTERFACE
#endif
#define STEPPER6_TMC_INTERFACE TMC_UART
#ifdef STEPPER6_UART_TX
#undef STEPPER6_UART_TX
#endif
#define STEPPER6_UART_TX DOUT11
#ifdef STEPPER6_UART_RX
#undef STEPPER6_UART_RX
#endif
#define STEPPER6_UART_RX DIN11
#define STEPPER6_UART_ADDRESS 1

#ifdef STEPPER6_SPI_CS
#undef STEPPER6_SPI_CS
#endif
#define STEPPER6_SPI_CS DOUT26
#ifdef STEPPER6_CURRENT_MA
#undef STEPPER6_CURRENT_MA
#endif
#define STEPPER6_CURRENT_MA 800
#ifdef STEPPER6_MICROSTEP
#undef STEPPER6_MICROSTEP
#endif
#define STEPPER6_MICROSTEP 16
#ifdef STEPPER6_RSENSE
#undef STEPPER6_RSENSE
#endif
#define STEPPER6_RSENSE 0.11
#ifdef STEPPER6_HOLD_MULT
#undef STEPPER6_HOLD_MULT
#endif
#define STEPPER6_HOLD_MULT 0.7
#ifdef STEPPER6_STEALTHCHOP_THERSHOLD
#undef STEPPER6_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER6_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER6_ENABLE_INTERPLATION
#undef STEPPER6_ENABLE_INTERPLATION
#endif
#define STEPPER6_ENABLE_INTERPLATION false
#ifdef STEPPER6_STALL_SENSITIVITY
#undef STEPPER6_STALL_SENSITIVITY
#endif
#define STEPPER6_STALL_SENSITIVITY 10
#ifdef STEPPER7_HAS_TMC
#undef STEPPER7_HAS_TMC
#endif
#ifdef STEPPER7_DRIVER_TYPE
#undef STEPPER7_DRIVER_TYPE
#endif
#define STEPPER7_DRIVER_TYPE 2209
#ifdef STEPPER7_TMC_INTERFACE
#undef STEPPER7_TMC_INTERFACE
#endif
#define STEPPER7_TMC_INTERFACE TMC_UART
#ifdef STEPPER7_UART_TX
#undef STEPPER7_UART_TX
#endif
#define STEPPER7_UART_TX DOUT11
#ifdef STEPPER7_UART_RX
#undef STEPPER7_UART_RX
#endif
#define STEPPER7_UART_RX DIN11
#define STEPPER7_UART_ADDRESS 3

#ifdef STEPPER7_SPI_CS
#undef STEPPER7_SPI_CS
#endif
#define STEPPER7_SPI_CS DOUT27
#ifdef STEPPER7_CURRENT_MA
#undef STEPPER7_CURRENT_MA
#endif
#define STEPPER7_CURRENT_MA 800
#ifdef STEPPER7_MICROSTEP
#undef STEPPER7_MICROSTEP
#endif
#define STEPPER7_MICROSTEP 16
#ifdef STEPPER7_RSENSE
#undef STEPPER7_RSENSE
#endif
#define STEPPER7_RSENSE 0.11
#ifdef STEPPER7_HOLD_MULT
#undef STEPPER7_HOLD_MULT
#endif
#define STEPPER7_HOLD_MULT 0.7
#ifdef STEPPER7_STEALTHCHOP_THERSHOLD
#undef STEPPER7_STEALTHCHOP_THERSHOLD
#endif
#define STEPPER7_STEALTHCHOP_THERSHOLD 0
#ifdef STEPPER7_ENABLE_INTERPLATION
#undef STEPPER7_ENABLE_INTERPLATION
#endif
#define STEPPER7_ENABLE_INTERPLATION false
#ifdef STEPPER7_STALL_SENSITIVITY
#undef STEPPER7_STALL_SENSITIVITY
#endif
#define STEPPER7_STALL_SENSITIVITY 10
#ifdef ENABLE_MAIN_LOOP_MODULES
#undef ENABLE_MAIN_LOOP_MODULES
#endif
#define ENABLE_MAIN_LOOP_MODULES
#ifdef ENABLE_IO_MODULES
#undef ENABLE_IO_MODULES
#endif
#define ENABLE_IO_MODULES
#ifdef ENABLE_PARSER_MODULES
#undef ENABLE_PARSER_MODULES
#endif
#define ENABLE_PARSER_MODULES
#ifdef ENABLE_MOTION_CONTROL_MODULES
#undef ENABLE_MOTION_CONTROL_MODULES
#endif
#define ENABLE_MOTION_CONTROL_MODULES
#ifdef ENABLE_SETTINGS_MODULES
#undef ENABLE_SETTINGS_MODULES
#endif
#define ENABLE_SETTINGS_MODULES
#ifdef ENABLE_RT_SYNC_MOTIONS
#undef ENABLE_RT_SYNC_MOTIONS
#endif

#define LOAD_MODULES_OVERRIDE() ({LOAD_MODULE(m17_m18);LOAD_MODULE(m42);})

#ifdef __cplusplus
}
#endif
#endif

serial:

» $I
« [VER: uCNC 1.7.4 - Kirizu-laser]
[OPT:C2,16B,DSS3_500,PPI,DC,DP,XC,30,128]
ok
ok
» $P
« [SO:1:0]
[SO:2:0]
[SO:3:0]
[SO:4:0]
[SO:7:0]
[SO:8:0]
[SO:9:0]
[SO:10:1]
[SO:11:0]
[SO:12:1]
[SO:15:0]
[SO:16:0]
[SO:17:0]
[SO:18:0]
[SO:19:0]
[SO:20:0]
[SO:21:0]
[SO:22:0]
[SO:23:0]
[P:24:0]
[P:25:0]
[P:26:0]
[O:47:0]
[O:48:0]
[O:49:0]
[O:50:0]
[O:51:0]
[O:52:0]
[O:53:0]
[O:54:0]
[O:55:0]
[O:57:1]
[O:58:1]
[SI:100:0]
[SI:101:0]
[SI:104:0]
[A:114:3]
[A:115:255]
[A:116:255]
[A:117:255]
[I:130:1]
[I:140:1]
[I:141:1]
[STEPS:0,0]
[RUNTIME:154398]
ok
ok
bwenquan commented 11 months ago

The board and TMC2209 I have tried on the klipper firmware, it works fine. This is klipper config:

[include mainsail.cfg]
[virtual_sdcard]
path: /home/kirizu/printer_data/gcodes
on_error_gcode: CANCEL_PRINT

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

[printer]
kinematics: cartesian
max_velocity: 60
max_accel: 2000
max_z_accel: 30
max_z_velocity: 20

[safe_z_home]
home_xy_position: 0,0
z_hop: 5

[probe]
pin: PC13
z_offset: 6

[output_pin TOOL]
pin: !PB1       # use your fan's pin number
pwm: True
hardware_pwm: True
cycle_time: 0.00001
shutdown_value: 0
maximum_mcu_duration: 5
# Default: 0 (disabled)
# Amount of time in which the host has to acknowledge
# a non-shutdown output value.
# Suggested value is around 5 seconds.
# Use a value that does not burn up your stock.
# Please note that during homing, your tool
# needs to be in default speed.

[gcode_macro M3]
gcode:
    {% set S = params.S|default(0.0)|float %}
    SET_PIN PIN=TOOL VALUE={S / 255.0}

[gcode_macro M4]
gcode:
    {% set S = params.S|default(0.0)|float %}
    SET_PIN PIN=TOOL VALUE={S / 255.0}

[gcode_macro M5]
gcode:
    SET_PIN PIN=TOOL VALUE=0

[stepper_x]
step_pin: PB4
dir_pin: !PB5
enable_pin: !PB7
rotation_distance: 40
homing_speed: 20
microsteps: 16
full_steps_per_rotation: 200
endstop_pin: tmc2209_stepper_x:virtual_endstop
homing_retract_dist: 0
position_min: 0
position_endstop: 0
position_max: 310

[tmc2209 stepper_x]
uart_pin: PA3
#tx_pin: PA2
interpolate: True
run_current: 0.6
uart_address: 2
diag_pin: ^PB6
sense_resistor: 0.110
stealthchop_threshold: 0
driver_SGTHRS: 23

[stepper_y]
step_pin: PD5
dir_pin: !PD6
enable_pin: !PB3
rotation_distance: 40   
microsteps: 16
full_steps_per_rotation: 200 
endstop_pin: PE5
position_min: 0 
position_endstop: 0 
position_max: 312   
homing_speed: 40
homing_retract_dist: 5.0
homing_retract_speed: 20
second_homing_speed: 20 

[tmc2209 stepper_y]
uart_pin: PA3
#tx_pin: PA2
interpolate: True
run_current: 0.4
hold_current: 0.4
uart_address: 0
diag_pin: ^PD7
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_y1]
step_pin: PD1
dir_pin: !PD2
enable_pin: !PD4
microsteps: 16
rotation_distance: 40
endstop_pin: PE6
full_steps_per_rotation: 200

[tmc2209 stepper_y1]
uart_pin: PA3
#tx_pin: PA2
interpolate: True
run_current: 0.4
hold_current: 0.4
uart_address: 1
diag_pin: ^PD3
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_z]
step_pin: PC11
dir_pin: PC10       
enable_pin: !PD0        
rotation_distance: 8    
microsteps: 16          
full_steps_per_rotation: 200 
endstop_pin: probe:z_virtual_endstop    
position_max: 200       
homing_speed: 5     

[tmc2209 stepper_z]
uart_pin: PA3
#tx_pin: PA2
interpolate: True
run_current: 1
hold_current: 1
uart_address: 3
diag_pin: ^PC12
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_z1]
step_pin: PA11      
dir_pin: PA8            
enable_pin: !PA15           
rotation_distance: 8    
microsteps: 16      
full_steps_per_rotation: 200
endstop_pin: probe:z_virtual_endstop

[tmc2209 stepper_z1]
uart_pin: PB10
#tx_pin: PB11
interpolate: True
run_current: 1
hold_current: 1
uart_address: 0
diag_pin: ^PA12
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_z2]
step_pin: PC7
dir_pin: !PC6       
enable_pin: !PC9            
rotation_distance: 8        
microsteps: 16              
full_steps_per_rotation: 200 
endstop_pin: probe:z_virtual_endstop            

[tmc2209 stepper_z2]
uart_pin: PB10
#tx_pin: PB11
interpolate: True
run_current: 1
hold_current: 1
uart_address: 2
diag_pin: ^PC8
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_z3]
step_pin: PD10              
dir_pin: !PD9               
enable_pin: !PD12           
rotation_distance: 8        
microsteps: 16              
full_steps_per_rotation: 200 
endstop_pin: probe:z_virtual_endstop            

[tmc2209 stepper_z3]
uart_pin: PB10
#tx_pin: PB11
interpolate: True
run_current: 1
hold_current: 1
uart_address: 1
diag_pin: ^PD11
sense_resistor: 0.110
stealthchop_threshold: 0

[force_move]
enable_force_move: True

[temperature_sensor mcu_temp]
sensor_type: temperature_mcu

[temperature_sensor host_temp]
sensor_type: temperature_host
Paciente8159 commented 11 months ago

Thanks for the report. I will check it.

Paciente8159 commented 11 months ago

Could you submit the Web Builder Config Setting (json) file?

bwenquan commented 10 months ago

{"VERSION":10780,"MCU":"MCU_STM32F1X","KINEMATIC":"KINEMATIC_CARTESIAN","AXIS_COUNT":3,"TOOL_COUNT":1,"BAUDRATE":115200,"ENABLE_COOLANT":true,"ENABLE_WIFI":null,"ENABLE_BLUETOOTH":null,"ENABLE_SKEW_COMPENSATION":null,"SKEW_COMPENSATION_XY_ONLY":null,"ENABLE_LINACT_PLANNER":null,"ENABLE_LINACT_COLD_START":null,"ENABLE_BACKLASH_COMPENSATION":null,"S_CURVE_ACCELERATION_LEVEL":0,"BRESENHAM_16BIT":true,"ENABLE_EXTRA_SYSTEM_CMDS":true,"RAM_ONLY_SETTINGS":null,"STATUS_AUTOMATIC_REPORT_INTERVAL_ENABLE":null,"BOARD":"BOARD_CUSTOM","BOARD_NAME":"\"Kirizu-laser\"","ITP_TIMER":2,"SERVO_TIMER":3,"ONESHOT_TIMER":1,"STEP0_BIT":4,"STEP0_PORT":"B","STEP0_IO_OFFSET":null,"STEP1_BIT":5,"STEP1_PORT":"D","STEP1_IO_OFFSET":null,"STEP2_BIT":1,"STEP2_PORT":"D","STEP2_IO_OFFSET":null,"STEP3_BIT":11,"STEP3_PORT":"C","STEP3_IO_OFFSET":null,"STEP4_BIT":11,"STEP4_PORT":"A","STEP4_IO_OFFSET":null,"STEP5_BIT":7,"STEP5_PORT":"C","STEP5_IO_OFFSET":null,"STEP6_BIT":10,"STEP6_PORT":"D","STEP6_IO_OFFSET":null,"STEP7_BIT":14,"STEP7_PORT":"D","STEP7_IO_OFFSET":null,"DIR0_BIT":5,"DIR0_PORT":"B","DIR0_IO_OFFSET":null,"DIR1_BIT":6,"DIR1_PORT":"D","DIR1_IO_OFFSET":null,"DIR2_BIT":2,"DIR2_PORT":"D","DIR2_IO_OFFSET":null,"DIR3_BIT":10,"DIR3_PORT":"C","DIR3_IO_OFFSET":null,"DIR4_BIT":8,"DIR4_PORT":"A","DIR4_IO_OFFSET":null,"DIR5_BIT":6,"DIR5_PORT":"C","DIR5_IO_OFFSET":null,"DIR6_BIT":9,"DIR6_PORT":"D","DIR6_IO_OFFSET":null,"DIR7_BIT":13,"DIR7_PORT":"D","DIR7_IO_OFFSET":null,"STEP0_EN_BIT":7,"STEP0_EN_PORT":"B","STEP0_EN_IO_OFFSET":null,"STEP1_EN_BIT":3,"STEP1_EN_PORT":"B","STEP1_EN_IO_OFFSET":null,"STEP2_EN_BIT":4,"STEP2_EN_PORT":"D","STEP2_EN_IO_OFFSET":null,"STEP3_EN_BIT":0,"STEP3_EN_PORT":"D","STEP3_EN_IO_OFFSET":null,"STEP4_EN_BIT":15,"STEP4_EN_PORT":"A","STEP4_EN_IO_OFFSET":null,"STEP5_EN_BIT":9,"STEP5_EN_PORT":"C","STEP5_EN_IO_OFFSET":null,"STEP6_EN_BIT":12,"STEP6_EN_PORT":"D","STEP6_EN_IO_OFFSET":null,"STEP7_EN_BIT":15,"STEP7_EN_PORT":"D","STEP7_EN_IO_OFFSET":null,"PWM0_BIT":1,"PWM0_PORT":"B","PWM0_CHANNEL":4,"PWM0_TIMER":3,"PWM0_MUX":null,"PWM0_IO_OFFSET":null,"PWM1_BIT":0,"PWM1_PORT":"B","PWM1_CHANNEL":3,"PWM1_TIMER":3,"PWM1_MUX":null,"PWM1_IO_OFFSET":null,"PWM2_BIT":null,"PWM2_PORT":null,"PWM2_CHANNEL":null,"PWM2_TIMER":null,"PWM2_MUX":null,"PWM2_IO_OFFSET":null,"PWM3_BIT":null,"PWM3_PORT":null,"PWM3_CHANNEL":null,"PWM3_TIMER":null,"PWM3_MUX":null,"PWM3_IO_OFFSET":null,"PWM4_BIT":null,"PWM4_PORT":null,"PWM4_CHANNEL":null,"PWM4_TIMER":null,"PWM4_MUX":null,"PWM4_IO_OFFSET":null,"PWM5_BIT":null,"PWM5_PORT":null,"PWM5_CHANNEL":null,"PWM5_TIMER":null,"PWM5_MUX":null,"PWM5_IO_OFFSET":null,"PWM6_BIT":null,"PWM6_PORT":null,"PWM6_CHANNEL":null,"PWM6_TIMER":null,"PWM6_MUX":null,"PWM6_IO_OFFSET":null,"PWM7_BIT":null,"PWM7_PORT":null,"PWM7_CHANNEL":null,"PWM7_TIMER":null,"PWM7_MUX":null,"PWM7_IO_OFFSET":null,"PWM8_BIT":null,"PWM8_PORT":null,"PWM8_CHANNEL":null,"PWM8_TIMER":null,"PWM8_MUX":null,"PWM8_IO_OFFSET":null,"PWM9_BIT":null,"PWM9_PORT":null,"PWM9_CHANNEL":null,"PWM9_TIMER":null,"PWM9_MUX":null,"PWM9_IO_OFFSET":null,"PWM10_BIT":null,"PWM10_PORT":null,"PWM10_CHANNEL":null,"PWM10_TIMER":null,"PWM10_MUX":null,"PWM10_IO_OFFSET":null,"PWM11_BIT":null,"PWM11_PORT":null,"PWM11_CHANNEL":null,"PWM11_TIMER":null,"PWM11_MUX":null,"PWM11_IO_OFFSET":null,"PWM12_BIT":null,"PWM12_PORT":null,"PWM12_CHANNEL":null,"PWM12_TIMER":null,"PWM12_MUX":null,"PWM12_IO_OFFSET":null,"PWM13_BIT":null,"PWM13_PORT":null,"PWM13_CHANNEL":null,"PWM13_TIMER":null,"PWM13_MUX":null,"PWM13_IO_OFFSET":null,"PWM14_BIT":null,"PWM14_PORT":null,"PWM14_CHANNEL":null,"PWM14_TIMER":null,"PWM14_MUX":null,"PWM14_IO_OFFSET":null,"PWM15_BIT":null,"PWM15_PORT":null,"PWM15_CHANNEL":null,"PWM15_TIMER":null,"PWM15_MUX":null,"PWM15_IO_OFFSET":null,"SERVO0_BIT":null,"SERVO0_PORT":null,"SERVO0_IO_OFFSET":null,"SERVO1_BIT":null,"SERVO1_PORT":null,"SERVO1_IO_OFFSET":null,"SERVO2_BIT":null,"SERVO2_PORT":null,"SERVO2_IO_OFFSET":null,"SERVO3_BIT":null,"SERVO3_PORT":null,"SERVO3_IO_OFFSET":null,"SERVO4_BIT":null,"SERVO4_PORT":null,"SERVO4_IO_OFFSET":null,"SERVO5_BIT":null,"SERVO5_PORT":null,"SERVO5_IO_OFFSET":null,"DOUT0_BIT":5,"DOUT0_PORT":"C","DOUT0_IO_OFFSET":null,"DOUT1_BIT":4,"DOUT1_PORT":"C","DOUT1_IO_OFFSET":null,"DOUT2_BIT":9,"DOUT2_PORT":"E","DOUT2_IO_OFFSET":null,"DOUT3_BIT":8,"DOUT3_PORT":"E","DOUT3_IO_OFFSET":null,"DOUT4_BIT":7,"DOUT4_PORT":"E","DOUT4_IO_OFFSET":null,"DOUT5_BIT":13,"DOUT5_PORT":"E","DOUT5_IO_OFFSET":null,"DOUT6_BIT":12,"DOUT6_PORT":"E","DOUT6_IO_OFFSET":null,"DOUT7_BIT":11,"DOUT7_PORT":"E","DOUT7_IO_OFFSET":null,"DOUT8_BIT":10,"DOUT8_PORT":"E","DOUT8_IO_OFFSET":null,"DOUT9_BIT":null,"DOUT9_PORT":null,"DOUT9_IO_OFFSET":null,"DOUT10_BIT":2,"DOUT10_PORT":"A","DOUT10_IO_OFFSET":null,"DOUT11_BIT":11,"DOUT11_PORT":"B","DOUT11_IO_OFFSET":null,"DOUT12_BIT":null,"DOUT12_PORT":null,"DOUT12_IO_OFFSET":null,"DOUT13_BIT":null,"DOUT13_PORT":null,"DOUT13_IO_OFFSET":null,"DOUT14_BIT":null,"DOUT14_PORT":null,"DOUT14_IO_OFFSET":null,"DOUT15_BIT":null,"DOUT15_PORT":null,"DOUT15_IO_OFFSET":null,"DOUT16_BIT":null,"DOUT16_PORT":null,"DOUT16_IO_OFFSET":null,"DOUT17_BIT":null,"DOUT17_PORT":null,"DOUT17_IO_OFFSET":null,"DOUT18_BIT":null,"DOUT18_PORT":null,"DOUT18_IO_OFFSET":null,"DOUT19_BIT":null,"DOUT19_PORT":null,"DOUT19_IO_OFFSET":null,"DOUT20_BIT":null,"DOUT20_PORT":null,"DOUT20_IO_OFFSET":null,"DOUT21_BIT":null,"DOUT21_PORT":null,"DOUT21_IO_OFFSET":null,"DOUT22_BIT":null,"DOUT22_PORT":null,"DOUT22_IO_OFFSET":null,"DOUT23_BIT":null,"DOUT23_PORT":null,"DOUT23_IO_OFFSET":null,"DOUT24_BIT":null,"DOUT24_PORT":null,"DOUT24_IO_OFFSET":null,"DOUT25_BIT":null,"DOUT25_PORT":null,"DOUT25_IO_OFFSET":null,"DOUT26_BIT":null,"DOUT26_PORT":null,"DOUT26_IO_OFFSET":null,"DOUT27_BIT":null,"DOUT27_PORT":null,"DOUT27_IO_OFFSET":null,"DOUT28_BIT":null,"DOUT28_PORT":null,"DOUT28_IO_OFFSET":null,"DOUT29_BIT":null,"DOUT29_PORT":null,"DOUT29_IO_OFFSET":null,"DOUT30_BIT":null,"DOUT30_PORT":null,"DOUT30_IO_OFFSET":null,"DOUT31_BIT":null,"DOUT31_PORT":null,"DOUT31_IO_OFFSET":null,"LIMIT_X_BIT":4,"LIMIT_X_PORT":"E","LIMIT_X_PULLUP":true,"LIMIT_X_ISR":null,"LIMIT_Y_BIT":5,"LIMIT_Y_PORT":"E","LIMIT_Y_PULLUP":true,"LIMIT_Y_ISR":null,"LIMIT_Z_BIT":null,"LIMIT_Z_PORT":null,"LIMIT_Z_PULLUP":null,"LIMIT_Z_ISR":null,"LIMIT_X2_BIT":null,"LIMIT_X2_PORT":null,"LIMIT_X2_PULLUP":null,"LIMIT_X2_ISR":null,"LIMIT_Y2_BIT":6,"LIMIT_Y2_PORT":"E","LIMIT_Y2_PULLUP":true,"LIMIT_Y2_ISR":null,"LIMIT_Z2_BIT":null,"LIMIT_Z2_PORT":null,"LIMIT_Z2_PULLUP":null,"LIMIT_Z2_ISR":null,"LIMIT_A_BIT":null,"LIMIT_A_PORT":null,"LIMIT_A_PULLUP":null,"LIMIT_A_ISR":null,"LIMIT_B_BIT":null,"LIMIT_B_PORT":null,"LIMIT_B_PULLUP":null,"LIMIT_B_ISR":null,"LIMIT_C_BIT":null,"LIMIT_C_PORT":null,"LIMIT_C_PULLUP":null,"LIMIT_C_ISR":null,"PROBE_BIT":null,"PROBE_PORT":null,"PROBE_PULLUP":null,"PROBE_ISR":null,"ESTOP_BIT":null,"ESTOP_PORT":null,"ESTOP_PULLUP":null,"ESTOP_ISR":null,"SAFETY_DOOR_BIT":null,"SAFETY_DOOR_PORT":null,"SAFETY_DOOR_PULLUP":null,"SAFETY_DOOR_ISR":null,"FHOLD_BIT":null,"FHOLD_PORT":null,"FHOLD_PULLUP":null,"FHOLD_ISR":null,"CS_RES_BIT":15,"CS_RES_PORT":"C","CS_RES_PULLUP":true,"CS_RES_ISR":true,"ANALOG0_BIT":0,"ANALOG0_PORT":"C","ANALOG0_CHANNEL":10,"ANALOG1_BIT":1,"ANALOG1_PORT":"C","ANALOG1_CHANNEL":11,"ANALOG2_BIT":2,"ANALOG2_PORT":"C","ANALOG2_CHANNEL":12,"ANALOG3_BIT":3,"ANALOG3_PORT":"C","ANALOG3_CHANNEL":13,"ANALOG4_BIT":null,"ANALOG4_PORT":null,"ANALOG4_CHANNEL":null,"ANALOG5_BIT":null,"ANALOG5_PORT":null,"ANALOG5_CHANNEL":null,"ANALOG6_BIT":null,"ANALOG6_PORT":null,"ANALOG6_CHANNEL":null,"ANALOG7_BIT":null,"ANALOG7_PORT":null,"ANALOG7_CHANNEL":null,"ANALOG8_BIT":null,"ANALOG8_PORT":null,"ANALOG8_CHANNEL":null,"ANALOG9_BIT":null,"ANALOG9_PORT":null,"ANALOG9_CHANNEL":null,"ANALOG10_BIT":null,"ANALOG10_PORT":null,"ANALOG10_CHANNEL":null,"ANALOG11_BIT":null,"ANALOG11_PORT":null,"ANALOG11_CHANNEL":null,"ANALOG12_BIT":null,"ANALOG12_PORT":null,"ANALOG12_CHANNEL":null,"ANALOG13_BIT":null,"ANALOG13_PORT":null,"ANALOG13_CHANNEL":null,"ANALOG14_BIT":null,"ANALOG14_PORT":null,"ANALOG14_CHANNEL":null,"ANALOG15_BIT":null,"ANALOG15_PORT":null,"ANALOG15_CHANNEL":null,"DIN0_BIT":14,"DIN0_PORT":"C","DIN0_PULLUP":true,"DIN0_ISR":null,"DIN1_BIT":null,"DIN1_PORT":null,"DIN1_PULLUP":null,"DIN1_ISR":null,"DIN2_BIT":null,"DIN2_PORT":null,"DIN2_PULLUP":null,"DIN2_ISR":null,"DIN3_BIT":null,"DIN3_PORT":null,"DIN3_PULLUP":null,"DIN3_ISR":null,"DIN4_BIT":null,"DIN4_PORT":null,"DIN4_PULLUP":null,"DIN4_ISR":null,"DIN5_BIT":null,"DIN5_PORT":null,"DIN5_PULLUP":null,"DIN5_ISR":null,"DIN6_BIT":null,"DIN6_PORT":null,"DIN6_PULLUP":null,"DIN6_ISR":null,"DIN7_BIT":null,"DIN7_PORT":null,"DIN7_PULLUP":null,"DIN7_ISR":null,"DIN8_BIT":null,"DIN8_PORT":null,"DIN8_PULLUP":null,"DIN9_BIT":null,"DIN9_PORT":null,"DIN9_PULLUP":null,"DIN10_BIT":3,"DIN10_PORT":"A","DIN10_PULLUP":null,"DIN11_BIT":10,"DIN11_PORT":"B","DIN11_PULLUP":null,"DIN12_BIT":null,"DIN12_PORT":null,"DIN12_PULLUP":null,"DIN13_BIT":null,"DIN13_PORT":null,"DIN13_PULLUP":null,"DIN14_BIT":null,"DIN14_PORT":null,"DIN14_PULLUP":null,"DIN15_BIT":null,"DIN15_PORT":null,"DIN15_PULLUP":null,"DIN16_BIT":null,"DIN16_PORT":null,"DIN16_PULLUP":null,"DIN17_BIT":null,"DIN17_PORT":null,"DIN17_PULLUP":null,"DIN18_BIT":null,"DIN18_PORT":null,"DIN18_PULLUP":null,"DIN19_BIT":null,"DIN19_PORT":null,"DIN19_PULLUP":null,"DIN20_BIT":null,"DIN20_PORT":null,"DIN20_PULLUP":null,"DIN21_BIT":null,"DIN21_PORT":null,"DIN21_PULLUP":null,"DIN22_BIT":null,"DIN22_PORT":null,"DIN22_PULLUP":null,"DIN23_BIT":null,"DIN23_PORT":null,"DIN23_PULLUP":null,"DIN24_BIT":null,"DIN24_PORT":null,"DIN24_PULLUP":null,"DIN25_BIT":null,"DIN25_PORT":null,"DIN25_PULLUP":null,"DIN26_BIT":null,"DIN26_PORT":null,"DIN26_PULLUP":null,"DIN27_BIT":null,"DIN27_PORT":null,"DIN27_PULLUP":null,"DIN28_BIT":null,"DIN28_PORT":null,"DIN28_PULLUP":null,"DIN29_BIT":null,"DIN29_PORT":null,"DIN29_PULLUP":null,"DIN30_BIT":null,"DIN30_PORT":null,"DIN30_PULLUP":null,"DIN31_BIT":null,"DIN31_PORT":null,"DIN31_PULLUP":null,"TX_BIT":9,"TX_PORT":"A","TX_IO_OFFSET":null,"RX_BIT":10,"RX_PORT":"A","USB_DM_BIT":null,"USB_DM_PORT":null,"USB_DM_IO_OFFSET":null,"USB_DP_BIT":null,"USB_DP_PORT":null,"USB_DP_IO_OFFSET":null,"SPI_CLK_BIT":null,"SPI_CLK_PORT":null,"SPI_CLK_IO_OFFSET":null,"SPI_SDI_BIT":null,"SPI_SDI_PORT":null,"SPI_SDO_BIT":null,"SPI_SDO_PORT":null,"SPI_SDO_IO_OFFSET":null,"SPI_CS_BIT":null,"SPI_CS_PORT":null,"SPI_CS_IO_OFFSET":null,"I2C_SCL_BIT":null,"I2C_SCL_PORT":null,"I2C_SDA_BIT":null,"I2C_SDA_PORT":null,"DISABLE_ALL_CONTROLS":null,"ESTOP_PULLUP_ENABLE":null,"SAFETY_DOOR_PULLUP_ENABLE":null,"FHOLD_PULLUP_ENABLE":null,"CS_RES_PULLUP_ENABLE":true,"DISABLE_ALL_LIMITS":null,"LIMIT_X_DISABLE":null,"LIMIT_Y_DISABLE":null,"LIMIT_Z_DISABLE":true,"LIMIT_X2_DISABLE":true,"LIMIT_Y2_DISABLE":null,"LIMIT_Z2_DISABLE":true,"LIMIT_X_PULLUP_ENABLE":true,"LIMIT_Y_PULLUP_ENABLE":true,"LIMIT_Z_PULLUP_ENABLE":true,"LIMIT_X2_PULLUP_ENABLE":true,"LIMIT_Y2_PULLUP_ENABLE":true,"LIMIT_Z2_PULLUP_ENABLE":true,"DISABLE_PROBE":true,"PROBE_PULLUP_ENABLE":null,"ENABLE_DUAL_DRIVE_AXIS":true,"DUAL_DRIVE0_AXIS":"Y","DUAL_DRIVE0_STEPPER":"3","DUAL_DRIVE0_ENABLE_SELFSQUARING":null,"DUAL_DRIVE1_AXIS":null,"DUAL_DRIVE1_STEPPER":null,"DUAL_DRIVE1_ENABLE_SELFSQUARING":null,"TOOL1":"spindle_pwm","SPINDLE_PWM":"PWM0","SPINDLE_PWM_DIR":"DOUT0","SPINDLE_PWM_COOLANT_FLOOD":"DOUT0","SPINDLE_PWM_COOLANT_MIST":"DOUT5","ENABLE_LASER_PPI":true,"LASER_PPI":"PWM0","INVERT_LASER_PPI_LOGIC":true,"SOFT_SPI_CLK":"DOUT0","SOFT_SPI_SDO":"DOUT0","SOFT_SPI_SDI":"DIN0","STEPPER0_HAS_TMC":true,"STEPPER0_DRIVER_TYPE":2209,"STEPPER0_TMC_INTERFACE":"TMC_UART","STEPPER0_UART_TX":"DOUT10","STEPPER0_UART_RX":"DIN10","STEPPER0_SPI_CS":"DOUT20","STEPPER0_SPI_CUSTOM":null,"STEPPER0_CURRENT_MA":800,"STEPPER0_MICROSTEP":16,"STEPPER0_RSENSE":0.11,"STEPPER0_HOLD_MULT":0.7,"STEPPER0_STEALTHCHOP_THERSHOLD":0,"STEPPER0_ENABLE_INTERPLATION":null,"STEPPER0_STALL_SENSITIVITY":10,"STEPPER1_HAS_TMC":true,"STEPPER1_DRIVER_TYPE":2209,"STEPPER1_TMC_INTERFACE":"TMC_UART","STEPPER1_UART_TX":"DOUT10","STEPPER1_UART_RX":"DIN10","STEPPER1_SPI_CS":"DOUT21","STEPPER1_SPI_CUSTOM":null,"STEPPER1_CURRENT_MA":800,"STEPPER1_MICROSTEP":16,"STEPPER1_RSENSE":0.11,"STEPPER1_HOLD_MULT":0.7,"STEPPER1_STEALTHCHOP_THERSHOLD":0,"STEPPER1_ENABLE_INTERPLATION":null,"STEPPER1_STALL_SENSITIVITY":10,"STEPPER2_HAS_TMC":true,"STEPPER2_DRIVER_TYPE":2209,"STEPPER2_TMC_INTERFACE":"TMC_UART","STEPPER2_UART_TX":"DOUT10","STEPPER2_UART_RX":"DIN10","STEPPER2_SPI_CS":"DOUT22","STEPPER2_SPI_CUSTOM":null,"STEPPER2_CURRENT_MA":800,"STEPPER2_MICROSTEP":16,"STEPPER2_RSENSE":0.11,"STEPPER2_HOLD_MULT":0.7,"STEPPER2_STEALTHCHOP_THERSHOLD":0,"STEPPER2_ENABLE_INTERPLATION":null,"STEPPER2_STALL_SENSITIVITY":10,"STEPPER3_HAS_TMC":true,"STEPPER3_DRIVER_TYPE":2209,"STEPPER3_TMC_INTERFACE":"TMC_UART","STEPPER3_UART_TX":"DOUT10","STEPPER3_UART_RX":"DIN10","STEPPER3_SPI_CS":"DOUT23","STEPPER3_SPI_CUSTOM":null,"STEPPER3_CURRENT_MA":800,"STEPPER3_MICROSTEP":16,"STEPPER3_RSENSE":0.11,"STEPPER3_HOLD_MULT":0.7,"STEPPER3_STEALTHCHOP_THERSHOLD":0,"STEPPER3_ENABLE_INTERPLATION":null,"STEPPER3_STALL_SENSITIVITY":10,"STEPPER4_HAS_TMC":true,"STEPPER4_DRIVER_TYPE":2209,"STEPPER4_TMC_INTERFACE":"TMC_UART","STEPPER4_UART_TX":"DOUT10","STEPPER4_UART_RX":"DIN10","STEPPER4_SPI_CS":"DOUT24","STEPPER4_SPI_CUSTOM":null,"STEPPER4_CURRENT_MA":800,"STEPPER4_MICROSTEP":16,"STEPPER4_RSENSE":0.11,"STEPPER4_HOLD_MULT":0.7,"STEPPER4_STEALTHCHOP_THERSHOLD":0,"STEPPER4_ENABLE_INTERPLATION":null,"STEPPER4_STALL_SENSITIVITY":10,"STEPPER5_HAS_TMC":true,"STEPPER5_DRIVER_TYPE":2209,"STEPPER5_TMC_INTERFACE":"TMC_UART","STEPPER5_UART_TX":"DOUT10","STEPPER5_UART_RX":"DIN10","STEPPER5_SPI_CS":"DOUT25","STEPPER5_SPI_CUSTOM":null,"STEPPER5_CURRENT_MA":800,"STEPPER5_MICROSTEP":16,"STEPPER5_RSENSE":0.11,"STEPPER5_HOLD_MULT":0.7,"STEPPER5_STEALTHCHOP_THERSHOLD":0,"STEPPER5_ENABLE_INTERPLATION":null,"STEPPER5_STALL_SENSITIVITY":10,"STEPPER6_HAS_TMC":null,"STEPPER6_DRIVER_TYPE":2208,"STEPPER6_TMC_INTERFACE":"TMC_UART","STEPPER6_UART_TX":"DOUT26","STEPPER6_UART_RX":"DIN26","STEPPER6_SPI_CS":"DOUT26","STEPPER6_SPI_CUSTOM":null,"STEPPER6_CURRENT_MA":800,"STEPPER6_MICROSTEP":16,"STEPPER6_RSENSE":0.11,"STEPPER6_HOLD_MULT":0.7,"STEPPER6_STEALTHCHOP_THERSHOLD":0,"STEPPER6_ENABLE_INTERPLATION":null,"STEPPER6_STALL_SENSITIVITY":10,"STEPPER7_HAS_TMC":null,"STEPPER7_DRIVER_TYPE":2208,"STEPPER7_TMC_INTERFACE":"TMC_UART","STEPPER7_UART_TX":"DOUT27","STEPPER7_UART_RX":"DIN27","STEPPER7_SPI_CS":"DOUT27","STEPPER7_SPI_CUSTOM":null,"STEPPER7_CURRENT_MA":800,"STEPPER7_MICROSTEP":16,"STEPPER7_RSENSE":0.11,"STEPPER7_HOLD_MULT":0.7,"STEPPER7_STEALTHCHOP_THERSHOLD":0,"STEPPER7_ENABLE_INTERPLATION":null,"STEPPER7_STALL_SENSITIVITY":10,"ENABLE_MAIN_LOOP_MODULES":true,"ENABLE_IO_MODULES":true,"ENABLE_PARSER_MODULES":true,"ENABLE_MOTION_CONTROL_MODULES":true,"ENABLE_SETTINGS_MODULES":true,"ENABLE_RT_SYNC_MOTIONS":null,"g5":null,"g7_g8":null,"g33":null,"m17_m18":true,"m42":true,"m62_m65":null,"m67_m68":null,"m80_m81":null,"i2c_lcd":null,"smoothie_clustering":null,"graphic_display":null,"sd_card":null,"sd_card_pf":null,"bltouch":null}

I made some changes, so it may be different from the .h

bwenquan commented 10 months ago

I tried not to use the TMC driver, but the motor still didn't move. By the way, motor is locked (EN pin is low).

bwenquan commented 10 months ago

image

Paciente8159 commented 10 months ago

I there. I'm going through your config file. I detected some web builder errors that I'm trying to get around. Just one question. Your TMC drivers are write only mode (shared address) or write/read (each as one address)?

EDIT: And another question. You are not using USB?

The configuration you sent me is not valid. You enabled laserPPI and that will consume a stepper position. In this case it uses STEP3.

so you will have to skip using that STEP3. You can still use the remaining STEPS. You just need to shift your STEP3 config to STEP4, etc...

I'm uploading the web builder fixes now.

bwenquan commented 10 months ago

Thanks.

My TMC drivers are on the write/read (each as one address)

I know laserPPI used step3, so I tried to move X (STEP0) but it not worked.

Paciente8159 commented 10 months ago

Just one question. If you are using read/write mode and enabled parser modules options what does the TMC MCodes (M350, M906, M913, etc...) commands return?

bwenquan commented 10 months ago
Grbl 1.7 [uCNC v1.7.4 '$' for help]
>:ok
>:ok
» $
» $
« $0=10.000
$1=0
$2=0
$3=0
$4=0
$5=0
$6=0
$7=0
$10=1
$11=0.200
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=0
$24=10.000
$25=50.000
$26=250
$27=2.000
$30=1000
$31=0
$32=0
$33=254
$34=1500
$35=0.250
$36=0.750
$80=1
$81=0.000
$100=200.000
$101=200.000
$110=500.000
$111=500.000
$120=10.000
$121=10.000
$130=200.000
$131=200.000
ok
ok
» $
« [HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $C $X $H ~ ! ? ctrl-x]
ok
ok
» $I
« [VER: uCNC 1.7.4 - Kirizu-laser]
[OPT:C2,16B,DSS3_500,PPI,DC,DP,XC,30,128]
ok
ok
» M350
« [MICROSTEPS:X16.000,Y16.000,Z16.000,A16.000,B-1.000,C-1.000,I0.000,J0.000]
» M906
« ok
ok
» M906
« error:2
ok
» M906
« [STEPPER CURRENT:X795.497,Y795.497,Z795.497,A795.497,B-1.000,C-1.000,I-1.000,J-1.000]
» M913
« ok
ok
» M914
« error:2
ok
» M914
« [STEPPER STALL SENSITIVITY:X0,Y0,Z0,A0,B0,C0,I-255,J-255]
» M920
« ok
ok
error:51
ok
» M920
« error:51
ok
» M920
« error:51
ok

Edit:

» M350 X32
« ok
ok
» M350
« [MICROSTEPS:X32.000,Y16.000,Z16.000,A16.000,B-1.000,C-1.000,I0.000,J0.000]
» M906 X400
« ok
ok
» M906
« error:2
ok
» M906
« [STEPPER CURRENT:X795.497,Y795.497,Z795.497,A795.497,B-1.000,C-1.000,I-1.000,J-1.000]
» M906
» M906 X400
» M906 X400
« ok
ok
» M906 X400
« error:2
ok
» M906 X400
« ok
ok
» M906
« [STEPPER CURRENT:X397.749,Y795.497,Z795.497,A795.497,B-1.000,C-1.000,I-1.000,J-1.000]
Paciente8159 commented 10 months ago

So apparently TMC communication is working. Then I will redirect my focus to the web build configuration files. Thanks

bwenquan commented 10 months ago

Hi. I just checked the pin status using the logic analyzer. I found that the STEP pin was always at a high level without change (even though I used the G0 command to move the motor). image

0: STEP 1: DIAG 2: UART

image

Paciente8159 commented 10 months ago

You are correct. It's not. An even worse it's making a very odd behaviour. When I connect the bluepill using the config file you sent it stays in alarm mode for a while and it takes quite sometime to get unstuck.

I'm not sure if this is caused by the configuration files generated by the web builder or not.

I will try to debug the code with the debug DAP to see if can understand what is going on. I'll also try to build a custom boardmap manually that fits your config and test it. Just one question regarding that. Are you using a commercial board or a custom board?

bwenquan commented 10 months ago

This board is customized by myself,and the mcu is the stm32f103vet6.

Paciente8159 commented 10 months ago

Ok. I only have a bluepill. Some of IO pins you have defined I don't have at my disposal. I'll use the same pins you are using and that I have available to do the tests.

Since you are using a MCU with more ram/flash and IO some changes are required. The platformio board might need to be changed and also an option (FLASH_SIZE) like explained here.

But first let me get this running on my bluepill and I'll give you feedback before going there.

Paciente8159 commented 10 months ago

It seems that you chose a particular pin that is not used as a GPIO on reset. I believe this is the cause. Since I do not use the STM32 HAL and do all bare-metal these kind of issues pop. Let me study this for a bit.

image image

Edit: I think changing SWJ_CFG to 0b010 will do the trick. But I'll let you know

Paciente8159 commented 10 months ago

I'm pushing #486 to both master and v1.8.x. This will unlock pins PB3, PB4 and PA15 as GPIO, so the firmware is able to use them. I tested using my scope and STEP0 was working ok on PB4 with this modification.

EDIT:

Just another note. The sluggish start I experienced is normal. I used your configuration that had UART TMC drivers, but I had none connected. When the software is starting up it will try to setup the TMC drivers. If it fails to get a response from them (either because they are in write mode only or they are not installed) it will wait and retry a few times, causing the startup to be slower then normal.

bwenquan commented 10 months ago

Thank you very much! Now my motor is working well, but I find that using the G0 X100 F100 and G0 X100 F200 the speed is the same. how should I change the speed and acceleration, is there something like a rotation_distance (distance that the axis travels with one full rotation of the stepper motor) configuration here?

Edit: I tried:

» $100=80
$110=300
$120=2000
G91
G0 X40 F200
« ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
» $100=80
$110=300
$120=2000
G91
G0 X40 F100
« ok
ok
ok
ok
ok
ok
ok
ok
ok
ok

The motor speed is the same.

Paciente8159 commented 10 months ago

That is odd. I should not be the same. I will check that.

bwenquan commented 10 months ago

For another question, I defined:

#define DEFAULT_HOMING_ENABLED 1
#define ALLOW_SOFTWARE_HOMING

but when I use $H, I received error:5. (Homing cycle is not enabled via settings.). How do I need to enable the setting?

Paciente8159 commented 10 months ago

It should be enabled via DEFAULT_HOMING_ENABLED but you can check it's value via $$ and modify it without the need to reflash. See setting $22. For software homing you should also enable soft limits (setting $20).

EDIT: Also an important note. If you reflashed with this option enabled, but previously you flashed with it disabled the setting will not change.

This setting is kept internally in FLASH storage. Even if you modify the option the value that it will use is the one that is stored in flash. Only on settings reset, or some settings reading error will the default values be loaded from ROM. Until that the previous stored value will be the one used (even if it's now the default ROM value) This holds true for all settings stored in EEPROM/FLASH ($$)

Paciente8159 commented 10 months ago

Thank you very much! Now my motor is working well, but I find that using the G0 X100 F100 and G0 X100 F200 the speed is the same. how should I change the speed and acceleration, is there something like a rotation_distance (distance that the axis travels with one full rotation of the stepper motor) configuration here?

Edit: I tried:

» $100=80
$110=300
$120=2000
G91
G0 X40 F200
« ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
» $100=80
$110=300
$120=2000
G91
G0 X40 F100
« ok
ok
ok
ok
ok
ok
ok
ok
ok
ok

The motor speed is the same.

About this. I tested and on my side is working quite well. G1X40F100 took about 24 seconds (60x40/100=24 so it's spot on) G1X40F200 took about 12 seconds (again 60x40/200=12 so it's spot on too)

bwenquan commented 10 months ago

Sorry, I tested it again, it works well. I have tested most of the functions and found no problems. I will test it on my machine a few days later.

Here are some functional suggestions:

  1. Air Evacuation motor relay output, enables Menu item and G-code M10/M11 control.
  2. Ammeter support: This is a low side configuration (Ground) current IC that can be used for both CO2 and Diode based lasers. It’s ideal with High Voltage CO2 laser tubes, it connects between chassis ground and the tube ground.
  3. CO2 Coolant flow meter support: Provides tube protection by detecting flow failures and controlling laser enable signals.
  4. Laser cooling control, provides chiller control with temperature monitoring and safety.

I implemented these functions on another board, so it's not necessary to build them into uCNC right now for me. You can get more information at Marlin Laser Document.

Thank you very much again!

Paciente8159 commented 10 months ago

Sorry, I tested it again, it works well. I have tested most of the functions and found no problems. I will test it on my machine a few days later.

Here are some functional suggestions:

  1. Air Evacuation motor relay output, enables Menu item and G-code M10/M11 control.
  2. Ammeter support: This is a low side configuration (Ground) current IC that can be used for both CO2 and Diode based lasers. It’s ideal with High Voltage CO2 laser tubes, it connects between chassis ground and the tube ground.
  3. CO2 Coolant flow meter support: Provides tube protection by detecting flow failures and controlling laser enable signals.
  4. Laser cooling control, provides chiller control with temperature monitoring and safety.

I implemented these functions on another board, so it's not necessary to build them into uCNC right now for me. You can get more information at Marlin Laser Document.

Thank you very much again!

Thanks for the sugestions.

Just a note about that:

I will look at the provided Marlin documentation link and try to add these as modules. Any problem you ran into, please report.

Paciente8159 commented 10 months ago

Since the issue is solve I'm closing this. The requested features are being evaluated. I've ordered an ammeter to develop the respective module.