From 29a60f6c3baf505f702aecbb05f0f689e59cb54c Mon Sep 17 00:00:00 2001 From: bdring Date: Tue, 18 Feb 2020 10:02:14 -0600 Subject: [PATCH] Fixed delta angle limits --- .pio/build/project.checksum | 1 - .vscode/c_cpp_properties.json | 214 ---------------------------------- .vscode/extensions.json | 7 -- .vscode/launch.json | 32 ----- Grbl_Esp32/spi_delta.cpp | 29 +++-- Grbl_Esp32/spi_delta.h | 4 +- 6 files changed, 23 insertions(+), 264 deletions(-) delete mode 100644 .pio/build/project.checksum delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/extensions.json delete mode 100644 .vscode/launch.json diff --git a/.pio/build/project.checksum b/.pio/build/project.checksum deleted file mode 100644 index d1f63c93..00000000 --- a/.pio/build/project.checksum +++ /dev/null @@ -1 +0,0 @@ -5ab91fadf2a79dbc93feacc98a8704603a14fe95 \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index a1013d5b..00000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "configurations": [ - { - "name": "!!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags" - }, - { - "name": "Win32", - "includePath": [ - "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/Grbl_Esp32", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", - "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/libraries/ESP32SSDP", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", - "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/libraries/arduinoWebSockets/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/cores/esp32", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/variants/nodemcu-32s", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", - "C:/Users/barto/.platformio/packages/tool-unity", - "" - ], - "browse": { - "limitSymbolsToIncludedHeaders": true, - "path": [ - "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/Grbl_Esp32", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", - "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/libraries/ESP32SSDP", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", - "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/libraries/arduinoWebSockets/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/cores/esp32", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/variants/nodemcu-32s", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", - "C:/Users/barto/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", - "C:/Users/barto/.platformio/packages/tool-unity", - "" - ] - }, - "defines": [ - "PLATFORMIO=40100", - "ARDUINO_NodeMCU_32S", - "ESP32", - "ESP_PLATFORM", - "F_CPU=240000000L", - "HAVE_CONFIG_H", - "MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"", - "ARDUINO=10805", - "ARDUINO_ARCH_ESP32", - "ARDUINO_VARIANT=\"nodemcu-32s\"", - "ARDUINO_BOARD=\"NodeMCU-32S\"", - "" - ], - "intelliSenseMode": "clang-x64", - "cStandard": "c99", - "cppStandard": "c++11", - "compilerPath": "\"C:/Users/barto/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-gcc.exe\" -mlongcalls" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 272828b5..00000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ] -} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 14b929dd..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,32 +0,0 @@ -// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY - -// PIO Unified Debugger -// -// Documentation: https://docs.platformio.org/page/plus/debugging.html -// Configuration: https://docs.platformio.org/page/projectconf/section_env_debug.html - -{ - "version": "0.2.0", - "configurations": [ - { - "type": "platformio-debug", - "request": "launch", - "name": "PIO Debug", - "executable": "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/.pio/build/nodemcu-32s/firmware.elf", - "toolchainBinDir": "C:/Users/barto/.platformio/packages/toolchain-xtensa32/bin", - "preLaunchTask": { - "type": "PlatformIO", - "task": "Pre-Debug" - }, - "internalConsoleOptions": "openOnSessionStart" - }, - { - "type": "platformio-debug", - "request": "launch", - "name": "PIO Debug (skip Pre-Debug)", - "executable": "c:/Users/barto/Dropbox/Arduino/ESP32/Grbl_Esp32/.pio/build/nodemcu-32s/firmware.elf", - "toolchainBinDir": "C:/Users/barto/.platformio/packages/toolchain-xtensa32/bin", - "internalConsoleOptions": "openOnSessionStart" - } - ] -} \ No newline at end of file diff --git a/Grbl_Esp32/spi_delta.cpp b/Grbl_Esp32/spi_delta.cpp index 18668e8c..377a1b49 100644 --- a/Grbl_Esp32/spi_delta.cpp +++ b/Grbl_Esp32/spi_delta.cpp @@ -189,10 +189,10 @@ void inverse_kinematics(float *target, plan_line_data_t *pl_data, float *positio if (status == KIN_ANGLE_ERROR) { return; } - if (motor_angles[0] < MAX_NEGATIVE_ANGLE || motor_angles[0] < MAX_NEGATIVE_ANGLE || motor_angles[0] < MAX_NEGATIVE_ANGLE) { - grbl_sendf( CLIENT_SERIAL, "[MSG:Destination too high]\r\n"); + if (motor_angles[0] < MAX_NEGATIVE_ANGLE || motor_angles[1] < MAX_NEGATIVE_ANGLE || motor_angles[2] < MAX_NEGATIVE_ANGLE) { + grbl_sendf( CLIENT_SERIAL, "[MSG:Destination unreachable. Move rejected]\r\n"); return; - } + } // adjust the end effector location //target[Z_AXIS] += delta_z_offset; // Note: For typical (fixed top) deltas, the offset is negative @@ -224,11 +224,18 @@ void inverse_kinematics(float *target, plan_line_data_t *pl_data, float *positio int status = delta_calcInverse(seg_target[X_AXIS] , seg_target[Y_AXIS] , seg_target[Z_AXIS] + delta_z_offset, motor_angles[0], motor_angles[1], motor_angles[2]); // check to see if we are trying to go too high + for (int axis = 0; axis < N_AXIS; axis++) { + if (motor_angles[axis] < MAX_NEGATIVE_ANGLE) { + grbl_sendf( CLIENT_SERIAL, "[MSG:Axis %d angle error. Too high %4.3f]\r\n", axis, motor_angles[axis]); + } + } + + /* if (motor_angles[0] < MAX_NEGATIVE_ANGLE || motor_angles[0] < MAX_NEGATIVE_ANGLE || motor_angles[0] < MAX_NEGATIVE_ANGLE) { grbl_sendf( CLIENT_SERIAL, "[MSG:Angle error. Too high]\r\n"); status = KIN_ANGLE_ERROR; } - + */ if(status == KIN_ANGLE_CALC_OK) { //grbl_sendf( CLIENT_SERIAL, "[MSG:Kin Segment Target Angs X:%4.3f Y:%4.3f Z:%4.3f]\r\n\r\n", motor_angles[0], motor_angles[1], motor_angles[2]); @@ -397,7 +404,7 @@ void forward_kinematics(float *position) */ bool kinematics_homing(uint8_t cycle_mask) { - delta_motor_mode(DELTA_MOTOR_HOME_MODE); // send spi commands for this mode + delta_motor_mode(DELTA_MOTOR_RUN_MODE); // send spi commands for this mode if (spi_delta_homing(cycle_mask)) { // if successfully homes @@ -407,7 +414,7 @@ bool kinematics_homing(uint8_t cycle_mask) sys_position[Z_AXIS] = 0; gc_sync_position(); - plan_sync_position(); + plan_sync_position(); } else { set_stepper_disable(true); // disable motors to allow them to free wheel @@ -461,14 +468,16 @@ bool spi_delta_homing(uint8_t cycle_mask) if (mode == DELTA_MOTOR_RUN_MODE) { TRINAMIC_X.tbl(1); - TRINAMIC_X.toff(3); + TRINAMIC_X.toff(5); TRINAMIC_X.microsteps(settings.microsteps[X_AXIS]); TRINAMIC_X.rms_current(settings.current[X_AXIS] * 1000.0, settings.hold_current[X_AXIS]/100.0); TRINAMIC_X.TCOOLTHRS(NORMAL_TCOOLTHRS); // lower threshold velocity for switching on coolStep and stallGuard feature TRINAMIC_X.THIGH(NORMAL_THIGH); TRINAMIC_X.hysteresis_start(4); TRINAMIC_X.hysteresis_end(-2); - + TRINAMIC_X.en_pwm_mode(1); // Enable extremely quiet stepping + TRINAMIC_X.pwm_autoscale(1); + TRINAMIC_Y.tbl(1); TRINAMIC_Y.toff(3); TRINAMIC_Y.microsteps(settings.microsteps[Y_AXIS]); @@ -477,6 +486,8 @@ bool spi_delta_homing(uint8_t cycle_mask) TRINAMIC_Y.THIGH(NORMAL_THIGH); TRINAMIC_Y.hysteresis_start(4); TRINAMIC_Y.hysteresis_end(-2); + TRINAMIC_Y.en_pwm_mode(1); // Enable extremely quiet stepping + TRINAMIC_Y.pwm_autoscale(1); TRINAMIC_Z.tbl(1); TRINAMIC_Z.toff(3); @@ -486,6 +497,8 @@ bool spi_delta_homing(uint8_t cycle_mask) TRINAMIC_Z.THIGH(NORMAL_THIGH); TRINAMIC_Z.hysteresis_start(4); TRINAMIC_Z.hysteresis_end(-2); + TRINAMIC_Z.en_pwm_mode(1); // Enable extremely quiet stepping + TRINAMIC_Z.pwm_autoscale(1); } else if (mode == DELTA_MOTOR_HOME_MODE) { diff --git a/Grbl_Esp32/spi_delta.h b/Grbl_Esp32/spi_delta.h index e69253d6..23dbb835 100644 --- a/Grbl_Esp32/spi_delta.h +++ b/Grbl_Esp32/spi_delta.h @@ -43,7 +43,7 @@ #define KIN_ANGLE_CALC_OK 0 #define KIN_ANGLE_ERROR -1 - #define MAX_NEGATIVE_ANGLE -0.75 // in radians how far can the arms go up? + #define MAX_NEGATIVE_ANGLE -36 // in degrees how far can the arms go up? #define HOMING_CURRENT_REDUCTION 1.0 @@ -66,7 +66,7 @@ #ifdef N_HOMING_LOCATE_CYCLE #undef N_HOMING_LOCATE_CYCLE #endif - #define N_HOMING_LOCATE_CYCLE 0 + #define N_HOMING_LOCATE_CYCLE 1 #define SHOW_EXTENDED_SETTINGS