See the changelog for details.

This commit is contained in:
Terje Io
2022-09-26 11:07:23 +02:00
parent 7f53b2115b
commit 357e4ca077
8 changed files with 60 additions and 12 deletions

View File

@@ -1,5 +1,7 @@
## grblHAL ##
__New:__ The core now has support for up to 8 axes, and for 4-6 axes configurations ABC axis letters can be remapped to UVW.
grblHAL has [many extensions](https://github.com/grblHAL/core/wiki) that may cause issues with some senders. As a workaround for these a [compile time option](https://github.com/grblHAL/core/wiki/Changes-from-grbl-1.1#workaround) has been added that disables extensions selectively.
__IMPORTANT!__ grblHAL defaults to normally closed \(NC\) switches for inputs, if none are connected when testing it is likely that the controller will start in alarm mode.
@@ -73,9 +75,9 @@ List of Supported G-Codes:
- Tool Change: M6* (Two modes possible: manual** - supports jogging, ATC), M61
- Switches: M48, M49, M50, M51, M53
- Input/uutput control***: M62, M63, M64, M65, M66, M67, M68
- Valid Non-Command Words: A*, B*, C*, F, H*, I, J, K, L, N, P, Q*, R, S, T, X, Y, Z
- Valid Non-Command Words: A*, B*, C*, D, E*, F, H*, I, J, K, L, N, P, Q*, R, S, T, U*, V*, W*, X, Y, Z
* driver/configuration dependent.
* driver/configuration dependent. W axis only available when ABC axes are remapped to UVW.
** requires compatible GCode sender due to protocol extensions, new state and RT command.
*** number of inputs and outputs supported dependent on driver implementation.
**** supports multi turn arcs from build 20220718.
@@ -84,4 +86,4 @@ List of Supported G-Codes:
Some [plugins](https://github.com/grblHAL/plugins) implements additional M-codes.
---
2022-09-22
2022-09-25

View File

@@ -1,5 +1,27 @@
## grblHAL changelog
Build 20220925:
Core:
* Added `[AXS:<number of axes>:<axisletters>]` line to `$I` report response, replaces the string `ABC2UVW` from the `NEWOPT` element in the `$I` response.
* Fixed `|Pn:` real time report element pin state conflict: `F` is now used for motor fault and `M` for motor warning, `U`, `V` and `W` for limit switch status.
Further details can be found in the [wiki](https://github.com/grblHAL/core/wiki/Report-extensions).
Plugins:
* Laser: Added experimental support for LaserBurn clusters, for faster engraving.
* SDCard: Minor tweak to enable plugins to modify the file stream without losing real time report extensions.
Drivers:
* ESP32: added directory for embedded read-only files and moved related files there.
---
Build 20220922:
Core:
@@ -41,7 +63,6 @@ __NOTE:__ All setting values will be reset when this option is changed, backup a
__NOTE:__ In a later version this option will be removed and dynamic allocation will become standard.
* Added experimental [configuration option](https://github.com/grblHAL/core/blob/master/config.h) `AXIS_REMAP_ABC2UVW` for remapping ABC axis letters to UVW.
When enabled the string `ABC2UVW` will be added to the `NEWOPT` element in the `$I` response, this can be used by senders to set up the UI etc.
Drivers:

View File

@@ -72,6 +72,7 @@ typedef void (*on_program_completed_ptr)(program_flow_t program_flow, bool check
typedef void (*on_execute_realtime_ptr)(sys_state_t state);
typedef void (*on_unknown_accessory_override_ptr)(uint8_t cmd);
typedef bool (*on_unknown_realtime_cmd_ptr)(char c);
typedef void (*on_report_handlers_init_ptr)(void);
typedef void (*on_report_options_ptr)(bool newopt);
typedef void (*on_report_command_help_ptr)(void);
typedef void (*on_global_settings_restore_ptr)(void);
@@ -97,6 +98,7 @@ typedef struct {
report_t report;
// grbl core events - may be subscribed to by drivers or by the core.
on_state_change_ptr on_state_change;
on_report_handlers_init_ptr on_report_handlers_init;
on_program_completed_ptr on_program_completed;
on_execute_realtime_ptr on_execute_realtime;
on_execute_realtime_ptr on_execute_delay;

2
grbl.h
View File

@@ -34,7 +34,7 @@
#else
#define GRBL_VERSION "1.1f"
#endif
#define GRBL_BUILD 20220922
#define GRBL_BUILD 20220925
// The following symbols are set here if not already set by the compiler or in config.h
// Do NOT change here!

View File

@@ -70,6 +70,11 @@
openpnp_init();
#endif
#if LB_CLUSTERS_ENABLE
extern void lb_clusters_init (void);
lb_clusters_init();
#endif
#if WEBUI_ENABLE
extern void webui_init (void);
webui_init();

View File

@@ -228,9 +228,9 @@ inline static char *control_signals_tostring (char *buf, control_signals_t signa
if (hal.signals_cap.stop_disable ? signals.stop_disable : sys.flags.optional_stop_disable)
*buf++ = 'T';
if (signals.motor_warning)
*buf++ = 'W';
if (signals.motor_fault)
*buf++ = 'M';
if (signals.motor_fault)
*buf++ = 'F';
*buf = '\0';
@@ -247,6 +247,9 @@ void report_init (void)
void report_init_fns (void)
{
memcpy(&grbl.report, &report_fns, sizeof(report_t));
if(grbl.on_report_handlers_init)
grbl.on_report_handlers_init();
}
// Handles the primary confirmation protocol response for streaming interfaces and human-feedback.
@@ -933,8 +936,21 @@ void report_build_info (char *line, bool extended)
if(extended) {
uint_fast8_t idx;
nvs_io_t *nvs = nvs_buffer_get_physical();
strcat(strcpy(buf, "[AXS:"), uitoa(N_AXIS));
append = &buf[6];
*append++ = ':';
for(idx = 0; idx < N_AXIS; idx++)
*append++ = *axis_letter[idx];
*append = '\0';
hal.stream.write(strcat(buf, "]" ASCII_EOL));
strcpy(buf, "[NEWOPT:ENUMS,RT");
strcat(buf, settings.flags.legacy_rt_commands ? "+," : "-,");
@@ -989,10 +1005,6 @@ void report_build_info (char *line, bool extended)
if(hal.rtc.get_datetime)
strcat(buf, "RTC,");
#ifdef AXIS_REMAP_ABC2UVW
strcat(buf, "ABC2UVW,");
#endif
#ifdef PID_LOG
strcat(buf, "PID,");
#endif

View File

@@ -555,7 +555,7 @@ PROGMEM static const setting_detail_t setting_detail[] = {
{ Settings_Axis_Rotational, Group_Stepper, "Rotational axes", NULL, Format_Bitfield, "U-Axis", NULL, NULL, Setting_IsExtendedFn, set_rotational_axes, get_int, NULL },
#elif N_AXIS == 5
{ Settings_Axis_Rotational, Group_Stepper, "Rotational axes", NULL, Format_Bitfield, "U-Axis,V-Axis", NULL, NULL, Setting_IsExtendedFn, set_rotational_axes, get_int, NULL },
#elif N_AXIS = 6
#elif N_AXIS == 6
{ Settings_Axis_Rotational, Group_Stepper, "Rotational axes", NULL, Format_Bitfield, "U-Axis,V-Axis,W-Axis", NULL, NULL, Setting_IsExtendedFn, set_rotational_axes, get_int, NULL },
#endif
#endif

View File

@@ -220,7 +220,13 @@ uint8_t spindle_get_count (void);
bool spindle_select (spindle_id_t spindle_id);
spindle_cap_t spindle_get_caps (void);
/*! \brief Update PWM spindle capabilities with run-time determined parameters.
\param pwm_caps pointer to \a spindle_pwm_t struct, NULL if spindle if not PWM capable.
*/
void spindle_update_caps (spindle_pwm_t *pwm_caps);
spindle_id_t spindle_get_current (void);
#endif