1
0
mirror of https://github.com/bdring/Grbl_Esp32.git synced 2025-09-03 03:13:25 +02:00
Commit Graph

650 Commits

Author SHA1 Message Date
bdring
6f913a39f5 Update atc.cpp 2020-12-02 19:39:01 -06:00
bdring
724c6e36b3 Manual tool change 2020-11-30 14:34:34 -06:00
bdring
5f95a5a763 WIP 2020-11-30 10:29:20 -06:00
bdring
4859b952b1 WIP 2020-11-23 16:17:06 -06:00
bdring
da29a6c8cf Fixed Spindle delays 2020-11-20 13:41:56 -06:00
bdring
985c4f60dc WIP 2020-11-19 13:45:54 -06:00
bdring
4acc0d8963 Updates from testing 2020-11-19 07:06:33 -06:00
bdring
41faacdef9 Optimize shortest ATC path 2020-11-15 21:30:43 -06:00
bdring
0c1fb75744 WIP 2020-11-15 10:42:09 -06:00
bdring
10ada413b3 Update atc.cpp 2020-11-13 12:56:32 -06:00
bdring
bc8c0945bb Update 6_pack_5160_ATC_Carve.h 2020-11-13 12:54:41 -06:00
bdring
a752bef4cd Update 6_pack_5160_ATC_Carve.h 2020-11-13 12:53:34 -06:00
bdring
f56a2c5d14 WIP 2020-11-11 19:43:41 -06:00
bdring
628e50073a WIP 2020-11-09 20:24:31 -06:00
bdring
469349872e WIP 2020-11-09 14:49:22 -06:00
bdring
d3468b8c06 WIP 2020-11-09 09:36:36 -06:00
bdring
5376c4b75a WIP 2020-11-07 17:30:57 -06:00
bdring
4f1c8c4f6f WIP 2020-11-07 12:52:09 -06:00
bdring
7e8a07fec9 Updates 2020-11-07 12:35:12 -06:00
bdring
2e8711623d Cleaning out #defines using weak functions. 2020-11-06 22:04:01 -06:00
bdring
619b4489c1 Update atc.cpp 2020-11-06 20:08:49 -06:00
bdring
7ee6b1062e Basic functionality
TODO
- Deal with tool length offset
- Deal with manual probe cycle
2020-11-06 20:01:06 -06:00
bdring
420657fa55 Setup 2020-11-05 12:50:58 -06:00
bdring
205e0bd5cf Machine Definition Cleanup (#658)
- Removed machine definitions to speed up testing.
- Moved 6 pack CS/MS3 pins with other axis pins to help them stay in sync with the aixs letters
2020-11-02 15:35:14 -06:00
bdring
44cd6f8954 Trinamic reporting (#656)
* Enhanced reporting of errors

* Change "motor" to "driver" for clarity.

* Added better way to show changed Setting values from Mitch

* Update build date
2020-11-02 15:34:29 -06:00
Pete Wildsmith
54d78582ea TMC2130 plotter machine servo config update (#657)
* TMC2130 plotter machine servo config update

based on Slack conversation https://buildlog.slack.com/archives/CBZKZ8LHL/p1604243530253000

* Update Grbl.h
2020-11-01 10:16:26 -06:00
Mitch Bradley
0e19f1e583 Added $A AKA Alarms/List command (#654)
* Added $A AKA Alarms/List command

Similar to $E AKA Errors/List

$E used to be AKA ErrorCodes/List

Also added $Errors/Verbose setting to display
full error text instead of the error number.
It defaults to true because it works with every
sender I have tried so far - cncjs, UGS, and Chrome
GCode Sender.  If you have problems with some sender
you can set it to false.

* Added static_assert per atlaste's comment

* Added a default and fixed Authentication issue

Co-authored-by: bdring <barton.dring@gmail.com>
2020-10-29 14:25:33 -05:00
bdring
13f6b37031 Move CoreXY out of main Grbl (#653)
* Created branch

* WIP

* Update parallel_delta.cpp

* Wip

* WIP

* Wip

* Still working on kinematics

- Added an interface into the jogging section

* WIP

* WIP

* wip

* WIP

* WIP

* Wip

* WIP

* WIP

* Wip

* Update machine defs

* Created branch

* WIP

* Update parallel_delta.cpp

* Wip

* WIP

* Wip

* Still working on kinematics

- Added an interface into the jogging section

* WIP

* WIP

* wip

* WIP

* WIP

* Wip

* WIP

* WIP

* Wip

* Update machine defs

* Machine def change. Moved switches to module 1

* WIP

* Cleanup before P.R.

- Fixed ranges for delta geometry
- Added post homing delay option for servos
- renamed and removed old machine defs.

* Fixing initialization problem when not in USE_KINEMATICS mode

* Fixing Git Mess

* Publishing Branch

- Not ready yet. Issues with Z axis
- Need to add midTbot option

* WIP

- Seems to be fully functional now.
- Need to add midTbot option.

* Update CoreXY.cpp

* I think it is ready for PR

- fixed $RST=#
- added midTbot geometry factor

* Fine tune midtbot definition

* Removed more unneeded corexy code.

* Fixed doubled #define in machine def file.

* Update after review comments
2020-10-28 09:21:06 -05:00
bdring
44c61a35e5 Merge branch 'main' into Devt 2020-10-22 20:52:57 -05:00
bdring
8c01797c3b Add coolant pin messages to startup (#647)
* Add coolant pin messages to startup

Help with user support.

* Removing incorrect STEPPER_RESET definition

* Fix laser mode startup message

* cleanup

- coolant_init() will behave as before
- update build date
- return default machine to test_drive
2020-10-22 19:19:56 -05:00
Mitch Bradley
b72cd4c727 Use less memory (#644)
a) closeFile() now does SD.end() to release memory
after running a file from SD.
b) Several task stacks are smaller
c) All tasks now check their free space if DEBUG_REPORT_STACK_FREE
is defined.  platformio.ini has a commented-out line that can be
uncommented to turn that on.
d) Similarly, platformio.ini can turn on DEBUG_REPORT_HEAP_SIZE
e) Fixed a small leak that occurred when listing local files.

With these changes, the heap size tends to hover around 53K, dropping
to about 37K when running a file from SD.
2020-10-16 14:13:21 -10:00
Mitch Bradley
ab36c5a86d Cleaned up AMASS code (#635)
* Cleaned up AMASS code

More #defines gone
74 lines shorter

Tested by comparing the result of original AMASS computation code to
the new code with values surrounding all of the cutoff frequencies.

* I2SOut tick calculation

* Sorted out units for stepper pulse periods

I tried to make it clear what the units are
at different places in the code, and to use
argument datatypes that clearly show the
value range at different points, instead of
relying on implicit type promotion.  Hopefully
this will make it easier to understand when,
where, and why unit conversions occur.

* Update Stepper.h

* Deleted AMASS Config.h option

... as it is no longer optional
2020-10-16 12:50:31 -10:00
Mitch Bradley
01aa028043 Implement stepping through Motors class (#636)
* Implement stepping through Motors class

WIP for discussion and review - not ready to merge yet

* Document Motor methods and variables

.. and remove some unused ones and move some
that are subclass-specific

* Move position_min/max to Limits.cpp

... and coalesced other uses thereof into a unified scheme.

* Call motor ->init() explicitly instead of implicitly

This makes it possible to inherit constructors without
spurious config messages.

* Fixed problems with I2S

* Changes in class method override syntax per atlaste

* Fixed oops

* More Motors simplification

a) Eliminated can_home() in favor of a return value from
set_homing_mode()
b) Eliminated axis_name() in favor of reportAxisNameMsg()

* Fixes to RcServo and Trinamic

- RC Servo was not handling disable ... probably old issue
- Display test after config

* More tweaks

* Define that variable!

* Move functions from Motors.cpp to subclasses

Created a Servo base class from which RcServo and
Dynamixel2 are derived.  This gets the servo update
task out of Motors.  It also eliminates the need for
type_id.  Now all of the functions that are specific
to particular kinds of motors are within their subclasses

* Adding Dynamixel to ABC axes.

* Removed second #ifndef SPINDLE_TYPE

* Fixed potential leak in Report.cpp

as reported by @atlaste

* Some servo cleanup. Has errors!

* min should be max

* Removed test rcservo machine definition.

* Removed obsolete #defines in machine defs for RcServo cal

Co-authored-by: bdring <barton.dring@gmail.com>
2020-10-15 09:05:12 -10:00
odaki
d9dba2c908 Fix i2s probing hang (#608)
* Fix I2S stepper hung just after the completion of motor moving

* Fix recompile issue

Fixed a problem with the recompile not being recompiled even if the files under the Custom folder are changed.

* More comment for macOS in debug.ini

* Fix the timing of calling I2S out's exclusion function and reset sequence

The reset sequence did not seem to be correct, so I changed it.
According to the ESP-IDF PR, the correct sequence is as follows:
1)TX module
2)DMA
3)FIFO
c7f33524b4 (diff-27688c6b3c29373d2a2b142b8471981c)

* Changed the message level for I2S swtiching from warning to debug

* Add some comments
2020-10-09 16:32:32 -05:00
Mitch Bradley
27061bfca6 Fixed WebUI crash (#633)
While eliminating a redundant definition of is_realtime_command(),
I inadvertently introduced a recursion due to the similarity of
the names "is_realtime_command()" and "is_realtime_cmd()".  The
solution is to eliminate the latter entirely.
2020-10-08 09:13:52 -10:00
Mitch Bradley
994de40724 Most #defines are gone (#595)
* Many more #defines bite the dust

* Fixed botch in rt accessory logic

* Update Probe.cpp

* Update System.cpp

* Typo
2020-10-07 18:43:31 -10:00
Mitch Bradley
8c10709f21 Big BUILD_INFO fix (#632)
-- Changes that affect behavior

Fixed the bugs with report_build_info()

Build info is no longer stored in the fixed "EEPROM" section; instead it
is a proper Setting named $Firmware/Build .  You can change it in the
usual way with $Firmware/Build=<whatever>

$I without the = still works.

-- Changes that affect configurability for developers

Converted a couple more #defines into enums - SETTINGS_RESTORE_*
and BITFLAG_RT_STATUS_* .  A side effect of this is that it is
no longer possible to configure the behavior of $RST=* by defining
SETTINGS_RESTORE_ALL to include only a subset.  I think it is
a bad idea from a customer support perspective to have the meaning
of this command be different for different builds.

Changed some of the #define ENABLE_ names to eliminate "EEPROM"

-- Changes that are purely cosmetic

Clarified descriptions in Config.h, to eliminate spurious/incorrect mentions
of "EEPROM"

Eliminated all mentions of the name "EEPROM" except the ones
that truly mean the EEPROM section, as opposed to generalized
non-volatile storage.

The contents of SettingsStorage.h and SettingsStorage.cpp, which
were really related to coordinate storage in Eeprom, not proper
settings, were moved to Eeprom.h and Eeprom.cpp.  The SettingsStorage
files are gone.

Got rid of get_step_pin_mask() and get_direction_pin_mask() because
they were just aliases for bit().  That eliminated some junk from
the SettingsStorage/Eeprom files.  Those files now tightly contain
only the residual stuff related to the storage of coordinate data
in EEPROM.
2020-10-07 13:17:21 -10:00
bdring
78e988a34e Update bug-report.md 2020-10-07 07:59:07 -05:00
bdring
895eded6fc Changed sd_close to SD.end()
sd_close was a temporary function to check for memory usage
2020-10-07 07:37:30 -05:00
Mitch Bradley
78dc79aa4f $sd/show and handle settings in SD files (#629)
* $sd/show and handle settings in SD files

* Added $LocalFs/Show and fixed $LocalFs/Run output

* Infer / at beginning of SD path name

The LocalFS path processing code already inserts
a / at the beginning of the path is one isn't
present.  This patch does the same for SD files.

* Show $ command responses in WebUI console

* Added $Settings/ListChanged AKA $SC

This is useful for saving settings in a compact form that
leaves defaults unchanged.

* $sd/show works in idle or alarm state

* Apply idle/alarm checks to SPIFFS files too
2020-10-06 21:33:51 -05:00
Stefan de Bruijn
f0ea7c2c44 Changed buffer sizes to 256 throughout various parts of the program. (#626)
This is a patch necessary for F360 personal users, because they decided to add a very lengthy comment...

Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
2020-10-06 21:12:28 -05:00
Mitch Bradley
1ff44ae509 More sd_close() to free memory (#622) 2020-10-06 20:59:11 -05:00
bdring
e8e4d96759 Devt (#628)
* Fixed various small bugs (#605)

* Fixed various small bugs

* Fixed potential cast bug

* Fixed double reporting of errors

Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>

* Stallguard tuning (#607)

* Devt (#571)

* Handles Tranimic drivers errors better

- If an unsupported driver is specified, it will give a message and not crash.

* Cleaned up unused files

Got rid of old unipolar files
Got rid of servo axis feature - it is a motor class now
Got rid of solenoid pen feature - never really used and it should be a motor class if it is.

* Fix ENABLE_AUTHENTICATION (#569)

* Fixed authentication code.

* Removed another const cast

Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>

* Fix step leakage with inverted steps (#570)

* Fix step leakage with inverted steps

* Update build date for merge

Co-authored-by: Bart Dring <bdring@buildlog.net>

Co-authored-by: Stefan de Bruijn <atlaste@users.noreply.github.com>
Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
Co-authored-by: Mitch Bradley <wmb@firmworks.com>
Co-authored-by: Bart Dring <bdring@buildlog.net>

* Update platformio.ini

Per PR 583

* Created an enum for mode

* Removing some unused machine defs

* Added test machine definition

* Clean up for PR

* Remove test machine def.

Co-authored-by: Stefan de Bruijn <atlaste@users.noreply.github.com>
Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
Co-authored-by: Mitch Bradley <wmb@firmworks.com>
Co-authored-by: Bart Dring <bdring@buildlog.net>

* Basic testing Complete

* Made state variable volatile.

* Homing cycle settings (#613)

* Initial Tests Complete

* Update Grbl.h

* Update variables

Co-authored-by: Mitch Bradley <wmb@firmworks.com>

* fixed dual switches when inverted (#614)

* fixed dual switches when inverted

* Removed debug message

* Cleaning up the machine defs

Removed unused #defines.

* Store coordinate offsets in NVS (#611)

* Store coordinate offsets in NVS

* Handle both old Eeprom formats

* Implementing fixes (#616)

- Stop creating additional tasks when limit_init() gets called again from homing and resets
- Explicitly delete an object that was causing a memory loss.

* Update Grbl.h

* Tweak memory fix and add $H check for $Homing/Cycles

* Fix G28.1 and G30.1

* Update Grbl.h

* Homing cycle defaults (#624)

* Changed to add homing cycle defaults

There needs to be a way to set the homing cycle defaults in a machine definition.
There will likely be a better way to do this in the future.

* Update 10vSpindle.cpp

Had wrong error message

* Fixed typos and removed obsolete #defines

* Probe cleanup (#625)

* Cleanup probing code

* Update Grbl.h

* Update after review

* Update error_codes_en_US.csv

Co-authored-by: Stefan de Bruijn <atlaste@users.noreply.github.com>
Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
Co-authored-by: Mitch Bradley <wmb@firmworks.com>
Co-authored-by: Bart Dring <bdring@buildlog.net>
2020-10-06 13:53:59 -05:00
bdring
6e715f8983 Merge branch 'main' into Devt 2020-10-06 13:27:52 -05:00
bdring
e04c289e6b Update error_codes_en_US.csv 2020-10-06 08:14:16 -05:00
bdring
885f57e970 Probe cleanup (#625)
* Cleanup probing code

* Update Grbl.h

* Update after review
2020-10-04 17:22:30 -05:00
bdring
5df1e5eb59 Fixed typos and removed obsolete #defines 2020-10-04 11:25:40 -05:00
bdring
9a5cd49187 Homing cycle defaults (#624)
* Changed to add homing cycle defaults

There needs to be a way to set the homing cycle defaults in a machine definition.
There will likely be a better way to do this in the future.

* Update 10vSpindle.cpp

Had wrong error message
2020-10-03 12:41:40 -05:00
bdring
1ccc8752bf Devt (#621)
* Fixed various small bugs (#605)

* Fixed various small bugs

* Fixed potential cast bug

* Fixed double reporting of errors

Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>

* Stallguard tuning (#607)

* Devt (#571)

* Handles Tranimic drivers errors better

- If an unsupported driver is specified, it will give a message and not crash.

* Cleaned up unused files

Got rid of old unipolar files
Got rid of servo axis feature - it is a motor class now
Got rid of solenoid pen feature - never really used and it should be a motor class if it is.

* Fix ENABLE_AUTHENTICATION (#569)

* Fixed authentication code.

* Removed another const cast

Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>

* Fix step leakage with inverted steps (#570)

* Fix step leakage with inverted steps

* Update build date for merge

Co-authored-by: Bart Dring <bdring@buildlog.net>

Co-authored-by: Stefan de Bruijn <atlaste@users.noreply.github.com>
Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
Co-authored-by: Mitch Bradley <wmb@firmworks.com>
Co-authored-by: Bart Dring <bdring@buildlog.net>

* Update platformio.ini

Per PR 583

* Created an enum for mode

* Removing some unused machine defs

* Added test machine definition

* Clean up for PR

* Remove test machine def.

Co-authored-by: Stefan de Bruijn <atlaste@users.noreply.github.com>
Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
Co-authored-by: Mitch Bradley <wmb@firmworks.com>
Co-authored-by: Bart Dring <bdring@buildlog.net>

* Basic testing Complete

* Made state variable volatile.

* Homing cycle settings (#613)

* Initial Tests Complete

* Update Grbl.h

* Update variables

Co-authored-by: Mitch Bradley <wmb@firmworks.com>

* fixed dual switches when inverted (#614)

* fixed dual switches when inverted

* Removed debug message

* Cleaning up the machine defs

Removed unused #defines.

* Store coordinate offsets in NVS (#611)

* Store coordinate offsets in NVS

* Handle both old Eeprom formats

* Implementing fixes (#616)

- Stop creating additional tasks when limit_init() gets called again from homing and resets
- Explicitly delete an object that was causing a memory loss.

* Update Grbl.h

* Tweak memory fix and add $H check for $Homing/Cycles

* Fix G28.1 and G30.1

* Update Grbl.h

Co-authored-by: Stefan de Bruijn <atlaste@users.noreply.github.com>
Co-authored-by: Stefan de Bruijn <stefan@nubilosoft.com>
Co-authored-by: Mitch Bradley <wmb@firmworks.com>
Co-authored-by: Bart Dring <bdring@buildlog.net>
2020-09-30 11:11:02 -05:00
bdring
71bf7dadd0 Merge branch 'main' into Devt 2020-09-30 10:56:40 -05:00