mirror of
https://github.com/bdring/Grbl_Esp32.git
synced 2025-01-16 21:58:13 +01:00
d35d67e195
* Fixing raster_test.nc - Grbl does not like the feedrate without a G1...should look at the rules here. * Settings (#408) * Settings WIP * Fixed a ton of compilation errors * Use const char * for object names In hopes that it is more space efficient than string * Remove number aliases for extended settings * Settings WIP * Fixed a ton of compilation errors * Use const char * for object names In hopes that it is more space efficient than string * Remove number aliases for extended settings * Settings WIP - factor into files * Compiles now * Checkpoint sort of working * Move grbl names into Settings objects * Reports working better * GRBL order for settings display * platformio debug flags * Removed ifdef'ed dead code * More dead code removal * Removed settings struct * Fixed bugs with enums and checks, added backspace handling, fixed upper casing and space trimming. * Fewer files part 1 * Fewer settings files part 2 * Get rid of problem reports from Intellisense * WIP on WebUI interaction * WebCommands are working * GrblCommands not dollarCommands * Split Commands and Settings * Working with WebUI * Remove prefs references and redundant #defines * Dead code removal * Fixed settings names * Cleaned out dead code and fixed ENABLE_WIFI off * Fixed acceleration units. * Removed Notes file, disabled private debug .ini * accel defaults in seconds not minutes * Update accel defaults * Fixed key length problem, added $ help * Fixed read and store coord data - changed MAX_N_AXIS to N_AXIS * Respect config options for enabling some commands * Fixed "const" problem in last commit * startup lines, build info, idle state fixes * Cleanup TODOs and mark some as Settings related * Idle state for sets, canonical gcode for startup lines * Fixed botched IDLE or ALARM test * Fixed motor diable with sleep $SLP - Motors were not disabling with sleep. This was probably a problem for a while * Don't list settings while running * Added jog, with gcode preprocessing for $Nn and $J * Removed dead code * More dead code removed * Compiles on Arduino IDE Got rid of c++11 features and std::string's * Deleted a .ino.cpp that snuck into a commit * Fixed IP address defaults * Fixed memory leak that was causing crashes * Fixed web settings string length check limits * Implemented ESP / ESP0 web help * Added error list $e / $e=nn * Fixed webui setting of enumerated types Co-authored-by: bdring <barton.dring@gmail.com> * Fix compile with SD card not enabled. * Partial match of settings names (#419) * Partial match of settings names * Removed a dead line * Fix compile problems with different ENABLE_s Some WebUI commands were present even when the relevant ENABLE_ was not defined, This corrects that and make the presence/absense of the various commands correspond to the old code with different combinations of web-related enables in config.h To make things easier to find, the order of the web command functions in the file now corresponds with the listed order of the command names. * Fixed instability in changing settings * Linux fix * Fixed #430 * Bump build date to reflect change to lowrider_v1p2.h * Fix #431 Added INVERT_SPINDLE_OUTPUT_PIN option * Bump build date * I2s (#448) * Travis CI build test covers all machine config * Just copied from Marlin (first commit) * First ported to Grbl_Esp32 (not yet working) * Compile i2s only if USE_I2S_EXPANDER is defined. * rename defines and filenames for I2S I/O expander * Pulse generator has been implemented * Fix I2S hander * remove double lock from i2s_reset_fifo and make file static functions to static * Implement stepper stream callbacks * Fix some bit manipulation bugs * make function name unique * make define name unique * define a base number of extended pins * machine configuration for the "esp32 printer controller" * Simplify stepper callbacks * Cleanup & add some detail comments, stepper bug fix bugfix - stepper timer woken up unfortunately - pulse function should push at least one sample in normal * Enable the 32-bits stepper streamer * Faster push samples, comment fixed * Small comment fix * Finally, the stepper worked properly - I2S format corrected - Fixed an indefinite buffer data being used at idle - Respond to stop and start requests for steppers * Code has been reverted to always output a bitstream * Fix buffer clear method Fixed a bug in clearing the buffer. - Fixed a problem in which the lower 8 bits of data were used repeatedly by mistake due to a code error, although originally 32 bits of data should be set. The order of initialization is changed. - I first enabled the I2S I/O expander and then the I2S Stepper. - The I2S pins are set at the beginning of the init function - Enable the I2S ISR after the expander task has been created Removed code about unused push buffers. * Implement exclusive access to the internal GPIO variable and the pulse period parameter is limited to 32 bits (due to the computational speed). * Code cleanup - Renamed the function to represent the actual behavior - I fixed an explanation in the comments that was wrong * Renamed the function to represent the actual behavior * Move I/O macros to i2s_ioexpander.h Removed fastio.h, which affects the entire Grbl source. * raised the resolution of the stepper pulse I raised the minimum resolution of the stepper pulse from 4us to 2us. The buffer size and number of buffers were adjusted. * Try to implement the I2S reset mechanism(not yet works) I started implementing the reset process for the I2S I/O expander. It's still not enough. * Fix unintended 0 data when I2S restart * Comments modified to match actual behavior * pulse clock back to the same speed as the original * Revert "Merge remote-tracking branch 'upstream/Devt' into i2s_io_expander" This reverts commit 5f57189f1a35e8ccd92177192092316fb6ff3eef, reversing changes made to c4d827c7a81a3395cbbf7933c2abce5316939cb7. * Revert "Revert "Merge remote-tracking branch 'upstream/Devt' into i2s_io_expander"" This reverts commit ab79f4a59a1b9e5dacd24b98456fb2982e47fcaf. * Fix Guru meditation error The internal state of the i2s should start with the PAUSED state. Add exclusive handling in the pulser state check and state change. * Change function names and internal state names Based on Mitch-san's suggestion. https://github.com/bdring/Grbl_Esp32/pull/372#issuecomment-620303937 * Clearly initialize the Pulser state It's not necessary, but it's easy to understand. Also, if the enum value changes in the future, the problem is not placed. * Delete Grbl_Esp32.ino.cpp * Prevents unintended generation of 0 data (Again) Fixing the code generated unintended 0 data depending on the timing. I decided to monitor the arrival status of FIFO data and control conf.tx_stop_en to ensure the generation of zero data regardless of the timing. * Clean up Modified to use the correct union as a descriptor queue link. * Clearing the DMA buffer with a dedicated function I made sure I didn't write the same code twice. * Fix some comments * Cleanup comments * Test configuration for ESP32 Printer Controller * Homing support Move the I2S reset function call from mc_reset() to st_go_idle() to stop motors immediately. * Update configuration for the test board Settings for combination testing with servo axes. - Z servo axis is connected to GPIO15 * Prevents unintended generation of 0 data (change implimentation) Since the synchronization process by status monitoring does not work as intended, I decided to deal with it by simply waiting for a fixed time. * Fix about unsigned integer Fixed a problem with using signed values for unsigned integers. * Define pin numbers for tne I2S expander * Update esp32_printer_controller.h * Fix typo and suppress warning at grbl_trinamic.cpp * Support the 6axis test board * Fix the data in the left channel to 0 * Reconfig for JTAG debugging * Realtime I2S I/O Expander (Quick hack) Undef "I2S_STEPPER_STREAM" if you intend to use the real-time expander control method. * Fix I2S reset timing Fixed an issue where the buffer output was reset at an inappropriate timing. * Move some definitions to the header to compute the delay * Prevent overrun when enabled the HardLimit feature I2S_STEPPER_STREAM only * In I2S real time mode, FIFO, DMA, ISR and Task are not used Now, unnecessary code is not executed. * A paranoid fix for deterring I2S DMA/ISR processing * Tweaks during PCB testing - Added some test code - Fixed B and C step generation. - Made StepStick and Trinamic versions of machine def file * Update spi_shift_reg_6axis_xyzabc.h had wrong pin for !RESET * Some changes that helped * Fix comments about I2S channel * Moved some stuff out of stepper.cpp I moved some stuff out of stepper.cpp using the existing the global MotorClass interface. They will need to be changed when actual objects are used, but the stepper.cpp file will stay the same. * More code moving The goal is to make it easier to merge with MotorClass sometime in the future. * More code reduction in stepper.cpp plus testing on non SR machine. - moved I2S_IOEXP_PIN_BASE to config.h - change axis enable pins to disable pins for consistancy - Fixed after testing on non SR board with and without RMT. * Merged in some more motor class stuff - Uses StandardStepperClass for all motors now to do step, dir and enable. The Trinamic code is still the old way until the CS is figured out. * Reviving the lost defines for dual motor * Fixed a variable name about disable/enable the stepper * Removing an unused prototype * Use HAL_digitalWrite instead of I2S_IOEXP_WRITE * Add HAL_digitalRead() * Using I2S functions instead of I2S macros * Remove I2S macros and add definition of bit depth for I2S expander * Make the definition of I2S_IOEXP_NUM_BITS non-mandatory If the definition of I2S_IOEXP_NUM_BITS is omitted, 32 is used. * Check if STEPPER MS has been defined. * Removed the rounding up of unnecessary pulse width values. * I2S pin number conversion is done using macros. * Supports 16-bit shift register (2 chains) configuration. * Cleaning up ganged axes - #define USE_GANGED_AXES was not needed. That removed some code. - ABC axes did not have code for ganged axes...added it. - Created a test machine def for XXYYCC machine. * Added squaring of AB&C axes * Delete Grbl_Esp32.ino.cpp * Rename Machines files for SR test board * Fixed a compilation error when not using WiFi. * Eliminate the error of not finding the required definition * Fix typo * Remove an obsoleted function to disable steppers Use motors_set_disable() instead of set_stepper_disable() * Update GCodePreprocessor.cpp * Correspondence to the Setting class * Quick fix for servo axis We are in the process of migrating to RcServoClass, so I'm making minimal modifications to make sure it compiles successfully. * Suppresses compile errors when WIFI is disabled. * Updated the MotorClass and RcServo Class * Fix typo in MotorClass * Fix missing endif in WebSettings * Fix complile error in WebSetting * Update espresponse.h * Fixed a compile error in case-sensitive environments * Update config.h * Update debug.ini Added a configuration skeleton for debugging on ESP-Prog and macOS/Linux as a comment. * Rename i2s_ioexpander.[cpp|h] to i2s_out.[cpp.|h] * I2S-related functions and variables changed to be based on "i2s out". * I2S-related defines changed to be based on "i2s out". * Change the I2S out task name * Changed the name of the definition for enabling the I2S OUT feature * Avoid recursive calls when called from overridden digitalWrite() * Fix typo in comment * Overload digitalWrite() etc (by Mitch Bradley) Catch up with Mitch-san's Pins branch.387fc14ea8
* Update i2s_out_xyzabc_tmc to use realtime I2S out by default * Add IRAM_ATTR attribute to new Arduino-compatible functions. * Make sure to use the latest version of TMCStepper * Changed back to using I2S stream mode in i2s_out_xyzabc_tmc. * Override the CS switch function of the TMCStpper to insert a short delay. * Clean up * Fix pinName() overwrite * "I2S Steps" message when it starts up I have changed the "I2S Steps" message on startup If the I2S streamer is used. * Working on Trinamic Driver class - Trying to make Trinamic driver class work with I2S - grbl_trinamic.cpp works - class does not right now * I2S bit initial values can now be specified * Make the initial values of I2S definable * Initial I2S value defined for i2s_out for i2s_out_xyzabc_tmc * CS pin of the motor to be connected to SPI is set to HIGH by default. * Fix typo in MotorCLass * Handle UNDEFINED_PIN in digitalWrite and pinMode Following a suggestion by Bart, this change permits simplication of spindle code by removing tests that can be handled more cleanly by just doing nothing when pinMode or digitalWrite are presented with an undefined pin. * CS pin of the motor connected to SPI is set to OUTPUT by default. Pin mode is not required for I2S out, but it is required for GPIOs. * Changed the initialization timing of I2S to just after setup(). Whenever digitalWrite() or pinMode() is called, it should not be a problem. * Remove an unnecessary definition * The SPI speed of Trinamic was reduced to 100KHz. Keep it at 100 KHz, as the TMC2130 sometimes fails to initialize when set to approximately 200 KHz or higher. * Enabled ENABLE_SD_CARD in "config.h". * Quick fix an error in i2s_out_xyzabc_tmc_class.h. * Preventing details from being displayed in the top-level file * Execute the digitalWrite function before pinMode to prevent unintentional LOWs. * Specifies the initial value of I2S out to prevent CS low for SPI-connected motor drivers. * Remove unnecessary comments. * Fixed #430 * Bumped build date to cover #430 fix * Fixed Tranimic motor class. - Need to implement the stallguard * Added AxisMaskSetting and stallguard_debug_mask * Added $L to one-line help message * got stallguard features working - Need to work on reading motor settings after they change. - void TrinamicDriver :: read_settings() via void motors_read_settings() * Latest updates - Got the setting changes updating via SPI - Need to test some more and write the stall tuning process. - Need to convert older machine definitions to motor class style. * Some updates - Renamed old trinamic files to make sure they do not compile. Will remove soon. - Cleaned up some code and old machine definitions. * Updates - Getting Close -Stallguard tuning and operation looks good - Fixed limits switch pin numbers for schematic error - Changed motors_homing_mode to use a mask to allow optimization of SPI - fix platformio.ini to match Arduino IDE * Simplify the I2S output pin names (#442) * Updates to machine defs for motor class * Fixed issues with trinamic hold/run current - Both are now float values in Amps. The conversion to what TMCStepper wants is done in the motor class. * More I2S name simplification (#443) * Further simplify I2S names ... and remove an obsolete machine definition. * Fix pin name display * Oops * Changes from machine def testing - Updated grbl date and revisions - Make test_drive the default machine - Fixed sign error in servo calibration - Some config MSG printing cleanup for consistency * Fix Arduino IDE compilation Co-authored-by: odaki <odaki@mars.dti.ne.jp> Co-authored-by: bdring <barton.dring@gmail.com> * Fix i2s compile problem Tested with i2s_out_xxyyzz.h on platformio and Arduino * update TMCStepper library version * Fix PWM Spindle Issues - Pulling in enable fixes from master - `if (_off_with_zero_speed && sys.spindle_speed == 0)` somehow got deleted. * $33 is spindle freq, not type (#457) * $33 is spindle freq, not type * Spindle type is read from settings not #define Co-authored-by: bdring <barton.dring@gmail.com> * ESP32 Exception decoder (#458) * Enable ESP32 Exception Decoder in pio monitor Requires platformio espressif32 platform version >= 1.12.4 * Update platformio.ini * Faster Trinamic configuration when used with the I2S I/O expander (#445) * Travis CI build test covers all machine config * Just copied from Marlin (first commit) * First ported to Grbl_Esp32 (not yet working) * Compile i2s only if USE_I2S_EXPANDER is defined. * rename defines and filenames for I2S I/O expander * Pulse generator has been implemented * Fix I2S hander * remove double lock from i2s_reset_fifo and make file static functions to static * Implement stepper stream callbacks * Fix some bit manipulation bugs * make function name unique * make define name unique * define a base number of extended pins * machine configuration for the "esp32 printer controller" * Simplify stepper callbacks * Cleanup & add some detail comments, stepper bug fix bugfix - stepper timer woken up unfortunately - pulse function should push at least one sample in normal * Enable the 32-bits stepper streamer * Faster push samples, comment fixed * Small comment fix * Finally, the stepper worked properly - I2S format corrected - Fixed an indefinite buffer data being used at idle - Respond to stop and start requests for steppers * Code has been reverted to always output a bitstream * Fix buffer clear method Fixed a bug in clearing the buffer. - Fixed a problem in which the lower 8 bits of data were used repeatedly by mistake due to a code error, although originally 32 bits of data should be set. The order of initialization is changed. - I first enabled the I2S I/O expander and then the I2S Stepper. - The I2S pins are set at the beginning of the init function - Enable the I2S ISR after the expander task has been created Removed code about unused push buffers. * Implement exclusive access to the internal GPIO variable and the pulse period parameter is limited to 32 bits (due to the computational speed). * Code cleanup - Renamed the function to represent the actual behavior - I fixed an explanation in the comments that was wrong * Renamed the function to represent the actual behavior * Move I/O macros to i2s_ioexpander.h Removed fastio.h, which affects the entire Grbl source. * raised the resolution of the stepper pulse I raised the minimum resolution of the stepper pulse from 4us to 2us. The buffer size and number of buffers were adjusted. * Try to implement the I2S reset mechanism(not yet works) I started implementing the reset process for the I2S I/O expander. It's still not enough. * Fix unintended 0 data when I2S restart * Comments modified to match actual behavior * pulse clock back to the same speed as the original * Revert "Merge remote-tracking branch 'upstream/Devt' into i2s_io_expander" This reverts commit 5f57189f1a35e8ccd92177192092316fb6ff3eef, reversing changes made to c4d827c7a81a3395cbbf7933c2abce5316939cb7. * Revert "Revert "Merge remote-tracking branch 'upstream/Devt' into i2s_io_expander"" This reverts commit ab79f4a59a1b9e5dacd24b98456fb2982e47fcaf. * Fix Guru meditation error The internal state of the i2s should start with the PAUSED state. Add exclusive handling in the pulser state check and state change. * Change function names and internal state names Based on Mitch-san's suggestion. https://github.com/bdring/Grbl_Esp32/pull/372#issuecomment-620303937 * Clearly initialize the Pulser state It's not necessary, but it's easy to understand. Also, if the enum value changes in the future, the problem is not placed. * Delete Grbl_Esp32.ino.cpp * Prevents unintended generation of 0 data (Again) Fixing the code generated unintended 0 data depending on the timing. I decided to monitor the arrival status of FIFO data and control conf.tx_stop_en to ensure the generation of zero data regardless of the timing. * Clean up Modified to use the correct union as a descriptor queue link. * Clearing the DMA buffer with a dedicated function I made sure I didn't write the same code twice. * Fix some comments * Cleanup comments * Test configuration for ESP32 Printer Controller * Homing support Move the I2S reset function call from mc_reset() to st_go_idle() to stop motors immediately. * Update configuration for the test board Settings for combination testing with servo axes. - Z servo axis is connected to GPIO15 * Prevents unintended generation of 0 data (change implimentation) Since the synchronization process by status monitoring does not work as intended, I decided to deal with it by simply waiting for a fixed time. * Fix about unsigned integer Fixed a problem with using signed values for unsigned integers. * Define pin numbers for tne I2S expander * Update esp32_printer_controller.h * Fix typo and suppress warning at grbl_trinamic.cpp * Support the 6axis test board * Fix the data in the left channel to 0 * Reconfig for JTAG debugging * Realtime I2S I/O Expander (Quick hack) Undef "I2S_STEPPER_STREAM" if you intend to use the real-time expander control method. * Fix I2S reset timing Fixed an issue where the buffer output was reset at an inappropriate timing. * Move some definitions to the header to compute the delay * Prevent overrun when enabled the HardLimit feature I2S_STEPPER_STREAM only * In I2S real time mode, FIFO, DMA, ISR and Task are not used Now, unnecessary code is not executed. * A paranoid fix for deterring I2S DMA/ISR processing * Tweaks during PCB testing - Added some test code - Fixed B and C step generation. - Made StepStick and Trinamic versions of machine def file * Update spi_shift_reg_6axis_xyzabc.h had wrong pin for !RESET * Some changes that helped * Fix comments about I2S channel * Moved some stuff out of stepper.cpp I moved some stuff out of stepper.cpp using the existing the global MotorClass interface. They will need to be changed when actual objects are used, but the stepper.cpp file will stay the same. * More code moving The goal is to make it easier to merge with MotorClass sometime in the future. * More code reduction in stepper.cpp plus testing on non SR machine. - moved I2S_IOEXP_PIN_BASE to config.h - change axis enable pins to disable pins for consistancy - Fixed after testing on non SR board with and without RMT. * Merged in some more motor class stuff - Uses StandardStepperClass for all motors now to do step, dir and enable. The Trinamic code is still the old way until the CS is figured out. * Reviving the lost defines for dual motor * Fixed a variable name about disable/enable the stepper * Removing an unused prototype * Use HAL_digitalWrite instead of I2S_IOEXP_WRITE * Add HAL_digitalRead() * Using I2S functions instead of I2S macros * Remove I2S macros and add definition of bit depth for I2S expander * Make the definition of I2S_IOEXP_NUM_BITS non-mandatory If the definition of I2S_IOEXP_NUM_BITS is omitted, 32 is used. * Check if STEPPER MS has been defined. * Removed the rounding up of unnecessary pulse width values. * I2S pin number conversion is done using macros. * Supports 16-bit shift register (2 chains) configuration. * Cleaning up ganged axes - #define USE_GANGED_AXES was not needed. That removed some code. - ABC axes did not have code for ganged axes...added it. - Created a test machine def for XXYYCC machine. * Added squaring of AB&C axes * Delete Grbl_Esp32.ino.cpp * Rename Machines files for SR test board * Fixed a compilation error when not using WiFi. * Eliminate the error of not finding the required definition * Fix typo * Remove an obsoleted function to disable steppers Use motors_set_disable() instead of set_stepper_disable() * Update GCodePreprocessor.cpp * Correspondence to the Setting class * Quick fix for servo axis We are in the process of migrating to RcServoClass, so I'm making minimal modifications to make sure it compiles successfully. * Suppresses compile errors when WIFI is disabled. * Updated the MotorClass and RcServo Class * Fix typo in MotorClass * Fix missing endif in WebSettings * Fix complile error in WebSetting * Update espresponse.h * Fixed a compile error in case-sensitive environments * Update config.h * Update debug.ini Added a configuration skeleton for debugging on ESP-Prog and macOS/Linux as a comment. * Rename i2s_ioexpander.[cpp|h] to i2s_out.[cpp.|h] * I2S-related functions and variables changed to be based on "i2s out". * I2S-related defines changed to be based on "i2s out". * Change the I2S out task name * Changed the name of the definition for enabling the I2S OUT feature * Avoid recursive calls when called from overridden digitalWrite() * Fix typo in comment * Overload digitalWrite() etc (by Mitch Bradley) Catch up with Mitch-san's Pins branch.387fc14ea8
* Update i2s_out_xyzabc_tmc to use realtime I2S out by default * Add IRAM_ATTR attribute to new Arduino-compatible functions. * Make sure to use the latest version of TMCStepper * Changed back to using I2S stream mode in i2s_out_xyzabc_tmc. * Override the CS switch function of the TMCStpper to insert a short delay. * Clean up * Fix pinName() overwrite * "I2S Steps" message when it starts up I have changed the "I2S Steps" message on startup If the I2S streamer is used. * Working on Trinamic Driver class - Trying to make Trinamic driver class work with I2S - grbl_trinamic.cpp works - class does not right now * I2S bit initial values can now be specified * Make the initial values of I2S definable * Initial I2S value defined for i2s_out for i2s_out_xyzabc_tmc * CS pin of the motor to be connected to SPI is set to HIGH by default. * Fix typo in MotorCLass * Handle UNDEFINED_PIN in digitalWrite and pinMode Following a suggestion by Bart, this change permits simplication of spindle code by removing tests that can be handled more cleanly by just doing nothing when pinMode or digitalWrite are presented with an undefined pin. * CS pin of the motor connected to SPI is set to OUTPUT by default. Pin mode is not required for I2S out, but it is required for GPIOs. * Changed the initialization timing of I2S to just after setup(). Whenever digitalWrite() or pinMode() is called, it should not be a problem. * Remove an unnecessary definition * The SPI speed of Trinamic was reduced to 100KHz. Keep it at 100 KHz, as the TMC2130 sometimes fails to initialize when set to approximately 200 KHz or higher. * Enabled ENABLE_SD_CARD in "config.h". * Quick fix an error in i2s_out_xyzabc_tmc_class.h. * Preventing details from being displayed in the top-level file * Execute the digitalWrite function before pinMode to prevent unintentional LOWs. * Specifies the initial value of I2S out to prevent CS low for SPI-connected motor drivers. * Remove unnecessary comments. * Fixed #430 * Bumped build date to cover #430 fix * Fixed Tranimic motor class. - Need to implement the stallguard * Added AxisMaskSetting and stallguard_debug_mask * Added $L to one-line help message * got stallguard features working - Need to work on reading motor settings after they change. - void TrinamicDriver :: read_settings() via void motors_read_settings() * Latest updates - Got the setting changes updating via SPI - Need to test some more and write the stall tuning process. - Need to convert older machine definitions to motor class style. * Some updates - Renamed old trinamic files to make sure they do not compile. Will remove soon. - Cleaned up some code and old machine definitions. * Updates - Getting Close -Stallguard tuning and operation looks good - Fixed limits switch pin numbers for schematic error - Changed motors_homing_mode to use a mask to allow optimization of SPI - fix platformio.ini to match Arduino IDE * Simplify the I2S output pin names (#442) * Updates to machine defs for motor class * Fixed issues with trinamic hold/run current - Both are now float values in Amps. The conversion to what TMCStepper wants is done in the motor class. * More I2S name simplification (#443) * Further simplify I2S names ... and remove an obsolete machine definition. * Fix pin name display * Oops * Changes from machine def testing - Updated grbl date and revisions - Make test_drive the default machine - Fixed sign error in servo calibration - Some config MSG printing cleanup for consistency * Implement I2s_out_shiftout() - Shifts out the state value of the current pin with a bit bang. - Stops DMA/ISR when i2s_out_set_passthrough() is called. - Resume DMA by initializing the buffer when i2s_out_set_stepping() is called. * Reduce delay in I2S real-time mode In I2S real-time mode, the delay time for applying changes can be reduced. * Fix Arduino IDE compilation * Arduino IDE support * Functionalize writing to I2S_CONF_SINGLE_DATA_REG * Switching I2S to static I2S mode when the stepper goes into pass-through mode * Delay adjustment * Cleanup * Update lib_deps in platformio.ini Clearly defined that TMCStepper v0.7.0 or later is required. * Fix reset duaring the WAITING state * Fix i2sOutTask Prevents the execution of unintended pulser callbacks * QuickFix unintended pulse function callbacks * Fixed a problem with I2S state transitions (in progress) * Fix step to end in the homing locating phase * Implement i2s_fillout_dma_buffer() The process of filling the buffer is now a function. * Update build date Co-authored-by: bdring <barton.dring@gmail.com> Co-authored-by: Mitch Bradley <wmb@firmworks.com> * Fixed missing #define GRBL_VERSION "1.3a" - got lost in a web editor conflict fix attempt * Hierarchical setting names (#444) * Hierarchical setting names * Bump date * Fix crash due to large axis values Buffer for axis value was failing on "-10000.111" sized values. * Update grbl.h * Sensor less homing with I2S OUT (#468) * Add a delay to the beginning of the homing. Wait for all empty values in the buffer to be output. * Fixed StallGuard range. The thresholds for stallGuard2 range from -64 to 63. * Fix default hold current The Hold current setting appears to be a current value, not a percentage. * Update grbl.h * Remove the delay It does not needed for Homing. * 6 Pack controller definition files. Early stage testing * More 6-pack updates * 6_pack updates * Authentication for new settings (#470) * Authentication * Remove password first, so $ form works * Fix empty error message in localfs/run * Fixed WiFi/ListAPs problem in AP mode AP listings in AP mode were unreliable. The first try would often fail, the second try would succeed, and subsequent tries would always fail. Now it works reliably. * Fixed $text=val when val contains = * Fixed web commands with key=value params * Added local file listing commands * Cleaned up include structure .. to eliminate circular dependencies. Most .cpp files now only need include grbl.h to get all the common stuff. Includes other than grbl.h are for external libraries that are specific to one module. * Authentication working with new settings. This entailed re-factoring of the command and GCode line parsing and execution structure so lots of formerly-separate code paths no go through common code. In particular, the GCode line normalization - space/comment removal and upper case conversion - is now done in one place, just prior to GCode parsing. That eliminates the need to do it separately for various input paths like serial, SPIFFS, SD, web, etc. The normalization code is quite efficient so the impact on performance should be minimal. Another related change was to maintain separate line input buffers for different "clients", so, for example, telnet input and serial input are separate - not interspersed. Every setting and command can have permissions, so authentication could potentially be applied to legacy GRBL settings in addition to WebUI settings. For now, all legacy settings and commands are open, requiring no authentication. Authentication can be supplied via login in the WebUI case, or on the command line for various serial-like input sources. Authentication applies also to listing functions, so you cannot bypass authentication with $S. * Fixed path problem with localfs/run * Trim whitespace on non-string settings values * Hierarchical names for grbl commands * Compile-tested with different config options Cleaned up the include structure Changed level_authenticate_type to auth_t for brevity * Update 6_pack_stepstick_v1.h * Fixed jog botch * Update 6_pack_stepstick_v1.h * Bit mask (#477) * Infer limit_mask from limit pin definitions Also get rid of some pointless definitions. * Use bit(n) for (1<<n) * Added limit_mask_initialization to limits_init() Co-authored-by: bdring <barton.dring@gmail.com> * SD end bug and paren comment bug * Some cleanup of the trinamic motor class - Cleanup of the way the Stealth, CoolStep, Stallguard modes are set. - More work needs to be done to optimize the mode values. * Fix double-enabled probrem (#483) If you explicitly specify enable for a feature that has already been defined, it is doubly enabled. * Acceleration value has unified to mm/sec^2 (#484) * Fixed python build problem (#480) * A little Trinamic Driver class cleanup * Adding 10V Spindle * Fixed lowrider and platformio.ini Co-authored-by: Mitch Bradley <wmb@firmworks.com> Co-authored-by: odaki <odaki@mars.dti.ne.jp>
37 lines
1.2 KiB
Python
Executable File
37 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# Compile Grbl_ESP32 for each of the machines defined in Machines/ .
|
|
# Add-on files are built on top of a single base.
|
|
# This is useful for automated testing, to make sure you haven't broken something
|
|
|
|
# The output is filtered so that the only lines you see are a single
|
|
# success or failure line for each build, plus any preceding lines that
|
|
# contain the word "error". If you need to see everything, for example to
|
|
# see the details of an errored build, include -v on the command line.
|
|
|
|
from __future__ import print_function
|
|
from builder import buildMachine
|
|
import os, sys
|
|
|
|
extraArgs=None
|
|
|
|
verbose = '-v' in sys.argv or '-q' not in sys.argv
|
|
if '-v' in sys.argv:
|
|
sys.argv.remove('-v')
|
|
if '-q' in sys.argv:
|
|
sys.argv.remove('-q')
|
|
if '-u' in sys.argv:
|
|
sys.argv.remove('-u')
|
|
extraArgs = '--target=upload'
|
|
|
|
exitCode = 255
|
|
if len(sys.argv) == 2:
|
|
exitCode = buildMachine(sys.argv[1], verbose=verbose, extraArgs=extraArgs)
|
|
else:
|
|
print("Usage: ./build-machine.py [-q] [-u] machine_name.h")
|
|
print(' Build for the given machine regardless of machine.h')
|
|
print(' -q suppresses most messages')
|
|
print(' -u uploads to the target after compilation')
|
|
|
|
sys.exit(exitCode)
|