Commit graph

298 commits

Author SHA1 Message Date
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
Scott Lahteine 138c5c8378 Merge pull request #3788 from thinkyhead/rc_dual_x_compile_fix
DUAL_X_CARRIAGE fixes, improvements, Travis test
2016-05-18 16:56:54 -07:00
Scott Lahteine 516e79bbda Declare extruder_duplication_enabled in Marlin.h 2016-05-18 15:51:44 -07:00
Scott Lahteine 4041508ffb Function decl. in headers don't need "extern" 2016-05-17 18:35:01 -07:00
Scott Lahteine 3016dfe484 Merge pull request #3744 from thinkyhead/rc_bezier_curves
Add BEZIER_CURVE_SUPPORT — G5 command
2016-05-17 13:57:38 -07:00
Scott Lahteine 1b90682617 Merge pull request #3702 from thinkyhead/rc_sensitive_fan_pins
Remove need to define unused pins as -1 in pins files
2016-05-14 15:49:22 -07:00
Scott Lahteine b4c891dfd2 Remove obsolete reference to prepare_arc_move 2016-05-14 14:51:09 -07:00
esenapaj 888443ca1e Enclose all #error strings with apostrophes 2016-05-13 21:10:23 +09:00
Scott Lahteine 5ca6334fd2 Cleanup pins files, fixup analogtodigitalpin, etc. 2016-05-08 12:38:00 -07:00
Scott Lahteine fc5fe2cc22 Merge pull request #3678 from jbrazio/rework/delta-diagonal-rod-timmers
Moved DELTA radius/rod default trimmer values to Conditionals.h
2016-05-05 11:38:14 -07:00
Scott Lahteine 084f6b5b44 Temperature singleton class 2016-05-04 19:42:12 -07:00
João Brázio 23567a1d8b
Moved DELTA radius/rod default trimmer values to Conditionals.h 2016-05-05 00:18:32 +01:00
Scott Lahteine 96f51f400f Planner singleton class 2016-04-30 17:26:50 -07:00
Scott Lahteine 5e4e535ce8 Stepper and Endstops as singleton objects 2016-04-30 17:26:50 -07:00
João Brázio d6cfcc9c8b
Added new G-Code: M78 2016-04-29 23:13:58 +01:00
Scott Lahteine ee9bd66a68 Add comments to debug bit flags 2016-04-20 12:37:22 -07:00
Scott Lahteine ac69fad96d lowercase "stop" function 2016-04-19 19:43:54 -07:00
Scott Lahteine cafa8b8ce3 Rename filament runout items 2016-04-19 19:43:39 -07:00
Scott Lahteine a4062a47ac Rename baricuda variables 2016-04-19 19:43:38 -07:00
Scott Lahteine 78747b1328 min_pos/max_pos => sw_endstop_min/sw_endstop_max 2016-04-19 19:43:38 -07:00
Scott Lahteine 50c3140040 Merge pull request #3414 from thinkyhead/rc_host_timeout_mods
Host Keepalive configurable timeout with 2s default
2016-04-08 21:45:45 -07:00
Scott Lahteine 5e18d650c4 Merge pull request #3427 from thinkyhead/rc_better_SERIAL_ECHOPAIR
No casting needed for SERIAL_ECHOPAIR
2016-04-07 19:29:18 -07:00
Scott Lahteine 85883da90c Implement basic HOST_KEEPALIVE_INTERVAL 2016-04-07 19:25:56 -07:00
Scott Lahteine d7cbb2eec9 Merge pull request #3403 from jbrazio/feature/stopwatch
Print job timer rework
2016-04-07 19:18:03 -07:00
Scott Lahteine dc19b69697 No casting needed for SERIAL_ECHOPAIR 2016-04-07 16:33:21 -07:00
João Brázio 7c7e30f4cc
Adherence to the new OOP coding standards 2016-04-07 12:41:09 +01:00
Scott Lahteine 865dcf3fb4 Fix FILAMENT_WIDTH_SENSOR measurement
Only measure and store filament width when E is going forward.
2016-04-06 19:48:04 -07:00
João Brázio eb61051556 Rework the print job timer to use the stopwatch class 2016-04-06 04:34:03 +01:00
Scott Lahteine d24f14a799 Add HAS_TEMP_HOTEND define 2016-04-03 16:18:49 -07:00
Scott Lahteine de333c4fea Merge pull request #3279 from thinkyhead/rc_filament_width_sensor
FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR
2016-03-30 12:16:27 -07:00
Scott Lahteine 1a79b13b7a FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR 2016-03-29 20:54:31 -07:00
Scott Lahteine 5f32184254 Merge pull request #3278 from thinkyhead/rc_cleanup_m111_redo
Echo all debug levels in M111, default to DEBUG_NONE
2016-03-29 20:34:31 -07:00
Scott Lahteine 05765fb570 Add DEBUGGING macro 2016-03-29 19:50:01 -07:00
Scott Lahteine 4402760739 Echo all debug levels in M111, default to DEBUG_NONE
Redo of #3268 by @jbrazio
2016-03-29 19:18:45 -07:00
Scott Lahteine 3252df7998 Minor cleanup to filament sensor code 2016-03-28 20:04:34 -07:00
Scott Lahteine 0b8ef5eba6 Split get_command into units, rename to get_available_commands 2016-03-28 06:00:04 -07:00
Scott Lahteine d6f92f9efe Remove Tonokip remnant from recent PR 2016-03-25 23:50:29 -07:00
Scott Lahteine 0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on #3231
2016-03-25 00:45:56 -07:00
jbrazio 5e5d250832 Added gplv3 header to all Marlin files 2016-03-24 18:01:20 +00:00
Scott Lahteine 04fa9d4f47 Make Autotune options into Menu Edit Items 2016-03-24 02:00:08 -07:00
Scott Lahteine 06332f20be Merge pull request #3113 from jbrazio/bugfix/3061-stop-print-time-counter
Stop print timer with M105/M109
2016-03-20 17:05:07 -07:00
Scott Lahteine a02ae36ae8 Include M65 "ABC" parameters in EEPROM
Addressing #2773
2016-03-19 05:52:20 -07:00
Scott Lahteine 4bbea5124d Support for multiple PWM fans 2016-03-19 03:10:18 -07:00
Scott Lahteine 4634feaeab Merge pull request #3012 from thinkyhead/fix_command_injection
Use a serial line buffer to prevent queue corruption
2016-03-19 01:43:54 -07:00
Scott Lahteine 963a92ceda Patch idle forevermore 2016-03-18 22:38:35 -07:00
Scott Lahteine 8fe7420310 Use a separate serial line buffer 2016-03-18 16:46:20 -07:00
jbrazio a645860431 All print timer related activity now uses print_job_start(), print_job_timer() or print_job_stop() 2016-03-12 07:16:39 +00:00
Scott Lahteine e4945b30d2 sbi and cbi are deprecated 2016-03-06 05:51:55 -08:00
Scott Lahteine ff13070b59 Use _BV macros, patch up others 2016-03-06 05:51:55 -08:00
Scott Lahteine eb85342fd9 Merge pull request #2989 from AnHardt/fix2661
Pre home display - Stepper release
2016-03-05 21:30:17 -08:00
Scott Lahteine 772460a7b8 Various minor spelling corrections
Redo of #2939 rebased against RCBugFix
2016-03-05 20:41:15 -08:00
AnHardt 051325ccd7 Introduce axis_homed
Introduce additional variable axis_homed to replace axix_known_position
when the coordinate display should indicate the axis is not homed.
This is to distinguish between "not homed" and "inexact position possible
because stepper was disabled".

# Conflicts:
#	Marlin/ultralcd_implementation_hitachi_HD44780.h
solved
2016-02-28 16:58:28 +01:00
AnHardt 57da1b8497 Host parseble output for M109, M190 and M303
Make the output of M105 more similar to Repetier.
Make the text-print pert of M105 an extra function to make it reusable. `print_heaterstates()`
Use `print_heaterstates()` in M019, M190 and M303
2015-12-07 15:37:53 -06:00
Scott Lahteine 0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Scott Lahteine bc50db9cf6 Implement PID_ADD_EXTRUSION_RATE 2015-09-12 07:53:20 -05:00
Shane Francis 4c8330c15c Trim Adjustments for Delta Configurations 2015-09-03 01:05:33 -05:00
Richard Wackerbarth 20b4772155 Create DEBUG_LEVELING_FEATURE 2015-08-27 20:52:08 -05:00
Richard Wackerbarth 6292d9e815 Rename ENABLE_AUTO_BED_LEVELING
With the introduction of the #if ENABLED(…)

reads better than
2015-08-27 20:52:08 -05:00
Christian Lefrançois a7822e3ff7 Some renaming of Z_PROBE to Z_MIN_PROBE (PR#91)
* Fix a couple of renames omission and macro expansion errors.
2015-08-20 06:04:46 -05:00
Richard Wackerbarth 29b456ae07 Suppress some compiler warnings 2015-08-16 06:56:47 -05:00
Richard Wackerbarth 4b9d5cd352 Use lowercase names for serial instances 2015-08-02 23:01:39 -05:00
Scott Lahteine 1e2deff4fd Rename BTENABLED to BLUETOOTH
- For some reason it’s easy to forget what BT stands for, but it
doesn’t need an abbreviation.
2015-08-02 22:56:50 -05:00
Scott Lahteine b4abb0ae7f Apply ENABLED / DISABLED to Marlin core files (PR#2558) 2015-07-31 01:03:58 -05:00
Richard Wackerbarth a401d738df There is an echo in here 2015-07-27 20:31:59 -05:00
Scott Lahteine c66955aaf9 Mark unchanging arrays as const (PR#2494)
The compiler may be able to optimize if it knows an array won’t be
changing.
2015-07-22 21:37:37 -05:00
Scott Lahteine d85861d296 Move macros, add ENABLED/DISABLED, add includes 2015-07-22 18:16:05 -05:00
Scott Lahteine c7dd5527b4 Add a C_AXIS and Z_HEAD to support COREXZ 2015-07-19 16:17:03 -05:00
Scott Lahteine baa9199973 Define extern delta only for delta 2015-07-16 16:36:30 -05:00
Scott Lahteine 82a3ed2f9a Cleanup and dev notes in Marlin.h 2015-07-16 16:36:30 -05:00
Richard Wackerbarth e83575537a Compiler defines USBCON for USB devices (PR#2433) 2015-07-15 10:32:11 -05:00
Scott Lahteine bc0fdbe88e Use SERIAL_EOL in SERIAL_PROTOCOLLN macros 2015-07-07 06:59:10 -05:00
Richard Wackerbarth 06ae832276 Deprecate Support for Arduino IDE < 1.0.5
Note that newer versions of the IDE can still
be made to support compilation for the older boards.
2015-06-08 17:15:28 -05:00
wurstnase e7e964432b consistency name for multiplier
replace extruder_multiply with extruder_multiplier
like feedrate_multiplier or volumetric_multiplier
2015-06-01 22:33:22 +02:00
AnHardt 9d2a980bcf Merge pull request #2170 from thinkyhead/beep_M600_elsewise
Slight size reduction by adding idle()
2015-05-30 12:42:32 +02:00
Scott Lahteine 790c697c19 Fix DEGREES macro 2015-05-28 00:19:48 -07:00
Scott Lahteine d76a01194d Slight size reduction by adding idle() 2015-05-26 20:08:21 -07:00
Scott Lahteine 04a1622172 Merge pull request #2127 from Wackerbarth/Kossel_Pro
Kossel Pro
2015-05-21 18:43:26 -07:00
wurstnase ff98b8632b new endstop bits 2015-05-21 23:16:43 +02:00
Richard Wackerbarth 1d8f61ca8a AT90USB is defined in pins.h 2015-05-21 11:46:54 -05:00
AnHardt f4a93ed997 Add a string parameter to kill()
Makes the output on the LCD adjustable.
2015-05-20 20:53:48 +02:00
Scott Lahteine 46d59784ad Rename preocess_command to process_next_command 2015-05-16 20:47:40 -07:00
Scott Lahteine 80807b2d71 Consolidate arc code, remove motion_control.* 2015-05-13 18:52:41 -07:00
Scott Lahteine 9e95ceb3fc Split up prepare_move by type
- For better encapsulation add inlines for each prepare_move type
- Move controllerFan vars inside the function as statics
- Some formatting cleanup
- Rename `ClearToSend` as `ok_to_send`
2015-05-12 02:08:20 -07:00
Scott Lahteine 873f7d6f2a Check that configs are up-to-date 2015-05-12 01:33:51 -07:00
Wurstnase b55f32f8a1 replace some bools
this PR replaces some bools with one char. this will safe 3 bytes and should also be sometimes a little bit faster.
2015-05-10 21:37:39 +02:00
Scott Lahteine d43cc2dd5f M111 - Debug Level
- Add `M111` as a standard option to set the debug level
- Implement `DEBUG_ECHO` in `process_commands`
- Other debug levels (e.g., `DEBUG_DRYRUN`) need more work
2015-04-26 20:08:45 -07:00