359 Commits (3fe333143cdb2483759aa805a27f0682e539c4fe)

Author SHA1 Message Date
Bob-the-Kuhn 2911aa7ffa code changes to implement G38 commands
1) modified 3 code files
Marlin.h
Marlin_main.cpp
endstops.cpp

2) modified config files so I could test on my machine

Testing was done on an AzteegX3pro based machine.

The probe was hooked to the Z_MIN endstop.

My controller doesn't have a dedicated Z_PROBE input so I couldn't test
that functionality.

Verified that a large file (without any G38 commands) executed the same
before and after the changes.

Verified that the head moves as expected when G38.2 and G38.3 commands
are issued. Single & multiple axis moves were tested along with + and -
directions.

Code was added to the main ISR. In normal operation only one extra IF
statement is evaluated. I didn't notice any performance degradation
because of the added code.

The G38 commands are expected to be issued manually by the operator
during machine setup. The G38 commands wait until the machine is idle
before proceeding. That way the other commands are minimally impacted
by the extra ISR overhead when a G38 command is in the queue.

The G38 commands are very similar to the G28 commands except 1) only the
Z_PROBE is used and movement can be in the + or - direction.

See issue 4677 for a discussion on adding G38 commands to Marlin.
Feature request: add ability to use G38.2 command (CNC)
MarlinFirmware/Marlin#4677
8 years ago
Scott Lahteine ea0dbee3c9 Enable ABL by type, support bilinear on cartesian 8 years ago
Scott Lahteine 77639672d7 Move NONLINEAR bed leveling to planner
This is in advance of moving non-linear bed leveling to the planner
class.
8 years ago
Scott Lahteine 5f2f991192 Use 'logical' rather than 'target' or 'cartesian' 8 years ago
Scott Lahteine 40d3e854f6 Remove redundant extern delta[] 8 years ago
Scott Lahteine 83a41c7ceb Remove SCARA axis_scaling 8 years ago
Scott Lahteine 4f75ce6957 Unify reset_bed_level for linear/non-linear 8 years ago
Scott Lahteine d65f5d816f Patch to fix kinematics 8 years ago
Scott Lahteine acd1b6e9c0 Rename delta_grid spacing for general nonlinear 8 years ago
Scott Lahteine c5fa70809b Implement M0/M1 for EMERGENCY_PARSER 8 years ago
Scott Lahteine 6ab54c60b1 Add conditionals for kinematics, leveling 8 years ago
Scott Lahteine 6ac9d895ca Tweak Filament Width variables 8 years ago
Scott Lahteine 14a03727e1 Tweak serialprintPGM 8 years ago
Scott Lahteine 2f223b8c79 Use ABC and XYZ for "3" 8 years ago
Scott Lahteine 280534c06f Add M211: Enable/Disable Software Endstops 8 years ago
Scott Lahteine 4d4c00d69c Merge pull request #4651 from thinkyhead/rc_homing_vs_leveling_z
Improvements to homing / leveling
8 years ago
Scott Lahteine 41b5c48129 Update software endstops if EEPROM is loaded 8 years ago
Scott Lahteine 628dcbc764 extruder_multiplier => flow_percentage 8 years ago
Scott Lahteine 192ac2dfd7 Squish some CardReader code 8 years ago
Scott Lahteine d6a7ca6553 Merge pull request #4584 from thinkyhead/rc_delta_cal_more
Use configured feedrates, center in DELTA_CALIBRATION_MENU
8 years ago
Scott Lahteine cd496dd9bd do_blocking_move_to can't be 'inline', takes const ref args 8 years ago
Scott Lahteine b63d70b186 Fix serial output for MBL, M303 8 years ago
Scott Lahteine d320065320 Within Marlin, maintain most feed rates in mm/s 9 years ago
Scott Lahteine 938e6d15c4 Patch up some flaws, here and there 9 years ago
Scott Lahteine b73203a0b7 Move some includes around to uncover missing deps 9 years ago
Scott Lahteine 14c5a46ee9 Use multiplication for MMM_SCALED 9 years ago
Scott Lahteine 330f82971b Buzzer requires BEEPER_PIN 9 years ago
Scott Lahteine 63fd1f49a6 PID_EXTRUSION_SCALING, disabled by default 9 years ago
Scott Lahteine 8e2f095dde Merge pull request #4456 from jbrazio/speaker-type3
Improvement to non-blocking speaker
9 years ago
Scott Lahteine 46c33f1cfa Merge pull request #4467 from jbrazio/safe_delay-millis_t
Makes safe_delay() to be fully compatible with delay()
9 years ago
João Brázio 226e74a438 Fixes safe_delay() to be fully compatible with delay() 9 years ago
Scott Lahteine 844a4e799e Account for DELTA in Planner::refresh_positioning 9 years ago
João Brázio 2b5faa61e2 Consolidates Buzzer and Speaker into a single object 9 years ago
Scott Lahteine b40661cb18 Fix output of heater states 9 years ago
Scott Lahteine 3be49881c0 Make SanityCheck.h a catch-all for obsolete configs 9 years ago
Scott Lahteine d9f7ed9a3c Move some macros from Marlin.h to macros.h 9 years ago
Scott Lahteine c6226bb0aa Unify config in a single include without nested includes 9 years ago
Scott Lahteine df27d01cd9 Arrange needed includes in Marlin.h 9 years ago
Scott Lahteine 169c21b477 Merge pull request #4402 from thinkyhead/rc_consistent_positioning
Account for coordinate space offsets
9 years ago
Scott Lahteine e4816293a8 serial_echopair_P for uint16_t 9 years ago
Scott Lahteine f75b0c2ee1 Make POSITION macros global 9 years ago
Scott Lahteine 08459a003f Undo the self-sabotage that is do_blocking_move_to_axis_pos 9 years ago
Scott Lahteine 652fd8a826 Merge pull request #4362 from thinkyhead/rc_duplication_mode
DUAL_NOZZLE_DUPLICATION_MODE
9 years ago
Scott Lahteine 35a610abf9 const arg to inverse_kinematics 9 years ago
Scott Lahteine d5e2d523c7 Generalize kinematics function names 9 years ago
Scott Lahteine 4b1725628b Move kinematic functions to "private" scope 9 years ago
Scott Lahteine 9f30cc84ce Use set_current_from_steppers for other kinematics 9 years ago
AnHardt 5db9b940ee Use forwardKinematics in DELTA run_z_probe() 9 years ago
Scott Lahteine cbc7f22ad9 Implement DUAL_NOZZLE_DUPLICATION_MODE 9 years ago
Scott Lahteine 976c31235d inline to fix warnings, smaller build size (sometimes) 9 years ago
João Brázio 47fef80848 Nozzle::clean() no longer requires HAS_BED_PROBE 9 years ago
Scott Lahteine ef0a22871e Merge pull request #4350 from jbrazio/followup-a875861
Adds utility.h
9 years ago
João Brázio 3ebad4e020 Moves all global enums to a central file 9 years ago
João Brázio f4d63796b2 Adds utility.h 9 years ago
Scott Lahteine f242aea032 Merge pull request #4319 from thinkyhead/rc_feedrates_to_mess_with_you
Wrangle feed rate variables
9 years ago
Scott Lahteine 93ba5bddd7 Append units to feedrate variables 9 years ago
Scott Lahteine 21ee0612e3 Debug char 9 years ago
Scott Lahteine 05da02f0a2 Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER 9 years ago
João Brázio a8758619ec The safe_delay() is now globaly accessible 9 years ago
AnHardt d2a49c016d DELTA: Move out of the clip-zone after G28
Move down to a safe height after G28 for DELTAs.
9 years ago
Scott Lahteine 4b4a582c4f X_DUAL_STEPPER_DRIVERS implementation 9 years ago
Scott Lahteine 2ee4e4f791 Make wait_for_heatup volatile 9 years ago
Scott Lahteine 834ad14c8d Add quickstop_stepper to update current position with stepper.quick_stop() 9 years ago
AnHardt a129078927 Add an emergency-command parser to MarlinSerial (supporting M108)
Add an emergency-command parser to MarlinSerial's RX interrupt.

The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.

To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.

This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".

The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.

One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"

Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.

Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
9 years ago
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature 9 years ago
Scott Lahteine bd491818d6 Reduce storage requirements for strings, make some PGM 9 years ago
Scott Lahteine bb9c67b4b5 Tweak some feedrate vars 9 years ago
Scott Lahteine 1000563d80 Make M851 standard with a bed probe 9 years ago
Scott Lahteine b75e648f2c Clarify names of prepare_move functions 9 years ago
João Brázio 5b5aa1572b Non-blocking buzzer 9 years ago
Scott Lahteine 4980ecc1f7 Smaller binary using inline gcode argument getters 9 years ago
Reid Rankin 16212432c9 G20/21 and M149 support, and code_value() refactor
This is an update of MarlinDev PR #196.

G20/21: support for switching input units between millimeters and
inches.
M149: support for changing input temperature units.

In support of these changes, code_value() and code_value_short() are
replaced with an array of functions which handle converting to the
proper types and/or units.
9 years ago
Scott Lahteine a3e25a0fca Instead of trying to move now, set a flag to move asap 9 years ago
Scott Lahteine 664b299a51 This fix is not DELTA compatible 9 years ago
Scott Lahteine 064efb20e0 Also call clear_command_queue for lcd_sdcard_stop 9 years ago
Scott Lahteine 6277395e1e set_current_position_from_planner() after stepper.quick_stop() 9 years ago
Scott Lahteine 138c5c8378 Merge pull request #3788 from thinkyhead/rc_dual_x_compile_fix
DUAL_X_CARRIAGE fixes, improvements, Travis test
9 years ago
Scott Lahteine 516e79bbda Declare extruder_duplication_enabled in Marlin.h 9 years ago
Scott Lahteine 4041508ffb Function decl. in headers don't need "extern" 9 years ago
Scott Lahteine 3016dfe484 Merge pull request #3744 from thinkyhead/rc_bezier_curves
Add BEZIER_CURVE_SUPPORT — G5 command
9 years ago
Scott Lahteine 1b90682617 Merge pull request #3702 from thinkyhead/rc_sensitive_fan_pins
Remove need to define unused pins as -1 in pins files
9 years ago
Scott Lahteine b4c891dfd2 Remove obsolete reference to prepare_arc_move 9 years ago
esenapaj 888443ca1e Enclose all #error strings with apostrophes 9 years ago
Scott Lahteine 5ca6334fd2 Cleanup pins files, fixup analogtodigitalpin, etc. 9 years ago
Scott Lahteine fc5fe2cc22 Merge pull request #3678 from jbrazio/rework/delta-diagonal-rod-timmers
Moved DELTA radius/rod default trimmer values to Conditionals.h
9 years ago
Scott Lahteine 084f6b5b44 Temperature singleton class 9 years ago
João Brázio 23567a1d8b
Moved DELTA radius/rod default trimmer values to Conditionals.h 9 years ago
Scott Lahteine 96f51f400f Planner singleton class 9 years ago
Scott Lahteine 5e4e535ce8 Stepper and Endstops as singleton objects 9 years ago
João Brázio d6cfcc9c8b
Added new G-Code: M78 9 years ago
Scott Lahteine ee9bd66a68 Add comments to debug bit flags 9 years ago
Scott Lahteine ac69fad96d lowercase "stop" function 9 years ago
Scott Lahteine cafa8b8ce3 Rename filament runout items 9 years ago
Scott Lahteine a4062a47ac Rename baricuda variables 9 years ago
Scott Lahteine 78747b1328 min_pos/max_pos => sw_endstop_min/sw_endstop_max 9 years ago
Scott Lahteine 50c3140040 Merge pull request #3414 from thinkyhead/rc_host_timeout_mods
Host Keepalive configurable timeout with 2s default
9 years ago
Scott Lahteine 5e18d650c4 Merge pull request #3427 from thinkyhead/rc_better_SERIAL_ECHOPAIR
No casting needed for SERIAL_ECHOPAIR
9 years ago
Scott Lahteine 85883da90c Implement basic HOST_KEEPALIVE_INTERVAL 9 years ago
Scott Lahteine d7cbb2eec9 Merge pull request #3403 from jbrazio/feature/stopwatch
Print job timer rework
9 years ago
Scott Lahteine dc19b69697 No casting needed for SERIAL_ECHOPAIR 9 years ago