BLTouch support almost works with delta kinematics, but when performing G38.2, the probe state is read after the probe has already been triggered and motion has stopped.
cnc_delay_ms(g_settings.debounce_ms); // adds a delay before reading io pin (debounce)
probe_ok = io_get_probe();
Unfortunately, probe_ok becomes 0 again because the BLTouch only outputs a very short pulse (~10 ms) when triggered.
Furthermore, the BLTouch needs a kind of reset when the pin has touched something unexpected or when it enters an alarm state. The following sequence appears to work before deploying the probe again:
mcu_set_servo(BLTOUCH_PROBE_SERVO, BLTOUCH_ALARM_REL_PUSH_UP);
cnc_delay_ms(BLTOUCH_DELAY);
mcu_set_servo(BLTOUCH_PROBE_SERVO, BLTOUCH_STOW);
cnc_delay_ms(BLTOUCH_DELAY);
seems to work before deploy again.
BLTouch support almost works with delta kinematics, but when performing G38.2, the probe state is read after the probe has already been triggered and motion has stopped.
cnc_delay_ms(g_settings.debounce_ms); // adds a delay before reading io pin (debounce)
probe_ok = io_get_probe();
Unfortunately, probe_ok becomes 0 again because the BLTouch only outputs a very short pulse (~10 ms) when triggered.
Furthermore, the BLTouch needs a kind of reset when the pin has touched something unexpected or when it enters an alarm state. The following sequence appears to work before deploying the probe again:
mcu_set_servo(BLTOUCH_PROBE_SERVO, BLTOUCH_ALARM_REL_PUSH_UP);
cnc_delay_ms(BLTOUCH_DELAY);
mcu_set_servo(BLTOUCH_PROBE_SERVO, BLTOUCH_STOW);
cnc_delay_ms(BLTOUCH_DELAY);
seems to work before deploy again.