1
0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2024-12-22 18:27:32 +00:00
Commit Graph

1030 Commits

Author SHA1 Message Date
Scott Lahteine
68f6f149d0 Reduce code size with out_of_range_error function
- Affects code size when automatic bed leveling is enabled
2015-05-24 20:18:02 -07:00
Scott Lahteine
b55f8718c3 Indent G90/G91, G92 2015-05-22 17:34:08 -07:00
Scott Lahteine
b0d520b109 Indent G30, G31/G32 2015-05-22 17:33:17 -07:00
Scott Lahteine
ffe27a6225 Indent G29 2015-05-22 17:32:46 -07:00
Scott Lahteine
86083badc2 Indent G4, G10/G11, G28 2015-05-22 17:32:27 -07:00
Scott Lahteine
47d7a9cb5e Indent G2/G3 2015-05-22 17:31:38 -07:00
Scott Lahteine
350f239d84 Indent G0/G1 2015-05-22 17:31:24 -07:00
Scott Lahteine
15a2351675 No need for +1 on initial seen_pointer 2015-05-22 15:31:30 -07:00
Scott Lahteine
550dd87b2a Set seen_pointer before calling code_value 2015-05-22 15:11:48 -07:00
Scott Lahteine
04a1622172 Merge pull request from Wackerbarth/Kossel_Pro
Kossel Pro
2015-05-21 18:43:26 -07:00
Scott Lahteine
f919a2fed1 Merge pull request from AnHardt/preheat-all
Shift call of start_watching_heater() into setTargetHotend()
2015-05-21 18:36:28 -07:00
AnHardt
0c0ace2a04 Remove start_watching_heater() fom M104 and M109 2015-05-22 01:44:50 +02:00
Scott Lahteine
bde9c70d42 Suppress the line mismatch error after M303 2015-05-21 16:27:22 -07:00
Scott Lahteine
50bd7493cc Merge pull request from thinkyhead/m33_long_filename_host_support
M33 LONG_FILENAME_HOST_SUPPORT
2015-05-21 16:22:47 -07:00
Scott Lahteine
4d11b29959 Merge pull request from thinkyhead/command_sanitizer
Command sanitizer
2015-05-21 16:21:58 -07:00
Richard Wackerbarth
735bf2d35f Describe Custom M Code 2015-05-21 08:06:33 -05:00
Scott Lahteine
f39658c822 M120 and M121 are reversed 2015-05-21 00:17:44 -07:00
AnHardt
89d2ee6f13 Make output on display dependant of ULTRA_LCD 2015-05-20 22:03:16 +02: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
a0f362c735 Simplify & optimize with current_command_args 2015-05-18 07:08:04 -07:00
Scott Lahteine
adc8fcb77f More parser comments, optimize code_seen, save with goto 2015-05-18 07:08:04 -07:00
Scott Lahteine
c6d8dd19d9 use fetched value 2015-05-18 07:08:04 -07:00
Scott Lahteine
1116e13f5a Further optimization of command parser 2015-05-18 07:08:03 -07:00
Scott Lahteine
3a4c3ab76e Pre-sanitize the command before handling
- Use a global pointer for the current sanitized command
- Pre-sanitize the current command to bypass `N` and nullify `*`,
removing the need for handlers to bypass, ignore, or nullify these
parts, and reducing overhead for `code_seen`, etc.
- Pre-skip leading whitespace.
- Only look for G, M, T codes at the start of the command.
- Verify that G, M, T codes are followed by command codes.
2015-05-18 07:06:51 -07:00
Scott Lahteine
0f2c9bacfd M33 LONG_FILENAME_HOST_SUPPORT 2015-05-17 17:36:32 -07:00
Scott Lahteine
3feaef6526 Have G92 set the nozzle position on Delta and SCARA 2015-05-17 17:08:05 -07:00
Scott Lahteine
6c27eaf864 Merge pull request from thinkyhead/code_style
Code style and a dangling "else"
2015-05-17 03:39:08 -07:00
Scott Lahteine
d580a0d186 Use "+=" in plane rotation 2015-05-17 01:51:14 -07:00
Scott Lahteine
2f3a410cb0 Fix a potential hanging "else" bug 2015-05-17 01:50:30 -07:00
Scott Lahteine
b83e3f0905 Combine "Bed X: " strings 2015-05-17 01:49:52 -07:00
Scott Lahteine
7dfb8becdb Adjust some names and types in Marlin_main.cpp 2015-05-17 01:48:51 -07:00
Scott Lahteine
c966aa26ff Comments in Marlin_main.cpp 2015-05-17 01:47:53 -07:00
Scott Lahteine
c54a2ea042 Adjust spacing in Marlin_main.cpp and stepper.* 2015-05-17 01:47:02 -07:00
Scott Lahteine
072625ccad Update headings in Marlin_main.cpp and stepper.cpp 2015-05-17 01:44:53 -07:00
Scott Lahteine
16032f149f Rename to codenum as a consistency 2015-05-16 23:17:35 -07:00
Scott Lahteine
273a4a253f Merge pull request from thinkyhead/cherry_picking3
Hide M117 with no LCD
2015-05-16 21:10:28 -07:00
Scott Lahteine
64825a3d1e Merge pull request from thinkyhead/cherry_picking2
Add gcode_line_error to reduce code size
2015-05-16 21:09:15 -07:00
Scott Lahteine
ca79282eaf Hide M117 with no LCD 2015-05-16 20:59:04 -07:00
Scott Lahteine
ce218cafdb Add gcode_line_error to reduce code size 2015-05-16 20:54:58 -07:00
Scott Lahteine
46d59784ad Rename preocess_command to process_next_command 2015-05-16 20:47:40 -07:00
Scott Lahteine
19166a92e4 Merge pull request from Wurstnase/serial_wait
add plan buffer remaining for 'P' and block buffer remaining 'B'
2015-05-14 04:57:08 -07:00
Scott Lahteine
e97fcafd0e Merge pull request from thinkyhead/mendel_inverting
Use MSG_OK in M105
2015-05-14 04:54:11 -07:00
Scott Lahteine
0f6cd3640b Drop extraneous ok_to_send 2015-05-14 04:38:09 -07:00
Scott Lahteine
0ce355d9e7 Use MSG_OK in M105 2015-05-14 03:33:38 -07:00
Scott Lahteine
7b3acfbb6f Merge pull request from thinkyhead/better_arc_code
Consolidate arc code, remove motion_control.*
2015-05-14 00:27:22 -07:00
Scott Lahteine
68ce419147 Note on segment size 2015-05-13 19:11:36 -07:00
Scott Lahteine
8b92249f18 Bring arc_offset into auto scope 2015-05-13 19:00:46 -07:00
Scott Lahteine
80807b2d71 Consolidate arc code, remove motion_control.* 2015-05-13 18:52:41 -07:00
Scott Lahteine
f65833931d Formatting tweaks 2015-05-13 02:02:19 -07:00
Scott Lahteine
747fd5801c Merge pull request from thinkyhead/thermal_unified
Combine thermal runaway and watch-period
2015-05-12 08:04:29 -07:00
Scott Lahteine
6e5572228d Merge pull request from thinkyhead/wait_before_g28
Split up prepare_move by type
2015-05-12 07:53:11 -07:00
Scott Lahteine
27ad381e25 Allow fractional seconds in G4 and M0 2015-05-12 07:52:08 -07:00
Scott Lahteine
b2bd9aae7c SCARA_SEGMENTS_PER_SECOND 2015-05-12 04:18:15 -07:00
Scott Lahteine
bd20bd5444 Merge pull request from chris-bo/autobed_sled
improve sled handling
2015-05-12 03:29:21 -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
Christian Bohn
f48599f172 add pin definition to some motherboards 2015-05-12 10:02:23 +02:00
Scott Lahteine
b5200e184c Remove extra setup_for_endstop_move 2015-05-12 01:01:53 -07:00
Scott Lahteine
8d814de558 Return void in prevent_dangerous_extrude 2015-05-12 00:55:00 -07:00
Scott Lahteine
367e2eb9f4 Global setup_for_endstop_move 2015-05-12 00:51:22 -07:00
Scott Lahteine
fa951f8a0b Always do st_synchronize() before G28 2015-05-12 00:31:51 -07:00
Christian Bohn
27a3b1d895 disable sled pin by default 2015-05-12 08:51:01 +02:00
Christian Bohn
fb44b53ae3 sled improvements
- create sled pin definition
- G28 Works with sled
2015-05-11 23:22:19 +02:00
Wurstnase
46d1932380 add plan buffer remaining for 'P' and block buffer remaining 'B' 2015-05-11 13:04:00 +02:00
Scott Lahteine
8a0dc4d54a Merge pull request from Wurstnase/serial_wait
Serial wait
2015-05-10 23:10:25 -07:00
Wurstnase
526ad82d20 activate advanced_ok and no_timeout 2015-05-11 08:01:51 +02:00
Scott Lahteine
2445ae3d3a Combine thermal runaway and watch-period
- Make thermal protection for all hotends and/or bed into simple
switches
- Now enable `WATCH_TEMP_PERIOD` when `THERMAL_PROTECTION_HOTENDS` is
enabled
- Move detailed thermal parameters to `Configuration_adv.h`
- Add sanity checks to warn about old configurations
- Change `WATCH_TEMP_PERIOD` to seconds instead of milliseconds
2015-05-10 22:52:01 -07:00
Scott Lahteine
4097207c75 Merge pull request from thinkyhead/watch_temp
More thermal protection
2015-05-10 21:39:05 -07:00
Scott Lahteine
9b3d4380d3 Only watch the heater that was set 2015-05-10 20:26:45 -07:00
Scott Lahteine
f73f4ce555 Make some z probe and servo code tweaks 2015-05-09 19:11:19 -07:00
Scott Lahteine
54deb9eea3 Enable WATCH_TEMP_PERIOD by default 2015-05-08 22:36:02 -07:00
Wurstnase
0cb87795a3 advanced 'ok'
ok N(linenumber) P(bufferremaining)
the host can use this to send the data much faster.

Some pseudo code:
If (bufferremaining > 0)  send command
## as long there is free buffer send command

Also
if (linenumber > lastsend - bufferremaining) send command
## as long last linenumber received is bigger than lastsend (host) - last bufferremaining received
2015-05-08 22:28:51 +02:00
Wurstnase
182e0d99c9 Merge remote-tracking branch 'Marlin8bit/Development' into serial_wait 2015-05-08 21:27:18 +02:00
Scott Lahteine
7f3252eea9 Merge pull request from paclema/Filrunout_configurable_script
Added configurable script for filrunout from configuration.h
2015-05-08 04:39:59 -07:00
Scott Lahteine
79633a74ab Fix MBL compile error 2015-05-06 14:25:13 -07:00
Scott Lahteine
777f2d3820 Merge pull request from fmalpartida/bugFixing
Bug corrected: persistent HOMING message when HOME button pressed for homing.
2015-05-05 00:12:32 -07:00
Scott Lahteine
ecb46de349 Merge pull request from bq/Fix_lowercase
Fixed lowercase change missing on commit a22a228b.
2015-05-04 23:50:56 -07:00
fmalpartida
150a35eff8 Bug corrected:
Persistent homing message.
Message was declared as an alert, therefore it was persistent.
Updated to message.
2015-05-04 19:48:49 +02:00
Gina Häußge
ab246ab032 Reverting changes to error messages on serial console
This reverts the changes done to the error message for line number mismatches done in commit d43cc2dd5f
2015-05-04 15:03:00 +02:00
Ivan Galvez Junquera
59529b755d Fixed lowercase change missing on commit a22a228b.
Servo.cpp and Servo.h were changed to lowercase in Makefile but not their actual filenames.
2015-05-04 09:44:34 +02:00
Scott Lahteine
1f039cde61 Merge pull request from thinkyhead/too_many_probes
Stow Z probe on M402 without extra raise
2015-05-03 20:40:26 -07:00
Scott Lahteine
ca8cec8e8a Merge pull request from paclema/Filament_runout_fix
Fixed sintaxis error of filament runout
2015-04-29 19:53:25 -07:00
Scott Lahteine
d4c74b8f8c Don't apply M428 if an error occurs
- Also move audio feedback into the command
- Added shorthand for `lcd_buzz` availability
2015-04-29 19:05:48 -07:00
Scott Lahteine
d065d37822 Add M428 to set home_offset logically 2015-04-29 18:26:16 -07:00
paclema
013a09dbe6 Added configurable script for filrunout form configuration.h 2015-04-29 21:38:40 +02:00
paclema
4dcc0fd55a Fixed sintaxis error of filament runout 2015-04-29 21:32:27 +02:00
Scott Lahteine
ce3caf447b Tweak how homeaxis deploys and stows 2015-04-28 19:17:48 -07:00
Scott Lahteine
a235dca79c Stow z on M402 without extra raise 2015-04-28 19:10:07 -07:00
Scott Lahteine
3688256f86 Merge pull request from thinkyhead/eeprom_in_gcode
Make EEPROM reproducible in GCode
2015-04-27 22:35:41 -07:00
Scott Lahteine
31516e2a3b Merge pull request from Arengorn/Development
Update of servo.h
2015-04-27 22:10:02 -07:00
Scott Lahteine
0f687b5dda Merge branch 'Development' into eeprom_in_gcode
Latest upstream commits
2015-04-27 21:47:47 -07:00
Scott Lahteine
28aef684b4 Merge pull request from Voxel8/sjk/home_y_before_x
Allow Y to home before X with option in Configuration_adv.h.
2015-04-27 21:41:14 -07:00
Scott Lahteine
71a0b1a5bb Disable endstops between homing bumps 2015-04-27 21:14:30 -07:00
Scott Lahteine
c36226c4dc Fix homing Z position
Add `sync_plan_position()` after `axis_is_at_home(axis)` to keep the
planner position in sync when homing.
2015-04-27 20:55:19 -07:00
Scott Lahteine
ff178d8cf7 Change M421 to take coordinates
This makes `M421` more amenable for irregular matrices
2015-04-27 19:48:34 -07:00
Bernardo
ff67ee73fc Update Marlin_main.cpp
Corrected "servo.h" to "Servo.h" because of the updated filename.
2015-04-27 23:29:16 -03:00
Steve Kelly
98ca46006c Allow Y to home before X with option in Configuration_adv.h.
This addresses comments in  and . In particular, this is useful
when both endstops are stationary on a CoreXY system, and the Y axis needs
to be homed before the X so the flags are aligned.
2015-04-27 16:17:30 -04:00
Scott Lahteine
0fca084ea6 Make EEPROM reproducible in GCode
With these changes the output of `M503 S0` is all you need to restore
the EEPROM. Building on this it is straightforward to save and restore
the EEPROM state using the SD card or external GCode file.

- Added `M145` to set “heatup states” for the LCD menu
- Added `M420` to toggle Mesh Bed Leveling
- Added `M421` to set a single Mesh coordinate
- Extended `Config_PrintSettings` with added M codes
- Cleaned up some comments here and there
2015-04-26 20:56:33 -07: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
Scott Lahteine
a22a228bcc Rename files to move them in the IDE 2015-04-25 21:04:54 -07:00
Scott Lahteine
0438f0d835 Merge pull request from thinkyhead/raise_z_for_m401_m402
Raise Z for M401 and M402
2015-04-24 22:41:12 -07:00
Scott Lahteine
b275946a52 Merge pull request from thinkyhead/g4_dwell_message
G4 shows status message only if no message is set already
2015-04-24 22:02:37 -07:00
Scott Lahteine
182f2cda35 Minor cleanup of M48 2015-04-24 21:26:36 -07:00
Scott Lahteine
3a6fd912cd Latest upstream commits, merged 2015-04-24 21:14:13 -07:00
Scott Lahteine
3c9e94e035 Merge pull request from AnHardt/Max6675again
Add variant for MAX6675 in M104
2015-04-24 20:44:45 -07:00
Scott Lahteine
56ff46eb8b Improve code_has_value test 2015-04-24 20:43:16 -07:00
Scott Lahteine
ce142afdda G4 shows status message only if no message is set already
- Address issue raised in 
2015-04-24 20:13:01 -07:00
Scott Lahteine
35e79d56a5 Remove set-coordinate extension of G28 2015-04-24 19:23:12 -07:00
Scott Lahteine
3a74bb5039 Merge pull request from Wurstnase/max_endstopp
Max endstopp
2015-04-24 19:17:38 -07:00
AnHardt
0fed46360c Add variant for MAX6675 in M104
Else will throw error:
@:0 B@:0
Error:No thermistors - no temperature
[ERROR] Error:No thermistors - no temperature

when no bed is defined
2015-04-24 16:43:19 +02:00
Scott Lahteine
588ed70d4a Latest upstream commits, merged 2015-04-23 21:18:48 -07:00
Scott Lahteine
0165560333 Apply zprobe_zoffset in axis_is_at_home
Ensure the probe offset will always be included when homing Z.
2015-04-23 21:12:38 -07:00
Scott Lahteine
075386e7fe Merge pull request from thinkyhead/lcd_move_rate
Include axis parameter to ultralcd's line_to_current
2015-04-23 21:06:57 -07:00
Scott Lahteine
2558c10c6c Use the slower feedrate for XY axes 2015-04-23 20:06:17 -07:00
Scott Lahteine
64268f3312 Fixup axis_is_at_home a little 2015-04-23 18:16:44 -07:00
Scott Lahteine
996d0a9185 Squish the code down a little 2015-04-23 18:06:36 -07:00
Scott Lahteine
8534bc376c Fix homing of YZ with DUAL_X_CARRIAGE 2015-04-23 17:56:37 -07:00
Scott Lahteine
3b97a7d446 Merge pull request from AnHardt/beep2
More Beeper clean up
2015-04-23 17:50:02 -07:00
Wurstnase
be9e4ceddc fix typo
c'n'p ftw :/
2015-04-23 10:35:14 +02:00
unknown
c26d816839 filter any 0 2015-04-22 12:09:57 +02:00
Wurstnase
61ae43f35e v <-> code_value 2015-04-20 23:31:10 +02:00
Wurstnase
da0d91a79b max endstopp
no user will home to 0 with a max endstopp
2015-04-20 23:28:46 +02:00
AnHardt
064f2b37d0 More Beeper clean up.
Centralised beep code to lcd_buzz().
From gcode_M300() and lcd_quick_feedback().

Enforced max. duration for M300 to 5 seconds.

Corrected description in 'Configuration.h'

LCD_FEEDBACK_FREQUENCY_HZ 0 gives now a silent delay of
LCD_FEEDBACK_FREQUENCY_DURATION_MS.
2015-04-20 11:11:13 +02:00
Wurstnase
92575cecca new timout/add adv_ok 2015-04-20 00:22:40 +02:00
AnHardt
671aaf2dc9 Minor fix for M300
Corrected wrong order of parameters.
2015-04-19 13:25:20 +02:00
Scott Lahteine
d931220a65 Tweak comments 2015-04-18 23:12:29 -07:00
Scott Lahteine
47847765e2 Add M410 QuickStop command 2015-04-18 23:07:48 -07:00
Wurstnase
b09a957fce make 'wait' optional and mark as workaround 2015-04-16 21:42:54 +02:00
Scott Lahteine
63b98b8280 Raise Z for M401 and M402 2015-04-16 07:24:33 -07:00
wurstnase
d69da22f7c last_command_time inside get_command() 2015-04-16 16:20:23 +02:00
wurstnase
574e2d856e remove config 2015-04-16 13:07:20 +02:00
paclema
cde5eee2a5 Removed unnecessary comments 2015-04-15 19:01:09 +02:00
paclema
e1b69db6d1 Fixed M48 mismatch between n and P parameter on documentation 2015-04-15 18:17:58 +02:00
Scott Lahteine
e0e68c5cbc Rename servos[] array in Marlin to servo[] 2015-04-14 03:13:25 -07:00
Scott Lahteine
642f6a92bc fix type of code_has_value 2015-04-13 18:02:17 -07:00
Scott Lahteine
17ad80c1e1 Spacing in XYZ_CONSTS 2015-04-13 17:58:47 -07:00
Scott Lahteine
09d60e0128 Naming and code comments 2015-04-13 17:17:36 -07:00
Mehmet Sutas
5a9e45cc4a Fix Syntax Error Filament Runout Statement 2015-04-13 22:37:18 +03:00
Scott Lahteine
ccddc280be Apply three more commits 2015-04-12 22:47:44 -07:00
Scott Lahteine
ac2b23f574 Homing fixes
- Prevent `Z_SAFE_HOMING` from homing Z twice in some cases
- Allow `G28` with XYZ values of 0 to explicitly set the position
- Don’t add `home_offset` when setting XYZ explicitly in `G28`
- Add `code_has_value` function to check for the presence of a numeric
value (could just test for space or nul to allow other types of values)
2015-04-11 20:06:48 -07:00
Scott Lahteine
5fe382949b Some G-Codes comment cleanup 2015-04-10 16:16:13 -07:00
Scott Lahteine
8b16ebe705 Break out prevent_dangerous_extrude feature
- It’s inline here, but could be a macro and duplicated for
`planner.cpp`
2015-04-09 22:40:37 -07:00
Scott Lahteine
9189cc66ab Fix moves for DELTA for MANUAL_BED_LEVELING
- Use `line_to_current` in place of `plan_buffer_line`
2015-04-09 04:32:14 -07:00
Scott Lahteine
2ca099d1e7 Merge pull request from thinkyhead/cold_extrude
Catch dangerous extrude before trying several
2015-04-09 03:21:19 -07:00
Scott Lahteine
a00ebf03d4 Merge pull request from AnHardt/LCD_STR
Moved the definitions of the LCD_STR_* to Conditionals.h
2015-04-09 01:56:23 -07:00
Scott Lahteine
1269c445ab Catch dangerous extrude before trying several 2015-04-09 01:40:48 -07:00
AnHardt
540dbb35e2 And an other MSG_BED in Marlin_main.cpp 2015-04-09 01:16:06 +02:00
AnHardt
14d4419e16 Replaced SERIAL_PROTOCOLPGM(MSG_BED) with SERIAL_PROTOCOLPGM("Bed")
Resolved some warnings in Marlin_main.cpp regarding compares of signed and unsigned integers by replacing 'int' or 'uint16_t' with 'uint8_t'.
2015-04-08 23:59:01 +02:00
AnHardt
6a514f3dc9 Aplied HAS_LCD_CONTRAST also to Marlin_main.cpp
and cleaned typo.
2015-04-08 13:26:29 +02:00
Scott Lahteine
3162971cd6 current_position not static 2015-04-08 01:05:39 -07:00
Scott Lahteine
27cb90da8b IsStopped / IsRunning inline 2015-04-08 00:56:19 -07:00
Scott Lahteine
e03da4805b Merge pull request from epatel/Development
Mesh bed leveling: Added G29 S3 + finer display steps during manual input + bug fix
2015-04-07 19:24:46 -07:00
Scott Lahteine
f7c4e7e19f Fix G29 not deploying in some instances 2015-04-07 15:38:29 -07:00
Edward Patel
002340f32c Merge branch 'Development-Marlin' into Development 2015-04-07 22:49:12 +02:00
Scott Lahteine
c379f17117 Encapsulate setting of homing_bump_feedrate 2015-04-06 23:21:33 -07:00
Scott Lahteine
d20f42c883 Don't stow the probe until the last grid point!
- Address Issue  at hash #issuecomment-89756858
2015-04-06 20:58:09 -07:00
Scott Lahteine
6d084c017f Fix typo in FWRETRACT handler
Should be `retracting` and not `retract`
2015-04-06 17:04:22 -07:00
Edward Patel
2f0081bbb5 Compile error fix! Fix for merge artifacts. 2015-04-05 04:16:16 +02:00
Edward Patel
ea10601406 Merge branch 'Development-Marlin' into Development
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
2015-04-05 04:06:02 +02:00
Scott Lahteine
61f8394361 Compare indices instead of floats for probe actions 2015-04-04 05:01:16 -07:00
Scott Lahteine
0935084141 Fix manage_inactivity
- Document `manage_inactivity` function
- Allow `EXTRUDER_RUNOUT_PREVENT` to work with all extruders
- Use faster `memcpy` for copying coordinates
2015-04-03 23:42:50 -07:00
Scott Lahteine
c065da52ec Spacing and spelling 2015-04-03 22:54:48 -07:00
Scott Lahteine
8680b515b0 Fix missing tmp_extruder -> target_extruder 2015-04-03 22:12:49 -07:00
Scott Lahteine
c185912c19 Latest upstream commits, mostly 2015-04-03 21:58:48 -07:00
Scott Lahteine
1e5c18bb14 Add code_value_short and SERIAL_CHAR 2015-04-03 21:43:30 -07:00
Scott Lahteine
84e4edaea7 Add M48 comment for 2015-04-03 19:52:00 -07:00
Scott Lahteine
b98ebd517e disable / enable_all_steppers functions 2015-04-03 19:25:22 -07:00
Scott Lahteine
713953d8c1 Upstream commits, allow no extruder in M105 2015-04-03 19:16:38 -07:00
Scott Lahteine
8f893eb8df Merge pull request from thinkyhead/fixup_probing
Fix probe height at G28 start
2015-04-03 19:03:00 -07:00
Scott Lahteine
dde7e11f8e Merge branch 'Development' into fixup_tr
Latest upstream commits
2015-04-03 18:56:52 -07:00
Scott Lahteine
abd7fc36b6 Fix probe height at G28 start 2015-04-03 18:54:55 -07:00
Scott Lahteine
610c8c5471 Merge pull request from thinkyhead/fixup_probing
Finish pin tests
2015-04-03 18:44:44 -07:00
Scott Lahteine
e4934164e4 Merge pull request from Wurstnase/fix_home_z
fix feedrate for homing z
2015-04-03 18:35:09 -07:00
Scott Lahteine
a469d796e1 Add cleanups needed for 2015-04-03 18:14:57 -07:00
Scott Lahteine
c0ca26cd50 Merge branch 'Development' into fixup_probing
Latest upstream commits
2015-04-03 18:05:17 -07:00
Scott Lahteine
5c1f08a35f Merge pull request from croadfeldt/Merge_cleanup
Z_PROBE_ENDSTOP
2015-04-03 18:04:31 -07:00
Scott Lahteine
92119d0f7d Static delta[] for SCARA 2015-04-03 16:46:56 -07:00
Scott Lahteine
6b919e14c1 Group all universal variables 2015-04-03 15:45:41 -07:00
Scott Lahteine
21cd2e4fae Merge branch 'Development' into fixup_probing
Latest upstream commits
2015-04-03 15:32:15 -07:00
Scott Lahteine
0e8182bbf2 Additional pin tests, cleanup 2015-04-03 15:31:35 -07:00
Wurstnase
45565b680d second wrong feedrate 2015-04-03 18:01:28 +02:00
Wurstnase
581b2aae04 fix feedrate for homing z
max_feedrate is in mm/s. line_to_destination needs a feedrate in mm/min because there is feedrate/60.
2015-04-03 16:11:32 +02:00
AnHardt
23cd54755f Fix typo in Marlin_main.cpp
related to current_position[Z_AXIS] and retract_zlift.

'+ =' -> '+='

Fix for 
2015-04-02 14:50:31 +02:00
Scott Lahteine
e96df67630 Clarify thermal_runaway_protection
- Add comments documenting `thermal_runaway_protection`
- Add an enum for the thermal runaway states
- Add macros for temperature helper functions
- Fix a glitch with the z probe sled in homeaxis
2015-04-02 05:10:14 -07:00
Edward Patel
6b91b7b411 Mesh bed leveling: Added G29 S3 + finer steps in manual probing.
* Use "G29 S3 Xn Yn Zn.nn" to modify bad probed point manually
* Changed manual Z steps from 0.05 to 0.025 and made brought it to Configuration.h
2015-04-01 21:18:51 +02:00
Chris Roadfeldt
26dc80bf2d Typo fixed... 2015-04-01 13:47:17 -05:00
Chris Roadfeldt
a57862e29f Cleaning up code in prep for merge with upstream. 2015-04-01 11:40:24 -05:00
Chris Roadfeldt
745d9fe1a4 Merge remote-tracking branch 'MarlinFirmware/Development' into Merge_cleanup
Conflicts:
	Marlin/Marlin_main.cpp
2015-04-01 10:31:02 -05:00
Scott Lahteine
9593f09b99 Merge pull request from thinkyhead/probe_leveling
Fix homing and leveling
2015-04-01 02:00:39 -07:00
Scott Lahteine
72c7de3570 Cleanup M48 2015-04-01 01:48:45 -07:00
Scott Lahteine
97a258b0b0 Clean up, document home_axis 2015-04-01 01:44:13 -07:00
Chris Roadfeldt
a508d835db Changed Z_PROBE_AND_ENDSTOP to Z_PROBE_ENDSTOP.
Updated documentation in Configuration.h.
Cleaned up and commented some code relating to Z_PROBE_ENDSTOP.
Separated Z_MIN_ENDSTOP and Z_PROBE_ENDSTOP completely.
2015-04-01 02:14:55 -05:00
Chris Roadfeldt
fdb4ddbdea Merge remote-tracking branch 'MarlinFirmware/Development' into Development 2015-04-01 00:52:08 -05:00
Scott Lahteine
1c7391717e Include sync_plan_position_delta for SCARA also 2015-03-31 19:58:03 -07:00
Scott Lahteine
0b57a2ab8b Merge pull request from bq/Translation-strings
Added new trasnslatable labels.
2015-03-31 18:56:25 -07:00
Scott Lahteine
18bb6be80e Fix homing and leveling
- Include the current Z when raising the axis after and between probing
- Add `sync_plan_position_delta` for parity with `sync_plan_position`
- Clean up and clarify `M48`, `dock_sled`, and others
2015-03-31 18:52:19 -07:00
Chris Roadfeldt
c89b8368ee Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-31 11:08:36 -05:00
Ivan Galvez Junquera
d08782386b Added new trasnslatable labels.
* Added MSG_END_HOUR and MSG_END_MINUTE labels to all language files.
* Available translations:
  EN, FR, DE, ES, IT, PT, PT-BR.
2015-03-31 16:59:43 +02:00
Scott Lahteine
97a69d9b1c Correct XYZ after obtaining plan_bed_level_matrix
The current position needs to be updated by using the inverse
`plan_bed_level_matrix` on X, Y, and Z. All moves in the planner are
transformed by the `plan_bed_level_matrix` from this point forward.
2015-03-31 04:24:13 -07:00
Scott Lahteine
5f6962dd90 Merge pull request from thinkyhead/fixup_config
Raise when not retracting
2015-03-31 03:47:01 -07:00
Scott Lahteine
ae89ccd2c7 Use Z_RAISE_BETWEEN_PROBINGS 2015-03-31 03:45:21 -07:00
Scott Lahteine
9a5a7a3f68 Raise when not retracting
Code to raise the probe before retraction is good, but the code should
always raise the probe, not just when retracting
2015-03-31 03:38:03 -07:00
Scott Lahteine
2a45922afe Restore extruder_offset, init more simply 2015-03-31 02:49:47 -07:00
Scott Lahteine
28792e5731 Fix typo in assignment 2015-03-31 02:10:49 -07:00
Scott Lahteine
bb6174524f Fix EXTRUDER_OFFSET compiler error
- Addressing issue 
2015-03-31 02:08:57 -07:00
Chris Roadfeldt
45ece5afb1 Merge remote-tracking branch 'MarlinFirmware/Development' into Development 2015-03-31 03:07:57 -05:00
Chris Roadfeldt
17707e7479 Fixed Z_PROBE_PIN pullup bug.
Documented some additional areas that should be addressed if Z_PROBE is
fully separated from Z_MIN or Z_MAX.
Fixed a documentation error in sanity checks. Servos start at 0 not 1.
2015-03-31 02:56:41 -05:00
Scott Lahteine
50145266cd Merge pull request from thinkyhead/raise_before_homing
Apply Z_RAISE_BEFORE_HOMING before homing XY
2015-03-30 23:37:41 -07:00
Scott Lahteine
a117b6bff6 Merge pull request from thinkyhead/progress_bar_tweak
Fix up LCD_PROGRESS_BAR
2015-03-30 23:37:28 -07:00
Chris Roadfeldt
faac2af4af Merge remote-tracking branch 'origin/Development' into Development 2015-03-31 00:03:07 -05:00
Chris Roadfeldt
3be00cce6f Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Configuration.h
2015-03-30 23:59:01 -05:00
Chris Roadfeldt
e08f8eed05 Revert 06f767d..cba5692
This rolls back to commit 06f767d608.
2015-03-30 23:51:36 -05:00
Chris Roadfeldt
992b07ca57 Don't disable Z_RAISE_BEFORE_HOMING when Z_PROBE_AND_ENDSTOP is enabled. 2015-03-30 22:58:10 -05:00
Chris Roadfeldt
cba5692673 Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
2015-03-30 22:33:05 -05:00
Scott Lahteine
8500c80b33 Apply Z_RAISE_BEFORE_HOMING before homing XY 2015-03-30 20:22:21 -07:00
Scott Lahteine
5519882eea Fix up LCD_PROGRESS_BAR
- Some messages should not expire with `PROGRESS_MSG_EXPIRE`.
- Simplify conditional for progress bar with sanity checks.
- Rename `messageTick` to `expireStatusMillis` and make it the expire
time.
2015-03-30 18:00:54 -07:00
Scott Lahteine
8c136a5ab5 Conditionals and comments for PS = 0 2015-03-30 16:50:05 -07:00
Scott Lahteine
2faed961ce Allow POWER_SUPPLY 0 for no power switch 2015-03-30 16:39:47 -07:00
Scott Lahteine
baa6787393 Merge pull request from thinkyhead/fixup_homing
Apply leveling for DELTA
2015-03-30 15:45:33 -07:00
AnHardt
50a732360a Replace extrudemultiply by extruder_multiply[active_extruder]
Fix for .

Seems to work with only one extruder. Can't test this myself with more.
2015-03-30 13:35:03 +02:00
Scott Lahteine
41d258697a Pass the z for after probing to retract_z_probe
A `z_before` value is passed to probe_pt, but the `retract_z_probe`
function assumes that Z is 0, doesn’t add `current_position[Z_AXIS]` as
other cases do. This may be superfluous, so this is a test, and will be
reverted if it has no effect.
2015-03-30 00:45:02 -07:00
croadfeldt
06f767d608 Merge remote-tracking branch 'upstream/development' into development 2015-03-30 02:10:49 -05:00
Scott Lahteine
e96db1cd6c Make G29 shared function inline 2015-03-29 23:21:39 -07:00
Scott Lahteine
d73b169de3 Apply leveling for DELTA,
- Fix `prepare_move` function not calling `adjust_delta`
- Add more shorthand for plan_buffer_line.
- Fix wrong `federate` usage, assuming they are all mm/m
- Minor `stepper.cpp` cleanup
2015-03-29 23:16:12 -07:00
Scott Lahteine
ce44bee28b Small code reduction 2015-03-29 19:45:14 -07:00
Scott Lahteine
0213f7f016 Cleanup case for M666 2015-03-29 19:39:43 -07:00
Scott Lahteine
803425e12c Fix G29 E and M48 n
- Users prefer `G29 E` to work like `M48 E` so fixed that
- `M48 n` replaced with `M48 P` (or `p`). `n` legacy support
- Shorten some strings to save precious bytes
- Smaller code for 3-point probing
2015-03-29 18:56:09 -07:00
Scott Lahteine
e8ae51bfe3 Fix G28 homing Y with X
- Fixed a typo causing G28 to home incorrectly
- Added documentation to G28
- Added homeXYZ bools to neaten the code
- Added a note about home_offsets being questionable
2015-03-29 18:06:59 -07:00
Chris Roadfeldt
62834a1c43 Don't deploy probe on Z Axis homing if Z_PROBE_AND_ENDSTOP is enabled,
unless Z_SAFE_HOMING is.
2015-03-29 03:55:41 -05:00
Chris Roadfeldt
08a7aa16c5 Don't deploy Z Probe on Z homing if Z_PROBE_AND_ENDSTOP is defined. 2015-03-29 03:21:48 -05:00
Chris Roadfeldt
324c14943b Bug fixes for Z_PROBE_AND_ENDSTOP.
Code cleanup for Z_PROBE_AND_ENDSTOP.
Added Z_PROBE_PIN to pins_RAMPS_13.h
2015-03-29 02:16:09 -05:00
Scott Lahteine
afff968e88 ARRAY_BY_EXTRUDERS, shorthand to sync planner
- Add some documentation to planner and stepper headers
- Patch up RAMBO pins with undefs
- Add `sync_plan_position` inline to set current XYZE
- Swap indices in `extruder_offset` to fix initialization values
2015-03-28 20:33:21 -07:00
Scott Lahteine
2b0c25a091 Tweak G92 to call plan_set_position only once, yes? 2015-03-28 19:18:24 -07:00
Chris Roadfeldt
8b81f20c61 Filling in more places where Z_PROBE_PIN and Z_PROBE_AND_ENDSTOP need to
be.
Added Sanity Check for it.
Added hook so it's enabled.
2015-03-28 05:55:42 -05:00
Chris Roadfeldt
fd823449ad Added serial message for Z Probe trigger. 2015-03-28 05:42:38 -05:00
Scott Lahteine
b14be7235e Merge pull request from galexander1/strtod_e_fix
Fix `code_value` (so `G1X1E2` isn't evaluated as `G1 X100 E2`)
2015-03-27 20:49:03 -07:00
Scott Lahteine
ba871e46bf Fix compiler warnings
- Patched up for most included configurations
2015-03-27 20:29:05 -07:00
Scott Lahteine
ffe0df4b36 Latest upstream commits 2015-03-27 18:30:56 -07:00
Scott Lahteine
578f93bc26 Fixup temp arrays and leveling equation, prepare for merge 2015-03-27 16:20:23 -07:00
Scott Lahteine
460f73056b Fix ECHOPAIR ambiguity
- Also patch up some warnings
2015-03-27 00:46:39 -07:00
Scott Lahteine
19d418cd6a Fix up the code to eliminate warnings 2015-03-27 00:32:58 -07:00
Scott Lahteine
267d6bef15 Eliminate most warnings
- Fix a bug reading `code_value` for `M503 Sn`
- Hide and remove unused variables
2015-03-26 20:07:17 -07:00
Scott Lahteine
b76a352d41 Fix the planeNormal calculation 2015-03-26 17:14:07 -07:00
Scott Lahteine
0b32431551 Remove abs() from planeNormal.z 2015-03-26 16:20:23 -07:00
Scott Lahteine
06eb7f5b3c Latest upstream commits 2015-03-26 15:30:51 -07:00
Scott Lahteine
04328d7537 Add zprobe_zoffset in set_bed_level_equation_*
- Also a small tweak to SanityCheck.h
2015-03-26 15:29:16 -07:00
AnHardt
ebe5b87c2c < like in the oher compareble loops
to avoid:
Marlin_main.cpp:1790: warning: array subscript is above array bounds.
2015-03-26 21:18:19 +01:00
Scott Lahteine
fbf9b21e0c Merge plus fixup zprobe_zoffset
- Make `zprobe_zoffset` conditional
- Fix ConfigurationStore for `zprobe_zoffset`
2015-03-25 21:14:00 -07:00
Scott Lahteine
96b5da7198 Fix up bed leveling code
- Init `zprobe_zoffset`
- Remove `current_position[Z_AXIS] = zprobe_zoffset` lines from the
`set_bed_level_equation_*` functions
- Apply standards to `mesh_bed_leveling` files
- Document `MESH_BED_LEVELING`
2015-03-25 20:36:24 -07:00
Victor Torre
d43d47da14 Clean "fromsd" array is not SDSUPPORT
if not have SDSUPPORT the fromsd array is not necessary
2015-03-25 22:05:18 +01:00
alexborro
55025558dc Implement Dry-Run mode in G29
It just probe all the bed without appliying the matrix.
Useful after a first G29 to check the topology.
2015-03-25 11:12:30 -03:00
alexborro
c2ba5d0c09 Fix ZigZag and Topograph table
ZigZag: Inverted Behavior.. If T supplied, it does not zigzag.
Topograph table: The table was rotated 90º clockwise.
2015-03-24 15:50:31 -03:00
alexborro
0ce3576685 New Feature: Z_DUAL_ENDSTOPS
Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z
steppers - Let's call them Z stepper and Z2 stepper.
That way the machine is capable to align the bed during home, since both
Z steppers are homed.
There is also an implementation of M666 (software endstops adjustment)
to this feature.
After Z homing, this adjustment is applied to just one of the steppers
in order to align the bed.
One just need to home the Z axis and measure the distance difference
between both Z axis and apply the math: Z adjust = Z - Z2.
If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it
is.. think about it) and the Z adjust would be positive.
Play a little bit with small adjustments (0.5mm) and check the
behaviour.
The M119 (endstops report) will start reporting the Z2 Endstop as well.
2015-03-24 14:06:44 -03:00
Scott Lahteine
0d81abe1c9 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-23 21:13:04 -07:00
Scott Lahteine
b26a3ea02c Merge pull request from josla972/refactor_scara
Refactor SCARA calibration. Save some lines of code and possibly ROM.
2015-03-23 00:51:18 -07:00
Scott Lahteine
4fbb80567e Get upstream commits 2015-03-22 23:07:22 -07:00
Scott Lahteine
146501215f Fix mangled probe_pt calls
- Address issue 
- Remove the TOPO_ORIGIN configuration setting
2015-03-22 21:45:20 -07:00
maverikou
15345cc249 Corrected Z_PROBE_ALLEN_KEY behaviour. 2015-03-22 13:54:51 +02:00
maverikou
0f034dd97e Clean up Z_RAISE_AFTER_PROBING to work the same in all code paths except Z_PROBE_SLED. 2015-03-22 13:54:45 +02:00
maverikou
6c96f32069 Blind fix for 2015-03-22 13:54:21 +02:00
Josef Larsson
379348487e Removed malplaced comment. 2015-03-22 12:21:31 +01:00
Josef Larsson
9b3462f73f Refactor SCARA calibration. Save some lines of code and possibly ROM. 2015-03-22 00:37:24 +01:00
Scott Lahteine
691e753cc3 Don't add home offsets in G29
- Address  by leaving values as set
- Rename `add_homing` to `home_offset`
2015-03-21 16:30:02 -07:00
Scott Lahteine
15eb5d35a2 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-21 15:42:45 -07:00
Edward Patel
3d0a060a7a Added G29 command 2015-03-21 14:50:47 +01:00
Scott Lahteine
63d5d28085 Merge branch 'Development' into config_testing
Latest upstream changes
2015-03-20 04:15:18 -07:00
Edward Patel
4619d80524 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-20 11:45:06 +01:00
Scott Lahteine
2424713a8f Merge pull request from AnHardt/warning6
codepos not used in gcode_M28()
2015-03-20 02:58:00 -07:00
Scott Lahteine
670006b919 Remove invariant code from Configurations
- Add `Conditionals.h` with calculated configuration values
- Add `SanityCheck.h` with checks for configuration errors
- Remove equivalent code from all configurations
- Move error checks from some sources to `SanityCheck.h` also
- Fix initialization of count_direction in stepper.cpp
2015-03-19 22:22:23 -07:00
Edward Patel
a61f679568 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-20 02:28:35 +01:00
Edward Patel
c87faa69ed Shortened mesh_plan_buffer_line() 2015-03-20 02:18:49 +01:00
AnHardt
ae01a6b5f2 Make use of codepos.
Saves one addition.
Needs one pointer on the stack.

Don't know if this is a go trade.
2015-03-19 09:45:16 +01:00
Scott Lahteine
80e0ee10ca Merge pull request from AnHardt/iss1593
Decrease KILL_DELAY
2015-03-18 19:10:38 -07:00
Scott Lahteine
76127b8a55 Merge pull request from Wurstnase/fix_g29
optional parameters must be named when ignoring order
2015-03-18 19:09:40 -07:00
Scott Lahteine
8664c6d465 Merge pull request from AnHardt/warning4
delta[3] not used when DELTA not defined.
2015-03-18 19:07:55 -07:00
Scott Lahteine
10711ccc6a Merge pull request from AnHardt/warning5
G4 could wait for an undefined time
2015-03-18 19:07:14 -07:00
Edward Patel
240b5cfe04 Merge branch 'Development' into manual-bed-leveling+mesh-bed-level 2015-03-18 19:19:46 +01:00
alexborro
4521f6655b Restore "S" parameter of M204 for retrocompatibility. 2015-03-18 12:19:30 -03:00
alexborro
5ddb8d94e2 Update Documentation related to M204 2015-03-18 11:09:10 -03:00
AnHardt
f8c4d43886 delta[3] is used with SCARA
Shoot in the dark.
2015-03-18 12:14:49 +01:00
AnHardt
72a9fed4fb codepos not used in gcode_M28()
Got:
Marlin_main.cpp:2567: warning: unused variable 'codepos'

Needs revision.
Don't now how this should look like.
2015-03-18 11:41:14 +01:00
AnHardt
b94dd33641 G4 could wait for an undefined time
Got:
Marlin_main.cpp:1689: warning: 'codenum' may be used uninitialized in this function

And indeed codenum is undefined when no parameter is given.
2015-03-18 11:23:41 +01:00
AnHardt
e90985a4e8 delta[3] not used when DELTA not defined.
got:
Marlin_main.cpp:387: warning: 'delta' defined but not used

Compiles cleaner when definition is removed.
2015-03-18 11:11:49 +01:00
AnHardt
d1658eebfc Decrease KILL_DELAY
Users hat to press kill-button for unexpexted lon times.
See 
2015-03-18 01:45:42 +01:00
Wurstnase
00adb2a6c1 optional parameters must be named when ignoring order 2015-03-18 01:02:29 +01:00
Edward Patel
0d43898a22 Remove of mesh_plan_buffer_line parameter reference (e) 2015-03-17 22:55:29 +01:00
Edward Patel
8067a985ce Merge branch 'Development' into manual-bed-leveling+mesh-bed-level
Fixed conflicts:
	Marlin/planner.h
2015-03-17 22:48:08 +01:00
maverikou
3570447ded Fix Z_RAISE_AFTER_PROBING 2015-03-16 08:35:49 +02:00
maverikou
8a739b6fba Merge branch 'Development' into delta_auto_bed_level
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-16 08:24:26 +02:00
Scott Lahteine
a686c9878f Move TOPO_ORIGIN define to Configuration.h
- Addressing issue 
2015-03-15 15:49:36 -07:00
Edward Patel
8005d22c81 Added menu option for bed leveling. 2015-03-15 23:24:32 +01:00
Edward Patel
0e51e53813 WIP. Adding bed leveling code. 2015-03-15 23:24:32 +01:00
Scott Lahteine
7bc77dc134 Merge pull request from galexander1/m404fix
M404 should not use 'N' address as parameter because 'N' is reserved
2015-03-15 07:47:30 -07:00
Scott Lahteine
b80ed51fcc Fix controllerFan() code
- Add support for 4th extruder
- Fix parentheses matching
- Apply coding standards
- Address issue mentioned at 
2015-03-15 06:55:31 -07:00
Scott Lahteine
bb4cb1b15a Merge pull request from thinkyhead/cleanup_stepper
Cleanup of stepper.cpp
2015-03-15 06:05:08 -07:00
alexborro
d3259d0dba Merge pull request from msutas/Development
Filament Runout Sensor Feature
2015-03-14 18:35:20 -03:00
Scott Lahteine
c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
2015-03-14 04:28:22 -07:00
alexborro
2f3c77b751 Fix decimal places in G29 Bed Equation Coeficients 2015-03-13 14:39:41 -03:00
Scott Lahteine
e4d77a6313 Merge pull request from 2PrintBeta/Development
Macro indirection for stepper drivers + Support for TMC26X and L6470 Stepper Drivers
2015-03-11 15:31:57 -07:00
Mehmet Sutas
b373826428 Merge pull request from MarlinFirmware/Development
update
2015-03-12 00:07:39 +02:00
alexborro
9157cbd8f3 Add Travel Acceleration and change the M204 options
Added option to set Travel Acceleration (non printing moves).
The M204 options was a non sense (S for printing moves and T for retract
moves).

It has been changed to:
P = Printing moves
R = Retract only (no X, Y, Z) moves
T = Travel (non
printing) moves

I will add this info o G-Code wiki in reprap.org. I also advise to put
this info in Marlin next version changelog.
2015-03-11 13:19:02 -03:00
alexborro
888cf161bd fix travel speed option for G29
I forgot to enclousure the variable with #ifdef
2015-03-11 10:03:32 -03:00
alexborro
af63b54562 Add travel speed option to G29 command line 2015-03-11 09:51:56 -03:00
alexborro
60ceca1bc1 Add speed configuration for home-bumping movement 2015-03-10 14:08:32 -03:00
domonoky
d813090d90 Merge remote-tracking branch 'remotes/upstream/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
2015-03-10 10:46:37 +01:00
Scott Lahteine
c321c97f35 Merge pull request from galexander1/stringcleanup
fix a handful of cases where strtod() was cast to int, instead of just using strtol()
2015-03-10 01:48:30 -07:00
maverikou
53abc5e2f1 Merge branch 'Development' into delta_auto_bed_level 2015-03-09 22:28:57 +02:00
Mehmet Sutas
956fb2d278 Merge pull request from MarlinFirmware/Development
update
2015-03-09 11:05:49 +02:00
Scott Lahteine
624f23f550 Merge pull request from Wurstnase/fix-controllerFan
Fix controller fan
2015-03-08 20:36:38 -07:00
maverikou
424c747fb3 Enable M401 and M402 for deltas with allen key z-probes. 2015-03-08 09:57:38 +02:00
maverikou
0d593ab7c1 Fix debug message 2015-03-08 09:41:31 +02:00
Greg Alexander
3e8c5678f5 fix bug where, i.e., "G1X1E1" would be interpretted as "G1 X10 E1",
because strtod() will read the E address value as if it was a base 10
exponent.
2015-03-07 21:14:34 -05:00
Greg Alexander
ed7874b4e0 M404 should not use 'N' address as parameter because 'N' is reserved for the line number 2015-03-07 17:35:06 -05:00
Greg Alexander
b9dfa5cad4 use code_value_long() instead of (int)code_value() 2015-03-07 17:33:15 -05:00
Greg Alexander
901b03d020 use strtol() instead of strtod() when an integer value is desired 2015-03-07 17:24:26 -05:00
Mehmet Sutas
cfc6a3a87a Filament Runout Sensor Feature
With this change a mechanical or optical switch may be used to check the
availability of the filament and when the filament runs out an M600
(filament change) command is issued. This is only done while printing
with an SD card.

This feature was requested several times (issue ), but the requests
were not accepted since it was believed that this situation should be
handled at host side. However during an SD print the control is totally
on firmware and I think that during an SD print it should be handled by
the firmware.

The original code was posted at reprap forum
(http://forums.reprap.org/read.php?1,297350) by Lazymonk. I have only
corrected some bugs of the code and improved it by adding definitions to
the configuration.h in order to make it more standardized.
2015-03-07 22:43:15 +02:00
maverikou
7c24b97958 Ported over Johann Rocholl's improvements for delta printers:
- Nonlinear auto bed leveling code (includes G29, G30, Z_RAISE_AFTER_PROBING). Cleaned it up to be a delta-specific AUTO_BED_LEVELING_GRID code path.
- Allen key z-probe deployment and retraction code. Cleaned it up and added safety checks.
2015-03-07 20:36:21 +02:00
Wurstnase
a5342c942e Update Marlin_main.cpp 2015-03-07 16:47:53 +01:00
Scott Lahteine
d085725c86 More sanity-checking for ABL
- Moved sanity-checks to Marlin_main.cpp
- Applied to other configuration files
- Fixed formatting of ABL output
- Passing verbose level to probe_pt
- Miscellaneous cleanup
- Put CONFIG_STEPPERS_TOSHIBA into Configuration.h
2015-03-06 22:14:34 -08:00
Scott Lahteine
254970c92a Merge pull request from C-o-r-E/escape_fix
Fixes gCode handling of comments and escaped characters
2015-03-06 15:09:35 -08:00
Scott Lahteine
25dc79f124 Remove M48 credits also 2015-03-06 14:54:30 -08:00
Scott Lahteine
34e51f576f Fix compile error in gcode_G29
- A redo of , which missed topo_flag
- Always set verbose_level
2015-03-06 14:52:05 -08:00
Wurstnase
62bd734612 fix controllerFan() for inverted enable pins
add ```^ !(n_ENABLE_ON)``` for each stepper
2015-03-06 12:01:17 +01:00
Gina Häußge
63b62d8d4e Fixed in-line comments and escaping
* "G1 X1 ; test" was not executing "G1 X1" due to never leaving comment mode.
  * "M117 Hello \;)" printed "Hello \" to the display due to not replacing serial_char properly.

Tested with the following commands:
    * M117 Hello ; test => displays "Hello" on display, ignores "test"
    * G1 X1 ; foo => moves 1mm in X, ignores "foo"
    * ; test => completely ignored, not even acknowledged
    * M117 Hello \;) => displays "Hello ;)" on display
    * M117 Hello \\;) => displays "Hello \" on display, ignores ")"
2015-03-05 23:30:34 +01:00
C-o-r-E
99fb1bc3e8 Attempt to resolve and add basic escape character support 2015-03-05 15:22:37 -05:00
Scott Lahteine
cdc38aa783 Move gcode handlers into inline functions 2015-03-05 04:27:24 -08:00
Scott Lahteine
6d9e9a6bef Merge branch 'Development' into enhanced_g29
Latest upstream changes
2015-03-05 02:49:18 -08:00
Scott Lahteine
4db2179f5c Include 4th extruder support 2015-03-05 02:37:36 -08:00
OhmEye
f90a947e65 Fix autoretract
Autoretract was broken, looks like it was overlooked when the retracted flag was updated for multi extruders.
2015-03-04 20:28:08 -10:00
Scott Lahteine
2ef6b3d57a Fix wrong defines, broken syntax 2015-03-04 22:24:44 -08:00
Scott Lahteine
32744d41a9 Do sanity checking on LRFB values
- Setting boundaries based on configured limits, contrasting with G28
(which forgets these limits?)
2015-03-04 21:32:11 -08:00
domonoky
075507fb9a missed one X_ENABLE_PIN 2015-03-03 11:09:56 +01:00
Scott Lahteine
dfb38874f8 Some suggested changes for 2015-03-03 00:48:20 -08:00
Scott Lahteine
7f8ea7105f Arrange ProbeAction values bitwise 2015-03-02 20:14:37 -08:00
Scott Lahteine
7684721977 Enhanced G29
- Adapted “Enhanced G29” code referred to in  and posted at
[3dprintboard.com](http://3dprintboard.com/showthread.php?3105-Auto_Bed_
Leveling-Enhanced-G29-command)
- Compatible with current G29 while adding some new arguments
  - `V` sets the verbose level for serial out
  - `T` (or `V` > 2) send a Topology report to serial out
  - `E` works the same way as before
  - `P` works as before (source used `n` or `U`/`u`)
  - `L`, `R`, `B`, `F` work as before
- Still needs sanity checking for `LRBF`
2015-03-02 20:00:17 -08:00
C-o-r-E
874d3d3fc5 Add support for solenoid articulated extruders 2015-03-02 20:07:12 -05:00
domonoky
4a7aca2736 Merge remote-tracking branch 'remotes/upstream/Development' into Development 2015-03-02 17:52:12 +01:00
Scott Lahteine
e30bfedce4 Fix undefined *_PROBE_BED_POSITION error 2015-03-01 19:57:35 -08:00
alexborro
227ab8c665 Merge pull request from MarcelMo/patch-2
Support for simple customisable AutoZProbing area
2015-02-25 13:22:42 -03:00
Scott Lahteine
c9a3eb0c1a Spacing in calculate_volumetric_multiplier(s) 2015-02-23 20:35:18 -08:00
Scott Lahteine
0cf0c20532 Optimize calculate_volumetric_multiplier 2015-02-23 18:10:35 -08:00
domonoky
b55995aae8 Introduce a layer of macro indirection to all stepper pins. This allows other stepper drivers to redefine them, so they can use SPI/I2C instead of direct pin manipulation. 2015-02-23 16:12:35 +01:00
Scott Lahteine
08c236059e Merge pull request from thinkyhead/issue_1499
Bed leveling probe behavior issue?
2015-02-19 01:24:17 -08:00
MagoKimbra
159196d1e9 Reset Alert message when finish M600 command 2015-02-18 21:33:38 +01:00
Scott Lahteine
978d114c73 Bed leveling probe behavior issue?
The `float` keyword should not be on these vars because they conceal
the outer vars, preventing them from obtaining known values before
being passed in `set_bed_level_equation_3pts`. Possibly related to
`Z_RAISE_BETWEEN_PROBING` not functioning.
2015-02-15 20:51:27 -08:00
MarcelMo
d28f5b9e82 Support for simple customisable AutoZProbing area
When probing PCB´s I had the problem that i needed auto-leveling for specific areas (it´s never the same size).
Not much code, but very useful.
Now I use simply G29 L5 R55 F5 B35 P3 to probe a 4x6cm PCB before milling.
I used int for values... might be wrong...
I hope this time I got the right development tree. (tried first with https://github.com/MarlinFirmware/Marlin/pull/1130/commits)
2015-02-15 15:58:29 +01:00
Scott Lahteine
7866fa161f Merge pull request from Natealus/Development
Compiling errors with 4 Extruders defined and Viki 2 Implementation
2015-02-12 16:56:55 -08:00
Jérémie FRANCOIS
9d75a56b56 Merge remote-tracking branch 'upstream/Development' into Development
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
2015-02-11 06:38:36 +01:00
Natealus
38a500d05c Viki 2 Implementation
I've insert the define and pointer entries for the Viki 2 and miniViki
from Panucatt in all of the example configs and main config. With these
additions and with pins done in the old single pin.h style...I was able
to get the display working fine save for needing to turn Delta Segments
per Second down. But that's a common graphics lcd issue being looked
into right now.

I need assistance in understanding how the new divided pins files fit
together because my previous attempts at trying to get it to work
appropriately didn't seem successful. This originally came from trying
to find out how to swap the XYZ Min and Max Endstop pins in the Azteeg
X3 Pro. It only comes with one set of connectors and they're Min
Endstops. My previous experience didn't turn out well trying to tell the
firmware to home to the Min Endstops so the best solution I found was to
swap the pins in the firmware. If I'm missing a conflict with a setup
other than delta please let me know, but it makes sense in my setup.
2015-02-08 03:14:59 -07:00
Jérémie FRANCOIS
85e5aa4011 Generalized enqueue_commands_P, and moved them to Marlin_main as they should 2015-02-07 23:24:20 +01:00
Scott Lahteine
0cb1029311 remove extra plan_buffer_line 2015-02-03 11:26:36 -08:00
Scott Lahteine
b97a950f53 Apply fix for M600 filament change
- Patch from  for delta movement plan
- Fix: Set X with code X instead of adding to X
2015-02-03 09:57:16 -08:00
Scott Lahteine
9dc5de6166 Hide code that makes veteran geeks go "aha!" 2015-02-02 05:55:55 -08:00
Scott Lahteine
bd387068bb Apply loops for extruders elsewhere also 2015-02-02 05:27:27 -08:00
Scott Lahteine
4a146d584b Loop, since the pending feature can use an array 2015-02-02 05:16:17 -08:00
Scott Lahteine
bca884bf72 Realized it's not a bug, but cleanup code anyway 2015-02-02 04:41:31 -08:00
Philip Schell
fb7c636ecf Avoid compiling error
Only a missing ","... now it will compile again
2015-02-01 01:33:04 +01:00
Scott Lahteine
073c59c50a Clean up some formatting
- Also partial cleanup of Marlin_main.cpp with a smidgen of Doxygen.
2015-01-29 18:52:21 -08:00
Scott Lahteine
093fedfde8 Make EEPROM storage consistent
Update ConfigurationStore to always write dummy values for disabled
options, including FWRETRACT, DELTA, and SCARA. Update the EEPROM
version to “V15.” Also fixes a buffer overrun with axis_scaling in
Config_ResetDefault.
2015-01-28 01:08:48 -08:00
Jérémie FRANCOIS
dd301be52d Added suport for multiline G-code commands in the LCD menus 2015-01-26 18:50:29 +01:00
AnHardt
59315330dd Remove definition of VERSION_STRING and replace where usend with STRING_VERSION 2015-01-26 15:52:01 +01:00
MagoKimbra
986e723eeb Add 4th extruder 2015-01-24 13:37:58 +01:00
daid
53f971095d Revert "Reduce PROGMEM warnings" 2015-01-16 16:48:22 +01:00
Bo Herrmannsen
5151db5c2f Merge pull request from msutas/patch-2
Improvement - G29 Option for Not Retracting Servo
2015-01-15 10:56:31 +01:00
Bo Herrmannsen
ab074dac17 Merge pull request from grob6000/independent_pid
Independent PID parameters for each extruder
2015-01-13 12:10:37 +01:00
Bo Herrmannsen
d4a665694a Merge pull request from odewdney/Development
Reduce PROGMEM warnings
2015-01-13 11:26:50 +01:00
msutas
3a5a6f42fb Corrected the ABL grid option
G29 E was not retracting the probe on the last probe point when used with ABL grid. Corrected.
2015-01-12 11:07:46 +02:00
odewdney
538859669d Removing compiler warnings for progmem 2015-01-11 18:14:21 +00:00
grob6000
bf2c923db5 Make multiple PID parameters a config option
* Adds config parameter `PID_PARAMS_PER_EXTRUDER` - allows single PID
parameters to be used where this would be preferable (e.g. dual
identical extruders)
* When disabled, will use `float Kp, Ki, Kd, Kc;` as before.
Preprocessor macros used to switch between.
* ultralcd.cpp defines extra menus for extra parameters only where
required
* M301 reports `e:xx` only if independent pid parameters enabled
* EEPROM structure still leaves space for 3 extruders worth, when undef
will save single parameter to all extruder positions, but only read the
first
* Switching off saves approx 330 B with no LCD enabled, 2634B with LCD
(RRD) enabled: this is significant.
* LCD modifications should be tested.
2015-01-11 13:50:17 +11:00
msutas
e0beb98fd3 Improvement - G29 Option for Not Retracting Servo
This change introduces an improvement to G29 command on Marlin.

Auto bed leveling operation's reliability is based on the repeatability of the Z-probe switch and the servo. This change introduces an option to G29 command. When the G29 command is sent with an "e" option, during auto bed levelling the servo is not retracted between probes which decreases the bias on auto bed levelling resulting from servo.

G29 command does the auto bed probing as it is.

G29 E command engages the servo on first probing point, probes all points and retracts the servo after probing the last point.

Please comment your opinions, test on your printer and check the code on a programmer's perspective. (I am not a good programmer.)
2015-01-10 17:25:39 +02:00
grob6000
37c7e8300f Independent PID parameters for each extruder
* Variables Kp, Ki, Kd, Kc now arrays of size EXTRUDERS
* M301 gains (optional, default=0) E parameter to define which
extruder's settings to modify. Tested, works with Repetier Host's EEPROM
config window, albeit only reads/updates settings for E0.
* All Kp, Ki, Kd, Kc parameters saved in EEPROM (version now v14), up to
3 extruders supported (same as Marlin in general)
2015-01-10 16:35:12 +11:00
Erik van der Zalm
1aade4a8e2 Merge branch 'Development' of https://github.com/MarlinFirmware/Marlin into Development 2015-01-09 21:33:29 +01:00
Erik van der Zalm
8a2e84e3f1 Possible fix for FWRETRACT with 0 zlift. 2015-01-09 21:33:02 +01:00
Erik van der Zalm
3a30d45c2e Revert "issue 968 for dev branch" 2015-01-07 23:40:17 +01:00
Dan Royer
9472bbe51d issue 968 for dev branch
try, try again.

If 'OK' is garbled on sending PC won't receive it.  Both machines will
wait on each other forever.  This resends OK if nothing is heard from PC
for a while to avoid this bad case.
2015-01-04 12:17:46 -08:00
Bo Herrmannsen
a18b625534 Merge pull request from wgm4321/Development
Add Filament menu and add Filament/Retract settings to config store.
2015-01-02 15:35:29 +01:00
bkubicek
d02daec08f fixed compilation 2014-12-30 08:04:06 +01:00
Bernhard Kubicek
f24c5d82e3 Update Marlin_main.cpp
fixed minor typo
2014-12-29 17:17:30 +01:00
Wurstnase
8a6f098cc6 Expand manage_inactivity
void manage_inactivity(bool ignore_stepper_queue=false)

standard is false so it is not necessary to change additional code. this
change should be better, hopefully nophead like this :)
2014-12-29 17:07:22 +01:00
Wurstnase
d1995aec7a Rename ignore_blocks_queued
more speaking name
2014-12-29 16:47:08 +01:00
Wurstnase
4122de9d17 change filament issue
make a more general solution
2014-12-29 16:31:00 +01:00
wgm4321
cb12161191 Add Filament menu and add Filament/Retract settings to config store. 2014-12-28 20:43:14 -05:00
fmalpartida
ec33df0554 Merge branch 'SAV-MkI_merge' into Development
Tested for SAV MKI and SAV 3D LCD on lewihe.
2014-12-28 19:54:06 +01:00
alexborro
3afe66bb0c Fix issues ,
- Fixed issue when BAL area probing is shorter than it should be for
grid probing
- Warning when BAL activated with Delta Kinematics
- Fix XY_TRAVEL_SPEED when homing Z axis
2014-12-28 13:27:39 -02:00
Lukas Obermann
9eb6df17a7 Consider negative Z Offsets when auto bed leveling is active 2014-12-28 12:46:35 +01:00
Denis Chertykov
050ca9ca13 Move initialization of errormagic[] and echomagic[] to Marlin_main.cpp 2014-12-28 09:09:42 +03:00
alexborro
d74aabf259 Revert "Change Auto_Bed_Leveling to Auto_Bed_Compensation" 2014-12-21 10:06:05 -02:00
Bo Herrmannsen
60628864ca Merge pull request from thinkyhead/sd_freemem
Use SdFatUtil::FreeRam() for freeMemory() if there
2014-12-20 18:31:21 +01:00
Bo Herrmannsen
889d7ba218 Merge pull request from martin-pr/probing_z_speed
Split do_blocking_move() to XY and Z sections
2014-12-20 18:30:35 +01:00
Bo Herrmannsen
5e7bd2dc87 Merge pull request from chertykov/Marlin_v1
Fix syntax errors in #ifdef
2014-12-20 18:29:39 +01:00
Denis Chertykov
b086394178 Fix syntax errors in #ifdef. 2014-12-20 19:33:43 +03:00
John Davis
4315c2547a Update Marlin_main.cpp
Changed level and leveling to compensation (except with "verbose_level" and "lcd_reset_alert_level").
2014-12-19 17:41:29 -05:00
Bo Herrmannsen
03e489aaad Merge pull request from foosel/fix/issue_1147
Fixes commands not being acknowledged in the same order they are received in
2014-12-19 14:39:05 +01:00
Gina Häußge
acc0e75279 Fixes commands not being acknowledged in the same order they are received
in

G0 to G3 were previously acknowledged in the get_command method, causing
them to be possibly acknowledged before commands coming after them that
were acknowledged in process_commands.

This patch fixes this, moving the acknowledgement of G0 to G3 to the
process_commands method as well. These commands are therefore no
longer acknowledged when the enter the cmd_buffer but instead only
acknowledged when the enter the plan_buffer.

Guaranteeing that commands are acknowledged in the same order in which
they were received by the firmware allows host software to be able to
track the life cycle of commands and such a better management of the
firmware's serial buffers as well as better internal command processing
and response parsing without having to depend on throwing an epic
amount of regular expressions against each line received back from the
firmware.

Fixes 
2014-12-19 14:20:36 +01:00
Scott Lahteine
07c6b5ab71 Using axis constants 2014-12-18 08:13:08 -08:00
Scott Lahteine
0450e83fa5 Use SdFatUtil::FreeRam() for freeMemory() if there 2014-12-17 23:26:52 -08:00
Scott Lahteine
60598b4cdd A few constants where they belong 2014-12-17 23:01:24 -08:00
Martin Prazak
2ef0669b19 Split do_blocking_move() to XY and Z sections to make sure that the Z homing feedrate is not exceeded 2014-12-07 15:31:46 +00:00
Neil Darlow
64139f5e5a Merge https://github.com/ErikZalm/Marlin into Marlin_v1 2014-12-04 21:09:03 +00:00
Scott Lahteine
7562183efc Skip over spaces first 2014-11-28 08:09:28 -08:00
Scott Lahteine
12b51d6060 Ignore S and P if no value >0 is included. 2014-11-26 21:05:11 -08:00
Scott Lahteine
d12b24758a Clear LCD to welcome_msg if not printing
The welcome message is more appropriate than “resuming print” if
nothing is printing.
2014-11-26 21:05:11 -08:00
Scott Lahteine
92e21d3ee2 M0-M1 Enhancements
Allow M0 and M1 to include a message string. Ignore clicks on “Wait for
user” so that the Info Screen stays up.
2014-11-26 21:05:10 -08:00
Neil Darlow
b81021f475 Merge https://github.com/ErikZalm/Marlin into Marlin_v1 2014-10-21 12:06:56 +01:00
Erik van der Zalm
058e446531 Merge pull request from filipmu/Filament-Sensor
Support for a filament diameter sensor
2014-10-11 22:56:01 +02:00
Erik van der Zalm
b360306881 Merge pull request from WingTangWong/wing-fix-float-delta
Wing fix float delta
2014-10-06 13:41:01 +02:00
Scott Lahteine
f989bd5435 Simple code cleanup. Rename "homeing" to homing. 2014-10-05 13:20:53 -07:00
Neil Darlow
6c5a460e65 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-10-05 12:54:54 +01:00
galexander1
cb4a6dd2dc Merge pull request from oliasmage/Marlin_v1
Corrected retract() call for use of auto probe without sled enabled.
2014-09-19 15:12:09 -04:00
Bracken Dawson
01e9b536cb Fix build for non-sled bed auto levelling
This function should only be used with sled, not all bed auto
levelling.
2014-09-19 19:42:32 +01:00
Wing Tang Wong
58eabd21fb Added ifndef 2014-09-16 14:31:58 -07:00
Wing Tang Wong
88d12a762a Added #ifndef DELTA wrapper to float delta 2014-09-16 14:29:44 -07:00
Charles Bell
3b8216bdd1 Corrected #endif and ifdef for Z_PROBE_SLED code. 2014-09-04 16:40:22 -04:00
Charles Bell
37799f70ba Corrected retract() call for use of auto probe without sled enabled. 2014-09-04 14:36:39 -04:00
Neil Darlow
1632e5e38a Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-09-04 12:21:35 +01:00
Erik van der Zalm
018b68a5c4 Merge pull request from cocktailyogi/SCARA_by_Yogi
Implemented SCARA-Maths
2014-08-28 16:32:52 +02:00
Erik van der Zalm
9887555192 Merge pull request from darconeous/pull-requests/fwretract
FWRETRACT fixes
2014-08-28 16:24:51 +02:00
Erik van der Zalm
68dd5e635e Merge pull request from oliasmage/Marlin_v1
Adding Z Probe via sled mounted endstop
2014-08-28 16:15:54 +02:00
Erik van der Zalm
25069ed4e9 Merge pull request from Roxy-3DPrintBoard/Z_PROBE_REPEATABILITY-with-correct-Defaults
Z probe repeatability with correct defaults
2014-08-28 16:14:10 +02:00
Filip Mulier
62db9848d3 Improvements and bug fixes in sensor delay buffer for filament sensor code
Improvement to avoid reinitializing delay buffer with every print. Fixed
issues in buffer indexing and memory out of bounds due to floating point
imprecision.  Simplified the code by avoiding conversion to standard
diameter and 1cu mm extrusion, which caused complications in determining
mm extruded.
2014-08-16 06:50:13 -05:00
Florian Baumann
5908fd5cec Fix reseting CHDK pin to LOW
chdkActive was set to false regardless of (millis() - chdkHigh) being bigger than the CHDK_DELAY or not. So if (millis() - chdkHigh) wasn't bigger than the delay the first time, the CHDK would never be set back to LOW.

Also, don't return from the function, as there might be other stuff to do, after the CHDK check.
2014-08-11 14:12:32 +02:00
Roxy-3DPrintBoard
0091865583 Z_PROBE_REPEATABILITY test
Z_PROBE_REPEATABILITY test for Auto Bed Leveling.
Implemented as M48 with extra user specified options.
Full support at
http://3dprintboard.com/showthread.php?2802-Auto_Bed_Leveling-Z-Probe-Repeatability-code
2014-08-09 15:37:23 -05:00
Filip Mulier
85649a4549 Real-time filament diameter measurement and control
This feature allows the printer to read the filament diameter
automatically and adjust the printer in real time.  Added code to read
an analog voltage that represents a filament diameter measurement.  This
measurement is delayed in a ring buffer to compensate for sensors that
are a distance away from the extruder.  The measurement is used to
adjust the volumetric_multiplier for the extruder.  Some additional g
codes (M404, M405, M406, M407) are used to set parameters and turn
on/off the control. g code M221 is updated.  Pins for RAMPS1.4, RAMBO,
and Printrboard are identified for analog input.  The configuration file
is updated with relevant user parameters.
2014-08-06 19:30:57 -05:00
Charles Bell
d2fcb3ee56 CAB: Added code for Z-probe with Z endstop mounted on a sled. 2014-08-01 11:29:59 -04:00
Neil Darlow
3cd7dbcc45 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-07-30 13:01:52 +01:00
daid
c13a831ea1 Merge pull request from foosel/fix/checksum_truncation_bug
Fix for a wrong checksum truncation for certain commands
2014-07-24 19:41:34 +02:00
Gina Häußge
2d22902d08 Fix for a wrong checksum truncation for certain commands
Positioning of string terminator to truncate checksum from the commands
M23, M28, M30, M32, M928 and M117 was off by one, causing the last
letter of the actual command to be truncated instead of just the
checksum.

In case of the SD commands this caused checksummed commands targeting
existing files to fail since the last letter of the filename was
truncated.

In case of M117 this caused the last given letter not to be displayed.

This patch fixes the off-by-one error and sets the null terminator
on the exact position of the * starting the checksum instead of the
character before that.
2014-07-24 12:04:02 +02:00
cocktailyogi
2f4a20257c imported last Marlin changes 2014-07-20 13:49:26 +02:00
daid
aacff0d361 Merge pull request from Dim3nsioneer/Marlin_v1
Implementation of FW extruder change retract
2014-07-18 16:10:15 +02:00
Robert Quattlebaum
1fd9a7d476 Fix for FWRETRACT on DELTA printers.
Fixes 
2014-07-09 09:24:26 -07:00
Neil Darlow
3f2c771d90 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-07-07 18:17:15 +01:00
Pablo Clemente
2242a84218 Changed the declaration of the variable to Marlin_main.cpp to fix issue on commit 2014-07-01 16:45:03 +02:00
Neil Darlow
6e3406d228 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-07-01 10:27:39 +01:00
Pablo Clemente
d86c3cf43c Changed the type of variable to bool, the name to "cancel_heatup", flags implementation and added this fix to M190 gcode too. 2014-06-30 15:12:13 +02:00
cocktailyogi
f0cab611db optimised some math-code 2014-06-24 18:43:36 +02:00
cocktailyogi
fae7d08698 fixed wrong compiler-option 2014-06-23 18:16:42 +02:00
cocktailyogi
512f2a3136 restore Branch from Backup
sorry for that
2014-06-23 17:09:57 +02:00
Pablo Clemente
cd3220d055 Inverted state logic for forced_heating_stop variable 2014-06-13 08:39:58 +02:00
Pablo Clemente
86b4b805d2 Fixed stop print LCD function on M104 2014-06-12 18:43:16 +02:00
Dim3nsioneer
3c927901a4 Implementation of FW extruder change retract
FW retraction is extended onto swap retraction invoked by 'G10 S1'.
Bookkeeping of the retract state of all extruders allows for having one
extruder fw standard retracted while another extruder is swap retracted.
An LCD menu item for the swap retract and recover length was added.
2014-06-02 17:02:10 +02:00
neildarlow
efb6d61413 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-05-24 13:08:58 +01:00
nothinman
38192cb5f3 Add M112 description to Marlin_main 2014-05-20 15:20:19 +01:00
nothinman
aed5ec008a Merge pull request from DanNixon/estop
Implemented M112
2014-05-19 17:55:34 +01:00
Erik van der Zalm
cfb98ef682 More coverity fixes 2014-05-15 22:09:50 +02:00
Erik van der Zalm
9db9842aea Fixed error found by the free coverity tool (https://scan.coverity.com/)
===================================================
Hi,

Please find the latest report on new defect(s) introduced to ErikZalm/Marlin found with Coverity Scan.

Defect(s) Reported-by: Coverity Scan
Showing 15 of 15 defect(s)

** CID 59629:  Unchecked return value  (CHECKED_RETURN)
/Marlin_main.cpp: 2154 in process_commands()()

** CID 59630:  Operands don't affect result  (CONSTANT_EXPRESSION_RESULT)
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Tone.cpp: 319 in tone(unsigned char, unsigned int, unsigned long)()

** CID 59631:  Missing break in switch  (MISSING_BREAK)
/Marlin_main.cpp: 1187 in process_commands()()

** CID 59632:  Missing break in switch  (MISSING_BREAK)
/Marlin_main.cpp: 1193 in process_commands()()

** CID 59633:  Out-of-bounds write  (OVERRUN)
/temperature.cpp: 914 in disable_heater()()

** CID 59634:  Out-of-bounds write  (OVERRUN)
/temperature.cpp: 913 in disable_heater()()

** CID 59635:  Out-of-bounds read  (OVERRUN)
/temperature.cpp: 626 in analog2temp(int, unsigned char)()

** CID 59636:  Out-of-bounds read  (OVERRUN)
/temperature.cpp: 620 in analog2temp(int, unsigned char)()

** CID 59637:  Out-of-bounds write  (OVERRUN)
/temperature.cpp: 202 in PID_autotune(float, int, int)()

** CID 59638:  Out-of-bounds read  (OVERRUN)
/temperature.cpp: 214 in PID_autotune(float, int, int)()

** CID 59639:  Out-of-bounds write  (OVERRUN)
/Marlin_main.cpp: 2278 in process_commands()()

** CID 59640:  Out-of-bounds read  (OVERRUN)
/Marlin_main.cpp: 1802 in process_commands()()

** CID 59641:  Uninitialized scalar field  (UNINIT_CTOR)
/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.cpp: 51 in LiquidCrystal::LiquidCrystal(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)()

** CID 59642:  Uninitialized scalar field  (UNINIT_CTOR)
/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.cpp: 45 in LiquidCrystal::LiquidCrystal(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)()

** CID 59643:  Uninitialized scalar field  (UNINIT_CTOR)
/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.cpp: 32 in LiquidCrystal::LiquidCrystal(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)()

________________________________________________________________________________________________________
*** CID 59629:  Unchecked return value  (CHECKED_RETURN)
/Marlin_main.cpp: 2154 in process_commands()()
2148                 }
2149               #endif
2150             }
2151           }
2152           break;
2153         case 85: // M85
   CID 59629:  Unchecked return value  (CHECKED_RETURN)
   Calling "code_seen" without checking return value (as is done elsewhere 66 out of 67 times).
2154           code_seen('S');
2155           max_inactive_time = code_value() * 1000;
2156           break;
2157         case 92: // M92
2158           for(int8_t i=0; i < NUM_AXIS; i++)
2159           {

________________________________________________________________________________________________________
*** CID 59630:  Operands don't affect result  (CONSTANT_EXPRESSION_RESULT)
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Tone.cpp: 319 in tone(unsigned char, unsigned int, unsigned long)()
313         else
314         {
315           // two choices for the 16 bit timers: ck/1 or ck/64
316           ocr = F_CPU / frequency / 2 - 1;
317
318           prescalarbits = 0b001;
   CID 59630:  Operands don't affect result  (CONSTANT_EXPRESSION_RESULT)
   "ocr > 65535U" is always false regardless of the values of its operands. This occurs as the logical operand of if.
319           if (ocr > 0xffff)
320           {
321             ocr = F_CPU / frequency / 2 / 64 - 1;
322             prescalarbits = 0b011;
323           }
324

________________________________________________________________________________________________________
*** CID 59631:  Missing break in switch  (MISSING_BREAK)
/Marlin_main.cpp: 1187 in process_commands()()
1181         case 2: // G2  - CW ARC
1182           if(Stopped == false) {
1183             get_arc_coordinates();
1184             prepare_arc_move(true);
1185             return;
1186           }
   CID 59631:  Missing break in switch  (MISSING_BREAK)
   The above case falls through to this one.
1187         case 3: // G3  - CCW ARC
1188           if(Stopped == false) {
1189             get_arc_coordinates();
1190             prepare_arc_move(false);
1191             return;
1192           }

________________________________________________________________________________________________________
*** CID 59632:  Missing break in switch  (MISSING_BREAK)
/Marlin_main.cpp: 1193 in process_commands()()
1187         case 3: // G3  - CCW ARC
1188           if(Stopped == false) {
1189             get_arc_coordinates();
1190             prepare_arc_move(false);
1191             return;
1192           }
   CID 59632:  Missing break in switch  (MISSING_BREAK)
   The above case falls through to this one.
1193         case 4: // G4 dwell
1194           LCD_MESSAGEPGM(MSG_DWELL);
1195           codenum = 0;
1196           if(code_seen('P')) codenum = code_value(); // milliseconds to wait
1197           if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
1198

________________________________________________________________________________________________________
*** CID 59633:  Out-of-bounds write  (OVERRUN)
/temperature.cpp: 914 in disable_heater()()
908          WRITE(HEATER_0_PIN,LOW);
909        #endif
910       #endif
911
912       #if defined(TEMP_1_PIN) && TEMP_1_PIN > -1
913         target_temperature[1]=0;
   CID 59633:  Out-of-bounds write  (OVERRUN)
   Overrunning array "soft_pwm" of 1 bytes at byte offset 1 using index "1".
914         soft_pwm[1]=0;
915         #if defined(HEATER_1_PIN) && HEATER_1_PIN > -1
916           WRITE(HEATER_1_PIN,LOW);
917         #endif
918       #endif
919

________________________________________________________________________________________________________
*** CID 59634:  Out-of-bounds write  (OVERRUN)
/temperature.cpp: 913 in disable_heater()()
907        #if defined(HEATER_0_PIN) && HEATER_0_PIN > -1
908          WRITE(HEATER_0_PIN,LOW);
909        #endif
910       #endif
911
912       #if defined(TEMP_1_PIN) && TEMP_1_PIN > -1
   CID 59634:  Out-of-bounds write  (OVERRUN)
   Overrunning array "target_temperature" of 1 2-byte elements at element index 1 (byte offset 2) using index "1".
913         target_temperature[1]=0;
914         soft_pwm[1]=0;
915         #if defined(HEATER_1_PIN) && HEATER_1_PIN > -1
916           WRITE(HEATER_1_PIN,LOW);
917         #endif
918       #endif

________________________________________________________________________________________________________
*** CID 59635:  Out-of-bounds read  (OVERRUN)
/temperature.cpp: 626 in analog2temp(int, unsigned char)()
620       if(heater_ttbl_map[e] != NULL)
621       {
622         float celsius = 0;
623         uint8_t i;
624         short (*tt)[][2] = (short (*)[][2])(heater_ttbl_map[e]);
625
   CID 59635:  Out-of-bounds read  (OVERRUN)
   Overrunning array "heater_ttbllen_map" of 1 bytes at byte offset 1 using index "e" (which evaluates to 1).
626         for (i=1; i<heater_ttbllen_map[e]; i++)
627         {
628           if (PGM_RD_W((*tt)[i][0]) > raw)
629           {
630             celsius = PGM_RD_W((*tt)[i-1][1]) +
631               (raw - PGM_RD_W((*tt)[i-1][0])) *

________________________________________________________________________________________________________
*** CID 59636:  Out-of-bounds read  (OVERRUN)
/temperature.cpp: 620 in analog2temp(int, unsigned char)()
614         if (e == 0)
615         {
616           return 0.25 * raw;
617         }
618       #endif
619
   CID 59636:  Out-of-bounds read  (OVERRUN)
   Overrunning array "heater_ttbl_map" of 1 2-byte elements at element index 1 (byte offset 2) using index "e" (which evaluates to 1).
620       if(heater_ttbl_map[e] != NULL)
621       {
622         float celsius = 0;
623         uint8_t i;
624         short (*tt)[][2] = (short (*)[][2])(heater_ttbl_map[e]);
625

________________________________________________________________________________________________________
*** CID 59637:  Out-of-bounds write  (OVERRUN)
/temperature.cpp: 202 in PID_autotune(float, int, int)()
196       {
197          soft_pwm_bed = (MAX_BED_POWER)/2;
198          bias = d = (MAX_BED_POWER)/2;
199        }
200        else
201        {
   CID 59637:  Out-of-bounds write  (OVERRUN)
   Overrunning array "soft_pwm" of 1 bytes at byte offset 1 using index "extruder" (which evaluates to 1).
202          soft_pwm[extruder] = (PID_MAX)/2;
203          bias = d = (PID_MAX)/2;
204       }
205
206
207

________________________________________________________________________________________________________
*** CID 59638:  Out-of-bounds read  (OVERRUN)
/temperature.cpp: 214 in PID_autotune(float, int, int)()
208
209      for(;;) {
210
211         if(temp_meas_ready == true) { // temp sample ready
212           updateTemperaturesFromRawValues();
213
   CID 59638:  Out-of-bounds read  (OVERRUN)
   Overrunning array "current_temperature" of 1 4-byte elements at element index 1 (byte offset 4) using index "extruder" (which evaluates to 1).
214           input = (extruder<0)?current_temperature_bed:current_temperature[extruder];
215
216           max=max(max,input);
217           min=min(min,input);
218           if(heating == true && input > temp) {
219             if(millis() - t2 > 5000) {

________________________________________________________________________________________________________
*** CID 59639:  Out-of-bounds write  (OVERRUN)
/Marlin_main.cpp: 2278 in process_commands()()
2272               tmp_extruder = code_value();
2273               if(tmp_extruder >= EXTRUDERS) {
2274                 SERIAL_ECHO_START;
2275                 SERIAL_ECHO(MSG_M200_INVALID_EXTRUDER);
2276               }
2277             }
   CID 59639:  Out-of-bounds write  (OVERRUN)
   Overrunning array "volumetric_multiplier" of 1 4-byte elements at element index 1 (byte offset 4) using index "tmp_extruder" (which evaluates to 1).
2278             volumetric_multiplier[tmp_extruder] = 1 / area;
2279           }
2280           break;
2281         case 201: // M201
2282           for(int8_t i=0; i < NUM_AXIS; i++)
2283           {

________________________________________________________________________________________________________
*** CID 59640:  Out-of-bounds read  (OVERRUN)
/Marlin_main.cpp: 1802 in process_commands()()
1796             int pin_status = code_value();
1797             int pin_number = LED_PIN;
1798             if (code_seen('P') && pin_status >= 0 && pin_status <= 255)
1799               pin_number = code_value();
1800             for(int8_t i = 0; i < (int8_t)sizeof(sensitive_pins); i++)
1801             {
   CID 59640:  Out-of-bounds read  (OVERRUN)
   Overrunning array "sensitive_pins" of 28 2-byte elements at element index 55 (byte offset 110) using index "i" (which evaluates to 55).
1802               if (sensitive_pins[i] == pin_number)
1803               {
1804                 pin_number = -1;
1805                 break;
1806               }
1807             }

________________________________________________________________________________________________________
*** CID 59641:  Uninitialized scalar field  (UNINIT_CTOR)
/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.cpp: 51 in LiquidCrystal::LiquidCrystal(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)()
45     }
46
47     LiquidCrystal::LiquidCrystal(uint8_t rs,  uint8_t enable,
48     			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
49     {
50       init(1, rs, 255, enable, d0, d1, d2, d3, 0, 0, 0, 0);
   CID 59641:  Uninitialized scalar field  (UNINIT_CTOR)
   Non-static class member "_initialized" is not initialized in this constructor nor in any functions that it calls.
51     }
52
53     void LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
54     			 uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
55     			 uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
56     {

________________________________________________________________________________________________________
*** CID 59642:  Uninitialized scalar field  (UNINIT_CTOR)
/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.cpp: 45 in LiquidCrystal::LiquidCrystal(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)()
39     }
40
41     LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
42     			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
43     {
44       init(1, rs, rw, enable, d0, d1, d2, d3, 0, 0, 0, 0);
   CID 59642:  Uninitialized scalar field  (UNINIT_CTOR)
   Non-static class member "_initialized" is not initialized in this constructor nor in any functions that it calls.
45     }
46
47     LiquidCrystal::LiquidCrystal(uint8_t rs,  uint8_t enable,
48     			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
49     {
50       init(1, rs, 255, enable, d0, d1, d2, d3, 0, 0, 0, 0);

________________________________________________________________________________________________________
*** CID 59643:  Uninitialized scalar field  (UNINIT_CTOR)
/Applications/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/LiquidCrystal.cpp: 32 in LiquidCrystal::LiquidCrystal(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)()
26
27     LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
28     			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
29     			     uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
30     {
31       init(0, rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7);
   CID 59643:  Uninitialized scalar field  (UNINIT_CTOR)
   Non-static class member "_initialized" is not initialized in this constructor nor in any functions that it calls.
32     }
33
34     LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t enable,
35     			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
36     			     uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
37     {

________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, http://scan.coverity.com/projects/2224?tab=overview
2014-05-14 21:59:48 +02:00
Neil Darlow
e541323741 Merge https://github.com/ErikZalm/Marlin into Marlin_v1 2014-05-09 15:02:50 +01:00
MyMakibox
21ec6b88c3 Update Marlin_main.cpp
Added description of autotemp flags to M109
2014-04-23 17:33:26 +08:00
Neil Darlow
6adbdf42e0 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-04-21 15:10:57 +01:00
whosawhatsis
27d544ac25 Speed up QUICK_HOME feedrate for diagonal move
Speed up the diagonal move while still keeping each individual axis at
or below its homing feedrate.
2014-04-19 17:29:20 -07:00
neildarlow
95ad6ec9a1 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-04-12 22:20:45 +01:00
Gabe Rosenhouse
27a7cf9fcf use existing strings 2014-04-07 05:01:48 -05:00