mirror of
https://github.com/bdring/Grbl_Esp32.git
synced 2025-09-05 20:03:04 +02:00
Added $+ command to show extended $$ setting
If you don't have SHOW_EXTENDED_SETTING defined, you can see those settings by sending $+
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
// Grbl versioning system
|
// Grbl versioning system
|
||||||
#define GRBL_VERSION "1.1f"
|
#define GRBL_VERSION "1.1f"
|
||||||
#define GRBL_VERSION_BUILD "20200114"
|
#define GRBL_VERSION_BUILD "20200115"
|
||||||
|
|
||||||
//#include <sdkconfig.h>
|
//#include <sdkconfig.h>
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
@@ -275,16 +275,23 @@ void report_init_message(uint8_t client)
|
|||||||
|
|
||||||
// Grbl help message
|
// Grbl help message
|
||||||
void report_grbl_help(uint8_t client) {
|
void report_grbl_help(uint8_t client) {
|
||||||
grbl_send(client,"[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H $F ~ ! ? ctrl-x]\r\n");
|
grbl_send(client,"[HLP:$$ $+ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H $F ~ ! ? ctrl-x]\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Grbl global settings print out.
|
// Grbl global settings print out.
|
||||||
// NOTE: The numbering scheme here must correlate to storing in settings.c
|
// NOTE: The numbering scheme here must correlate to storing in settings.c
|
||||||
void report_grbl_settings(uint8_t client) {
|
// Extended setting will be displayed if force_extended is true or #ifdef SHOW_EXTENDED_SETTINGS
|
||||||
|
void report_grbl_settings(uint8_t client, uint8_t show_extended) {
|
||||||
// Print Grbl settings.
|
// Print Grbl settings.
|
||||||
char setting[20];
|
char setting[20];
|
||||||
char rpt[1000];
|
char rpt[1000];
|
||||||
|
|
||||||
|
#ifdef SHOW_EXTENDED_SETTINGS
|
||||||
|
show_extended = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
grbl_sendf(CLIENT_SERIAL, "[MSG:Extended %d]\r\n", show_extended);
|
||||||
|
|
||||||
rpt[0] = '\0';
|
rpt[0] = '\0';
|
||||||
|
|
||||||
@@ -322,7 +329,7 @@ void report_grbl_settings(uint8_t client) {
|
|||||||
strcat(rpt, "$32=0\r\n");
|
strcat(rpt, "$32=0\r\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SHOW_EXTENDED_SETTINGS
|
if (show_extended) {
|
||||||
sprintf(setting, "$33=%5.3f\r\n", settings.spindle_pwm_freq); strcat(rpt, setting);
|
sprintf(setting, "$33=%5.3f\r\n", settings.spindle_pwm_freq); strcat(rpt, setting);
|
||||||
sprintf(setting, "$34=%3.3f\r\n", settings.spindle_pwm_off_value); strcat(rpt, setting);
|
sprintf(setting, "$34=%3.3f\r\n", settings.spindle_pwm_off_value); strcat(rpt, setting);
|
||||||
sprintf(setting, "$35=%3.3f\r\n", settings.spindle_pwm_min_value); strcat(rpt, setting);
|
sprintf(setting, "$35=%3.3f\r\n", settings.spindle_pwm_min_value); strcat(rpt, setting);
|
||||||
@@ -334,9 +341,8 @@ void report_grbl_settings(uint8_t client) {
|
|||||||
|
|
||||||
for (uint8_t index = 0; index<USER_SETTING_COUNT; index++) {
|
for (uint8_t index = 0; index<USER_SETTING_COUNT; index++) {
|
||||||
sprintf(setting, "$%d=%5.3f\r\n", 90 + index, settings.machine_float[index]); strcat(rpt, setting);
|
sprintf(setting, "$%d=%5.3f\r\n", 90 + index, settings.machine_float[index]); strcat(rpt, setting);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// Print axis settings
|
// Print axis settings
|
||||||
uint8_t idx, set_idx;
|
uint8_t idx, set_idx;
|
||||||
@@ -348,12 +354,12 @@ void report_grbl_settings(uint8_t client) {
|
|||||||
case 1: sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.max_rate[idx]); strcat(rpt, setting); break;
|
case 1: sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.max_rate[idx]); strcat(rpt, setting); break;
|
||||||
case 2: sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.acceleration[idx]/(60*60)); strcat(rpt, setting); break;
|
case 2: sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.acceleration[idx]/(60*60)); strcat(rpt, setting); break;
|
||||||
case 3: sprintf(setting, "$%d=%4.3f\r\n", val+idx, -settings.max_travel[idx]); strcat(rpt, setting); break;
|
case 3: sprintf(setting, "$%d=%4.3f\r\n", val+idx, -settings.max_travel[idx]); strcat(rpt, setting); break;
|
||||||
#ifdef SHOW_EXTENDED_SETTINGS
|
|
||||||
case 4: sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.current[idx]); strcat(rpt, setting); break;
|
case 4: if (show_extended) {sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.current[idx]); strcat(rpt, setting);} break;
|
||||||
case 5: sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.hold_current[idx]); strcat(rpt, setting); break;
|
case 5: if (show_extended) {sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.hold_current[idx]); strcat(rpt, setting);} break;
|
||||||
case 6: sprintf(setting, "$%d=%d\r\n", val+idx, settings.microsteps[idx]); strcat(rpt, setting); break;
|
case 6: if (show_extended) {sprintf(setting, "$%d=%d\r\n", val+idx, settings.microsteps[idx]); strcat(rpt, setting);} break;
|
||||||
case 7: sprintf(setting, "$%d=%d\r\n", val+idx, settings.stallguard[idx]); strcat(rpt, setting); break;
|
case 7: if (show_extended) {sprintf(setting, "$%d=%d\r\n", val+idx, settings.stallguard[idx]); strcat(rpt, setting);} break;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val += AXIS_SETTINGS_INCREMENT;
|
val += AXIS_SETTINGS_INCREMENT;
|
||||||
|
@@ -132,7 +132,7 @@ void report_init_message(uint8_t client);
|
|||||||
void report_grbl_help(uint8_t client);
|
void report_grbl_help(uint8_t client);
|
||||||
|
|
||||||
// Prints Grbl global settings
|
// Prints Grbl global settings
|
||||||
void report_grbl_settings(uint8_t client);
|
void report_grbl_settings(uint8_t client, uint8_t show_extended);
|
||||||
|
|
||||||
// Prints an echo of the pre-parsed line received right before execution.
|
// Prints an echo of the pre-parsed line received right before execution.
|
||||||
void report_echo_line_received(char *line, uint8_t client);
|
void report_echo_line_received(char *line, uint8_t client);
|
||||||
|
@@ -43,7 +43,7 @@ void settings_init()
|
|||||||
if(!read_global_settings()) {
|
if(!read_global_settings()) {
|
||||||
report_status_message(STATUS_SETTING_READ_FAIL, CLIENT_SERIAL);
|
report_status_message(STATUS_SETTING_READ_FAIL, CLIENT_SERIAL);
|
||||||
settings_restore(SETTINGS_RESTORE_ALL); // Force restore all EEPROM data.
|
settings_restore(SETTINGS_RESTORE_ALL); // Force restore all EEPROM data.
|
||||||
report_grbl_settings(CLIENT_SERIAL); // only the serial could be working at this point
|
report_grbl_settings(CLIENT_SERIAL, false); // only the serial could be working at this point
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -75,11 +75,8 @@
|
|||||||
// #define SETTING_INDEX_G92 N_COORDINATE_SYSTEM+2 // Coordinate offset (G92.2,G92.3 not supported)
|
// #define SETTING_INDEX_G92 N_COORDINATE_SYSTEM+2 // Coordinate offset (G92.2,G92.3 not supported)
|
||||||
|
|
||||||
// Define Grbl axis settings numbering scheme. Starts at START_VAL, every INCREMENT, over N_SETTINGS.
|
// Define Grbl axis settings numbering scheme. Starts at START_VAL, every INCREMENT, over N_SETTINGS.
|
||||||
#ifndef SHOW_EXTENDED_SETTINGS
|
#define AXIS_N_SETTINGS 8 // includes extended settings
|
||||||
#define AXIS_N_SETTINGS 4
|
|
||||||
#else
|
|
||||||
#define AXIS_N_SETTINGS 8
|
|
||||||
#endif
|
|
||||||
#define AXIS_SETTINGS_START_VAL 100 // NOTE: Reserving settings values >= 100 for axis settings. Up to 255.
|
#define AXIS_SETTINGS_START_VAL 100 // NOTE: Reserving settings values >= 100 for axis settings. Up to 255.
|
||||||
#define AXIS_SETTINGS_INCREMENT 10 // Must be greater than the number of axis settings
|
#define AXIS_SETTINGS_INCREMENT 10 // Must be greater than the number of axis settings
|
||||||
|
|
||||||
|
@@ -183,13 +183,18 @@ uint8_t system_execute_line(char *line, uint8_t client)
|
|||||||
if(line[2] != '=') { return(STATUS_INVALID_STATEMENT); }
|
if(line[2] != '=') { return(STATUS_INVALID_STATEMENT); }
|
||||||
return(gc_execute_line(line, client)); // NOTE: $J= is ignored inside g-code parser and used to detect jog motions.
|
return(gc_execute_line(line, client)); // NOTE: $J= is ignored inside g-code parser and used to detect jog motions.
|
||||||
break;
|
break;
|
||||||
case '$': case 'G': case 'C': case 'X':
|
case '$': case 'G': case 'C': case 'X': case '+':
|
||||||
if ( line[2] != 0 ) { return(STATUS_INVALID_STATEMENT); }
|
if ( line[2] != 0 ) { return(STATUS_INVALID_STATEMENT); }
|
||||||
switch( line[1] ) {
|
switch( line[1] ) {
|
||||||
case '$' : // Prints Grbl settings
|
case '$': case '+' : // Prints Grbl settings
|
||||||
if ( sys.state & (STATE_CYCLE | STATE_HOLD) ) { return(STATUS_IDLE_ERROR); } // Block during cycle. Takes too long to print.
|
if ( sys.state & (STATE_CYCLE | STATE_HOLD) ) { return(STATUS_IDLE_ERROR); } // Block during cycle. Takes too long to print.
|
||||||
else { report_grbl_settings(client); }
|
else {
|
||||||
break;
|
if (line[1] == '$')
|
||||||
|
report_grbl_settings(client, false); // entended settings depend on SHOW_EXTENDED_SETTINGS
|
||||||
|
else
|
||||||
|
report_grbl_settings(client, true); // force display of extended settings
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'G' : // Prints gcode parser state
|
case 'G' : // Prints gcode parser state
|
||||||
// TODO: Move this to realtime commands for GUIs to request this data during suspend-state.
|
// TODO: Move this to realtime commands for GUIs to request this data during suspend-state.
|
||||||
report_gcode_modes(client);
|
report_gcode_modes(client);
|
||||||
|
Reference in New Issue
Block a user