1
0
mirror of https://github.com/bdring/Grbl_Esp32.git synced 2025-09-03 03:13:25 +02:00
This commit is contained in:
bdring
2020-02-03 17:15:58 -06:00
parent ecab516446
commit 6b3354b03f
8 changed files with 294 additions and 17 deletions

View File

@@ -0,0 +1 @@
5ab91fadf2a79dbc93feacc98a8704603a14fe95

214
.vscode/c_cpp_properties.json vendored Normal file
View File

@@ -0,0 +1,214 @@
{
"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
}

7
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,7 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
]
}

32
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,32 @@
// 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"
}
]
}

View File

@@ -44,7 +44,7 @@ Some features should not be changed. See notes below.
// The CPU map is the main definition of the machine/controller you want to use
// These are typically found in the cpu_map.h file.
// See Github repo wiki for more details
#define CPU_MAP_SPI_DELTA // these are defined in cpu_map.h
#define CPU_MAP_ESP32 // these are defined in cpu_map.h
#define N_AXIS 3 // Number of axes defined (valid range: 3 to 6)
@@ -53,11 +53,11 @@ Some features should not be changed. See notes below.
// Serial baud rate
#define BAUD_RATE 115200
//#define ENABLE_BLUETOOTH // enable bluetooth
#define ENABLE_BLUETOOTH // enable bluetooth
#define ENABLE_SD_CARD // enable use of SD Card to run jobs
//#define ENABLE_WIFI //enable wifi
#define ENABLE_WIFI //enable wifi
#define ENABLE_HTTP //enable HTTP and all related services
#define ENABLE_OTA //enable OTA
@@ -441,7 +441,7 @@ Some features should not be changed. See notes below.
// NOTE: Only use this for debugging purposes!! When echoing, this takes up valuable resources and can effect
// performance. If absolutely needed for normal operation, the serial write buffer should be greatly increased
// to help minimize transmission waiting within the serial write protocol.
// #define REPORT_ECHO_LINE_RECEIVED // Default disabled. Uncomment to enable.
#define REPORT_ECHO_LINE_RECEIVED // Default disabled. Uncomment to enable.
// Minimum planner junction speed. Sets the default minimum junction speed the planner plans to at
// every buffer block junction, except for starting from rest and end of the buffer, which are always

View File

@@ -125,7 +125,10 @@ uint8_t gc_execute_line(char *line, uint8_t client)
// Import the next g-code word, expecting a letter followed by a value. Otherwise, error out.
letter = line[char_counter];
if((letter < 'A') || (letter > 'Z')) {
grbl_sendf(CLIENT_SERIAL, "[MSG:Cmd Letter:%s Char#:%d]\r\n", line, char_counter);
FAIL(STATUS_EXPECTED_COMMAND_LETTER); // [Expected word letter]
}
char_counter++;
if (!read_float(line, &char_counter, &value)) {
@@ -463,9 +466,10 @@ uint8_t gc_execute_line(char *line, uint8_t client)
break;
// NOTE: For certain commands, P value must be an integer, but none of these commands are supported.
// case 'Q': // Not supported
case 'R':
case 'R':
word_bit = WORD_R;
gc_block.values.r = value;
grbl_sendf(CLIENT_ALL, "[MSG:Found R: %4.3f]\r\n", value);
break;
case 'S':
word_bit = WORD_S;
@@ -575,6 +579,7 @@ uint8_t gc_execute_line(char *line, uint8_t client)
// NOTE: For jogging, ignore prior feed rate mode. Enforce G94 and check for required F word.
if (gc_parser_flags & GC_PARSER_JOG_MOTION) {
if (bit_isfalse(value_words,bit(WORD_F))) {
grbl_sendf(CLIENT_SERIAL,"[MSG:Feed Rate Error:%s]\r\n", line);
FAIL(STATUS_GCODE_UNDEFINED_FEED_RATE);
}
if (gc_block.modal.units == UNITS_MODE_INCHES) {
@@ -586,6 +591,7 @@ uint8_t gc_execute_line(char *line, uint8_t client)
if (axis_command == AXIS_COMMAND_MOTION_MODE) {
if ((gc_block.modal.motion != MOTION_MODE_NONE) || (gc_block.modal.motion != MOTION_MODE_SEEK)) {
if (bit_isfalse(value_words,bit(WORD_F))) {
grbl_sendf(CLIENT_SERIAL,"[MSG:Feed Rate Error:%s]\r\n", line);
FAIL(STATUS_GCODE_UNDEFINED_FEED_RATE); // [F word missing]
}
}
@@ -897,6 +903,7 @@ uint8_t gc_execute_line(char *line, uint8_t client)
} else {
// Check if feed rate is defined for the motion modes that require it.
if (gc_block.values.f == 0.0) {
grbl_sendf(CLIENT_SERIAL,"[MSG:Feed Rate Error:%s]\r\n", line);
FAIL(STATUS_GCODE_UNDEFINED_FEED_RATE); // [Feed rate undefined]
}
@@ -933,7 +940,8 @@ uint8_t gc_execute_line(char *line, uint8_t client)
if (value_words & bit(WORD_R)) { // Arc Radius Mode
bit_false(value_words,bit(WORD_R));
if (isequal_position_vector(gc_state.position, gc_block.values.xyz)) {
FAIL(STATUS_GCODE_INVALID_TARGET); // [Invalid target]
grbl_sendf(CLIENT_SERIAL,"[MSG:Line A:%s]\r\n", line);
FAIL(STATUS_GCODE_INVALID_TARGET); // [Invalid target]
}
// Convert radius value to proper units.
@@ -1057,10 +1065,12 @@ uint8_t gc_execute_line(char *line, uint8_t client)
float delta_r = fabs(target_r-gc_block.values.r);
if (delta_r > 0.005) {
if (delta_r > 0.5) {
FAIL(STATUS_GCODE_INVALID_TARGET); // [Arc definition error] > 0.5mm
grbl_sendf(CLIENT_SERIAL,"[MSG:Line B:%s (R:%4.3f)]\r\n", line, gc_block.values.r);
FAIL(STATUS_GCODE_INVALID_TARGET); // [Arc definition error] > 0.5mm
}
if (delta_r > (0.001*gc_block.values.r)) {
FAIL(STATUS_GCODE_INVALID_TARGET); // [Arc definition error] > 0.005mm AND 0.1% radius
grbl_sendf(CLIENT_SERIAL,"[MSG:Line B:%s (R:%4.3f)]\r\n", line, gc_block.values.r);
FAIL(STATUS_GCODE_INVALID_TARGET); // [Arc definition error] > 0.005mm AND 0.1% radius
}
}
}
@@ -1082,7 +1092,8 @@ uint8_t gc_execute_line(char *line, uint8_t client)
FAIL(STATUS_GCODE_NO_AXIS_WORDS); // [No axis words]
}
if (isequal_position_vector(gc_state.position, gc_block.values.xyz)) {
FAIL(STATUS_GCODE_INVALID_TARGET); // [Invalid target]
grbl_sendf(CLIENT_SERIAL,"[MSG:Line D:%s]\r\n", line);
FAIL(STATUS_GCODE_INVALID_TARGET); // [Invalid target]
}
break;
}

View File

@@ -38,8 +38,22 @@
The end effector is always below the motors, so its Z is negative with respect
to the motors.
Some reference links
FYI: http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/
Better: http://hypertriangle.com/~alex/delta-robot-tutorial/
TODO
Firmware
Get rid of any degree calculation and use radians only
Do a double home in case poor initial home due to bad start angle
Add a M30 to park the head
Hardware
Remove side boss of motor cranks
Look at increasing the end effector and spreading out the linkages
Add a way to assist tensioning the belt
Add a power off end effector cradle.
@@ -138,15 +152,13 @@ void machine_trinamic_setup()
trinamic_test_response(testResult, "Y");
TRINAMIC_Z.begin(); // Initiate pins and registries
trinamic_test_response(testResult, "Z");
trinamic_test_response(testResult, "Z");
delta_motor_mode(DELTA_MOTOR_RUN_MODE);
delta_motor_mode(DELTA_MOTOR_RUN_MODE); // set the rest of the driver settings to run mode
}
/*
convert desired cartesian moves of the end effector to delta motor movements.
convert desired cartesian moves of the end effector to delta motor angles.
This is done by breaking the moves into tiny segment and converting the endpoint to motor angles.
The feedrate also needs to be converted
All cnversions are done in machine space. This prevents G5x offsets from messing things up
@@ -224,7 +236,7 @@ void inverse_kinematics(float *target, plan_line_data_t *pl_data, float *positio
// Convert back to radians .... TODO get rid of degrees
motor_angles[0] *= dtr;
motor_angles[1] *= dtr;
motor_angles[2] *= dtr;
motor_angles[2] *= dtr;
delta_distance = three_axis_dist(motor_angles, last_angle);

View File

@@ -62,11 +62,11 @@
#undef HOMING_CYCLE_2
#endif
// we only want one homing sequence...no backoff and repeat
#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