Scott Lahteine
a2775d0c70
can wstring be removed?
2017-04-02 04:43:33 -05:00
Scott Lahteine
2cbc7b4b73
Relocate serial macros and functions
2017-04-02 01:05:25 -05:00
Scott Lahteine
1a775cecac
Revert behavior of enqueue_and_echo_commands_P
2017-04-01 21:53:46 -05:00
Scott Lahteine
93aad54dc1
Clean up code, remove _now command function
2017-03-31 04:17:31 -05:00
Scott Lahteine
4902fd4e95
More data in UBL class, make it a static class
...
- Make all `unified_bed_leveling` data/methods static
- Move some UBL-related variables into the class
- Replace `map_[xy]_index_to_bed_location` with `mesh_index_to_[xy]pos`
2017-03-31 02:20:20 -05:00
Scott Lahteine
9217e4b8ec
Various UBL cleanups and bug fixes
2017-03-30 17:09:49 -05:00
Scott Lahteine
d076c1b604
Apply some general cleanup to code
2017-03-24 01:37:51 -05:00
Scott Lahteine
4c7f14752a
Add disable_e_steppers function
2017-03-19 01:14:39 -05:00
Scott Lahteine
fb60aa3736
UBL implementation
2017-03-18 11:35:20 -05:00
Scott Lahteine
e4649c9044
Add HAS_SOFTWARE_ENDSTOPS macro
2017-03-17 06:05:17 -05:00
Scott Lahteine
58b3e98878
Use arrays for delta tower parameters
2017-03-07 19:00:22 -06:00
Jimmy Envall
00b6b3da79
Added support for delta tower angle corrections.
2017-03-07 16:35:58 -06:00
Scott Lahteine
e141f3a03f
Optimize coordinate transformation
...
Pre-compute the combined position shift and home offset to save a
single float fetch-and-add per conversion. Great for delta/scara and
bed leveling.
2017-03-05 04:43:16 -06:00
Scott Lahteine
5f7e85398b
Implement NO_WORKSPACE_OFFSETS
2017-03-05 04:43:15 -06:00
Scott Lahteine
e42fd7813a
Save ABL Bilinear Grid to EEPROM
2016-12-15 19:20:48 -08:00
Scott Lahteine
887ed73c9b
Expose delta_clip_start_height for use by others
2016-12-13 01:41:08 -08:00
Scott Lahteine
ee50928eee
Make LOGICAL and RAW position macros ternary-compatible
2016-12-05 06:43:26 -06:00
Scott Lahteine
50ee749082
Centralize click-handling in the LCD loop
2016-10-28 20:57:21 -05:00
Scott Lahteine
67ab54185b
Save hotend_offset array (M218) in EEPROM
2016-10-28 18:45:23 -05:00
esenapaj
d5a5042d23
Fix for the PR #5088 (Handle M108 in M1 also with ULTIPANEL)
2016-10-27 10:32:20 +09:00
Scott Lahteine
d963020532
Sort out some header dependencies
2016-10-10 17:14:03 -05:00
Scott Lahteine
8910bb7c97
Fix buzzer conditional compile
2016-10-04 21:38:41 -05:00
Scott Lahteine
919fe3e4b8
Rename feature to G38_PROBE_TARGET
2016-10-01 05:00:53 -05:00
Scott Lahteine
a2864ab7fe
Patched up, cleaned up
2016-10-01 05:00:53 -05:00
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
2016-10-01 05:00:53 -05:00
Scott Lahteine
ea0dbee3c9
Enable ABL by type, support bilinear on cartesian
2016-09-25 23:35:37 -05:00
Scott Lahteine
77639672d7
Move NONLINEAR bed leveling to planner
...
This is in advance of moving non-linear bed leveling to the planner
class.
2016-09-18 13:50:38 -05:00
Scott Lahteine
5f2f991192
Use 'logical' rather than 'target' or 'cartesian'
2016-09-18 13:50:38 -05:00
Scott Lahteine
40d3e854f6
Remove redundant extern delta[]
2016-09-18 13:39:47 -05:00
Scott Lahteine
83a41c7ceb
Remove SCARA axis_scaling
2016-09-16 15:21:18 -05:00
Scott Lahteine
4f75ce6957
Unify reset_bed_level for linear/non-linear
2016-09-13 03:33:03 -05:00
Scott Lahteine
d65f5d816f
Patch to fix kinematics
2016-09-13 03:33:01 -05:00
Scott Lahteine
acd1b6e9c0
Rename delta_grid spacing for general nonlinear
2016-09-13 03:33:00 -05:00
Scott Lahteine
c5fa70809b
Implement M0/M1 for EMERGENCY_PARSER
2016-09-13 03:33:00 -05:00
Scott Lahteine
6ab54c60b1
Add conditionals for kinematics, leveling
2016-09-13 03:32:59 -05:00
Scott Lahteine
6ac9d895ca
Tweak Filament Width variables
2016-09-10 13:29:25 -05:00
Scott Lahteine
14a03727e1
Tweak serialprintPGM
2016-08-21 00:10:09 -05:00
Scott Lahteine
2f223b8c79
Use ABC and XYZ for "3"
2016-08-21 00:10:08 -05:00
Scott Lahteine
280534c06f
Add M211: Enable/Disable Software Endstops
2016-08-21 00:10:08 -05:00
Scott Lahteine
4d4c00d69c
Merge pull request #4651 from thinkyhead/rc_homing_vs_leveling_z
...
Improvements to homing / leveling
2016-08-19 15:45:49 -05:00
Scott Lahteine
41b5c48129
Update software endstops if EEPROM is loaded
2016-08-19 04:32:01 -05:00
Scott Lahteine
628dcbc764
extruder_multiplier => flow_percentage
2016-08-18 22:13:47 -05:00
Scott Lahteine
192ac2dfd7
Squish some CardReader code
2016-08-12 03:32:42 -07:00
Scott Lahteine
d6a7ca6553
Merge pull request #4584 from thinkyhead/rc_delta_cal_more
...
Use configured feedrates, center in DELTA_CALIBRATION_MENU
2016-08-11 14:04:05 -07:00
Scott Lahteine
cd496dd9bd
do_blocking_move_to can't be 'inline', takes const ref args
2016-08-11 12:05:55 -07:00
Scott Lahteine
b63d70b186
Fix serial output for MBL, M303
2016-08-10 18:49:52 -07:00
Scott Lahteine
d320065320
Within Marlin, maintain most feed rates in mm/s
2016-08-07 00:28:52 -07:00
Scott Lahteine
938e6d15c4
Patch up some flaws, here and there
2016-08-05 08:17:37 -07:00
Scott Lahteine
b73203a0b7
Move some includes around to uncover missing deps
2016-08-02 19:37:46 -07:00
Scott Lahteine
14c5a46ee9
Use multiplication for MMM_SCALED
2016-08-02 15:05:17 -07:00
Scott Lahteine
330f82971b
Buzzer requires BEEPER_PIN
2016-08-02 14:05:37 -07:00
Scott Lahteine
63fd1f49a6
PID_EXTRUSION_SCALING, disabled by default
2016-07-31 17:49:34 -07:00
Scott Lahteine
8e2f095dde
Merge pull request #4456 from jbrazio/speaker-type3
...
Improvement to non-blocking speaker
2016-07-30 04:07:08 -07:00
Scott Lahteine
46c33f1cfa
Merge pull request #4467 from jbrazio/safe_delay-millis_t
...
Makes safe_delay() to be fully compatible with delay()
2016-07-29 20:23:44 -07:00
João Brázio
226e74a438
Fixes safe_delay() to be fully compatible with delay()
2016-07-30 02:56:26 +01:00
Scott Lahteine
844a4e799e
Account for DELTA in Planner::refresh_positioning
2016-07-29 18:41:11 -07:00
João Brázio
2b5faa61e2
Consolidates Buzzer and Speaker into a single object
2016-07-29 19:25:39 +01:00
Scott Lahteine
b40661cb18
Fix output of heater states
2016-07-28 17:40:01 -07:00
Scott Lahteine
3be49881c0
Make SanityCheck.h a catch-all for obsolete configs
2016-07-26 12:41:40 -07:00
Scott Lahteine
d9f7ed9a3c
Move some macros from Marlin.h to macros.h
2016-07-26 12:37:13 -07:00
Scott Lahteine
c6226bb0aa
Unify config in a single include without nested includes
2016-07-25 23:04:19 -07:00
Scott Lahteine
df27d01cd9
Arrange needed includes in Marlin.h
2016-07-25 20:53:36 -07:00
Scott Lahteine
169c21b477
Merge pull request #4402 from thinkyhead/rc_consistent_positioning
...
Account for coordinate space offsets
2016-07-24 19:23:20 -07:00
Scott Lahteine
e4816293a8
serial_echopair_P for uint16_t
2016-07-24 17:46:37 -07:00
Scott Lahteine
f75b0c2ee1
Make POSITION macros global
2016-07-24 17:20:36 -07:00
Scott Lahteine
08459a003f
Undo the self-sabotage that is do_blocking_move_to_axis_pos
2016-07-23 00:59:11 -07:00
Scott Lahteine
652fd8a826
Merge pull request #4362 from thinkyhead/rc_duplication_mode
...
DUAL_NOZZLE_DUPLICATION_MODE
2016-07-22 21:17:59 -07:00
Scott Lahteine
35a610abf9
const arg to inverse_kinematics
2016-07-22 17:42:48 -07:00
Scott Lahteine
d5e2d523c7
Generalize kinematics function names
2016-07-22 16:36:34 -07:00
Scott Lahteine
4b1725628b
Move kinematic functions to "private" scope
2016-07-22 16:36:33 -07:00
Scott Lahteine
9f30cc84ce
Use set_current_from_steppers for other kinematics
2016-07-22 16:36:33 -07:00
AnHardt
5db9b940ee
Use forwardKinematics in DELTA run_z_probe()
2016-07-22 16:36:33 -07:00
Scott Lahteine
cbc7f22ad9
Implement DUAL_NOZZLE_DUPLICATION_MODE
2016-07-22 16:23:58 -07:00
Scott Lahteine
976c31235d
inline to fix warnings, smaller build size (sometimes)
2016-07-21 13:49:37 -07:00
João Brázio
47fef80848
Nozzle::clean() no longer requires HAS_BED_PROBE
2016-07-19 15:07:02 -07:00
Scott Lahteine
ef0a22871e
Merge pull request #4350 from jbrazio/followup-a875861
...
Adds utility.h
2016-07-19 13:40:52 -07:00
João Brázio
3ebad4e020
Moves all global enums to a central file
2016-07-19 14:31:09 +01:00
João Brázio
f4d63796b2
Adds utility.h
2016-07-19 02:55:23 +01:00
Scott Lahteine
f242aea032
Merge pull request #4319 from thinkyhead/rc_feedrates_to_mess_with_you
...
Wrangle feed rate variables
2016-07-17 14:07:52 -07:00
Scott Lahteine
93ba5bddd7
Append units to feedrate variables
2016-07-17 13:29:41 -07:00
Scott Lahteine
21ee0612e3
Debug char
2016-07-17 12:27:36 -07:00
Scott Lahteine
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
2016-07-17 10:53:10 -07:00
João Brázio
a8758619ec
The safe_delay() is now globaly accessible
2016-07-16 12:28:06 +01:00
AnHardt
d2a49c016d
DELTA: Move out of the clip-zone after G28
...
Move down to a safe height after G28 for DELTAs.
2016-07-15 15:22:44 +02:00
Scott Lahteine
4b4a582c4f
X_DUAL_STEPPER_DRIVERS implementation
2016-07-11 10:22:19 -07:00
Scott Lahteine
2ee4e4f791
Make wait_for_heatup volatile
2016-07-07 16:37:23 -07:00
Scott Lahteine
834ad14c8d
Add quickstop_stepper to update current position with stepper.quick_stop()
2016-07-07 16:37:22 -07:00
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.
2016-07-07 16:37:22 -07:00
Petr Zahradnik
43ff0ce35f
Rewritten FILAMENT_CHANGE_ENABLE feature
2016-07-02 15:34:33 -07:00
Scott Lahteine
bd491818d6
Reduce storage requirements for strings, make some PGM
2016-06-27 20:36:18 -07:00
Scott Lahteine
bb9c67b4b5
Tweak some feedrate vars
2016-06-22 03:27:31 -07:00
Scott Lahteine
1000563d80
Make M851 standard with a bed probe
2016-06-17 15:19:42 -07:00
Scott Lahteine
b75e648f2c
Clarify names of prepare_move functions
2016-06-11 15:32:49 -07:00
João Brázio
5b5aa1572b
Non-blocking buzzer
2016-06-09 20:20:05 -07:00
Scott Lahteine
4980ecc1f7
Smaller binary using inline gcode argument getters
2016-06-08 17:03:28 -07:00
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.
2016-06-08 16:51:10 -07:00
Scott Lahteine
a3e25a0fca
Instead of trying to move now, set a flag to move asap
2016-06-05 02:29:48 -07:00
Scott Lahteine
664b299a51
This fix is not DELTA compatible
2016-06-02 17:16:19 -07:00
Scott Lahteine
064efb20e0
Also call clear_command_queue for lcd_sdcard_stop
2016-06-02 17:16:19 -07:00
Scott Lahteine
6277395e1e
set_current_position_from_planner() after stepper.quick_stop()
2016-06-02 17:16:19 -07:00