mirror of
https://github.com/bdring/Grbl_Esp32.git
synced 2025-09-03 03:13:25 +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
|
||||
#define GRBL_VERSION "1.1f"
|
||||
#define GRBL_VERSION_BUILD "20200114"
|
||||
#define GRBL_VERSION_BUILD "20200115"
|
||||
|
||||
//#include <sdkconfig.h>
|
||||
#include <Arduino.h>
|
||||
|
@@ -275,16 +275,23 @@ void report_init_message(uint8_t client)
|
||||
|
||||
// Grbl help message
|
||||
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.
|
||||
// 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.
|
||||
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';
|
||||
|
||||
@@ -322,7 +329,7 @@ void report_grbl_settings(uint8_t client) {
|
||||
strcat(rpt, "$32=0\r\n");
|
||||
#endif
|
||||
|
||||
#ifdef SHOW_EXTENDED_SETTINGS
|
||||
if (show_extended) {
|
||||
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, "$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++) {
|
||||
sprintf(setting, "$%d=%5.3f\r\n", 90 + index, settings.machine_float[index]); strcat(rpt, setting);
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// Print axis settings
|
||||
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 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;
|
||||
#ifdef SHOW_EXTENDED_SETTINGS
|
||||
case 4: 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 6: 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;
|
||||
#endif
|
||||
|
||||
case 4: if (show_extended) {sprintf(setting, "$%d=%4.3f\r\n", val+idx, settings.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: if (show_extended) {sprintf(setting, "$%d=%d\r\n", val+idx, settings.microsteps[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;
|
||||
|
||||
}
|
||||
}
|
||||
val += AXIS_SETTINGS_INCREMENT;
|
||||
|
@@ -132,7 +132,7 @@ void report_init_message(uint8_t client);
|
||||
void report_grbl_help(uint8_t client);
|
||||
|
||||
// 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.
|
||||
void report_echo_line_received(char *line, uint8_t client);
|
||||
|
@@ -43,7 +43,7 @@ void settings_init()
|
||||
if(!read_global_settings()) {
|
||||
report_status_message(STATUS_SETTING_READ_FAIL, CLIENT_SERIAL);
|
||||
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 Grbl axis settings numbering scheme. Starts at START_VAL, every INCREMENT, over N_SETTINGS.
|
||||
#ifndef SHOW_EXTENDED_SETTINGS
|
||||
#define AXIS_N_SETTINGS 4
|
||||
#else
|
||||
#define AXIS_N_SETTINGS 8
|
||||
#endif
|
||||
#define AXIS_N_SETTINGS 8 // includes extended settings
|
||||
|
||||
#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
|
||||
|
||||
|
@@ -183,13 +183,18 @@ uint8_t system_execute_line(char *line, uint8_t client)
|
||||
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.
|
||||
break;
|
||||
case '$': case 'G': case 'C': case 'X':
|
||||
case '$': case 'G': case 'C': case 'X': case '+':
|
||||
if ( line[2] != 0 ) { return(STATUS_INVALID_STATEMENT); }
|
||||
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.
|
||||
else { report_grbl_settings(client); }
|
||||
break;
|
||||
else {
|
||||
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
|
||||
// TODO: Move this to realtime commands for GUIs to request this data during suspend-state.
|
||||
report_gcode_modes(client);
|
||||
|
Reference in New Issue
Block a user