mriscoc / Ender3V2S1

This is optimized firmware for Ender3 V2/S1 3D printers.
Other
2.65k stars 360 forks source link

Aquila Boards have issues with 3D/BL touch auto leveler #657

Closed classicrocker883 closed 1 year ago

classicrocker883 commented 1 year ago

the following is from a user who managed to get this to fix at this github repo

he enabled BLTOUCH_FORCE_SW_MODE for BLTOUCH,

add MB VOXELAB_AQUILA to HAL/STM32F1/timers.h so MF_TIMER_SERVO0 = 3

and Z_CLEARANCE_DEPLOY_PROBE 5

The good news! I've finally fixed the probe servo pin. Edited timers.h to have MF_TIMER_SERVO0 = 3, rather than 1. I don't understand why this works for Ender3 V2, since STM32F103R has the same mapping here. By default PB0 is bound to Timer3 and in board.cpp it's on &timer3 {&gpiob, &timer3, &adc1, 0, 3, 8}, / PB0 / image

Why in timers.h it gets #define MF_TIMER_SERVO0 1 // SERVO0 or BLTOUCH and how this suppose to work, I don't get. I can see in datasheet, that it can be redefined to TIMER1, but where and when this should happen? Anyway, deploy and stow now are working. The new battle is to make Z stop when the probe's shaft is pushed in. By now it doesn't stop.

Author: oloendithas oloendithas@gmail.com 2023-01-07 12:53:51 Committer: oloendithas oloendithas@gmail.com 2023-01-07 12:53:51 Parent: 1ac9c445e2713a2725910c3889a3fd343205c0e6 (current MM config) Branch: master Follows: 2.1.3 Precedes:

fix probe servo pin for Voxelab N32

----------------------- Marlin/src/HAL/STM32F1/timers.h ----------------------- index 0cd807f..8a23186 100644 @@ -80,7 +80,7 @@ typedef uint16_t hal_timer_t; //#define MF_TIMER_TEMP 4 // 2->4, Timer 2 for Stepper Current PWM

endif

-#if MB(BTT_SKR_MINI_E3_V1_0, BTT_SKR_E3_DIP, BTT_SKR_MINI_E3_V1_2, MKS_ROBIN_LITE, MKS_ROBIN_E3D, MKS_ROBIN_E3) +#if MB(BTT_SKR_MINI_E3_V1_0, BTT_SKR_E3_DIP, BTT_SKR_MINI_E3_V1_2, MKS_ROBIN_LITE, MKS_ROBIN_E3D, MKS_ROBIN_E3, VOXELAB_AQUILA) // SKR Mini E3 boards use PA8 as FAN_PIN, so TIMER 1 is used for Fan PWM.

ifdef STM32_HIGH_DENSITY

 #define MF_TIMER_SERVO0  8  // tone.cpp uses Timer 4

Victory at last! So this 3D Touch sensor is totally now working in SW mode. The next weird thing was, that following this setting #define Z_CLEARANCE_DEPLOY_PROBE 10 when probing it raises the nozzle on by 10mm, then goes down by 5mm and throws error because it haven't found the bed. Changing this to #define Z_CLEARANCE_DEPLOY_PROBE 5 fixed this problem.

mriscoc commented 1 year ago

Maybe the difference between both SoC is the current bootloader, in the STM version some pins could be pre-configured.

github-actions[bot] commented 1 year ago

This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 10 days.

github-actions[bot] commented 1 year ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.