Commit Graph

393 Commits

Author SHA1 Message Date
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
Scott Lahteine
09d60e0128 Naming and code comments 2015-04-13 17:17:36 -07:00
Scott Lahteine
ccddc280be Apply three more commits 2015-04-12 22:47:44 -07:00
Scott Lahteine
1269c445ab Catch dangerous extrude before trying several 2015-04-09 01:40:48 -07:00
Scott Lahteine
27cb90da8b IsStopped / IsRunning inline 2015-04-08 00:56:19 -07:00
Scott Lahteine
61f8394361 Compare indices instead of floats for probe actions 2015-04-04 05:01:16 -07:00
Scott Lahteine
6f06d33be5 Fix missing refresh_cmd_timeout function 2015-04-04 03:47:25 -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
e0d4368cb5 Minor code cleanup, move NUM_AXIS out of config 2015-04-03 20:45:24 -07:00
Scott Lahteine
b98ebd517e disable / enable_all_steppers functions 2015-04-03 19:25:22 -07:00
Scott Lahteine
0e8182bbf2 Additional pin tests, cleanup 2015-04-03 15:31:35 -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
AnHardt
50a732360a Replace extrudemultiply by extruder_multiply[active_extruder]
Fix for #1460.

Seems to work with only one extruder. Can't test this myself with more.
2015-03-30 13:35:03 +02: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
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
8db4fd7177 Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-23 22:08:50 -07:00
Scott Lahteine
34a41648ab Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-22 23:40:29 -07:00
Scott Lahteine
4fbb80567e Get upstream commits 2015-03-22 23:07:22 -07:00
Scott Lahteine
691e753cc3 Don't add home offsets in G29
- Address #1262 by leaving values as set
- Rename `add_homing` to `home_offset`
2015-03-21 16:30:02 -07:00
Scott Lahteine
13fbf42d95 Cleanup of planner code
- Use named axis indexes, `X_AXIS` etc.
- Replace `block.steps_A` with block.steps[A]`
- Replace `A_segment_time` with `segment_time[A]`
- Add `A_AXIS`, `B_AXIS` for `COREXY` axes
- Conditional compile based on `EXTRUDERS`
- Add BLOCK_MOD macro for planner block indexes
- Apply coding standards to `planner.h` and `planner.cpp`
- Small optimizations of planner code
- Update `stepper.cpp` for new `block` struct
- Replace `memcpy` with loops, let the compiler unroll them
- Make `movesplanned` into an inline function
2015-03-20 20:42:49 -07:00
Scott Lahteine
b6d381f863 Divide up Conditionals to get LCD items early 2015-03-20 02:50:28 -07:00
maverikou
8a739b6fba Merge branch 'Development' into delta_auto_bed_level
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-16 08:24:26 +02:00
AnHardt
f0dcea7e14 Fix #1611
Warning: suggest parentheses around comparison in operand of &

pretty much helped.
2015-03-15 22:52:50 +01:00
Scott Lahteine
bb4cb1b15a Merge pull request #1606 from thinkyhead/cleanup_stepper
Cleanup of stepper.cpp
2015-03-15 06:05:08 -07:00
alexborro
d3259d0dba Merge pull request #1581 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
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
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 #679), 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
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
domonoky
4a7aca2736 Merge remote-tracking branch 'remotes/upstream/Development' into Development 2015-03-02 17:52:12 +01:00
alexborro
715104e477 Fix Endstop check for CoreXY bots.
The X_Axis could not home to min while Y_Max endstop was trigged.
2015-03-02 13:36:58 -03: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
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
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
9bc9051405 Flag EEPROM write errors on serial output
- Also adds a language string for the error.
- Also adds SERIAL_EOL as an alias for SERIAL_ECHOLN(“”)
2015-01-28 21:19:51 -08:00
Scott Lahteine
ae4b348d77 Make sure _Ex_PINS is defined
Also fix analogInputToDigitalPin so it uses proper C hex notation
2015-01-27 15:36:47 -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
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
d4a665694a Merge pull request #1350 from odewdney/Development
Reduce PROGMEM warnings
2015-01-13 11:26:50 +01:00
odewdney
cd55a93a13 re-add blank line 2015-01-11 19:22:35 +00:00
odewdney
538859669d Removing compiler warnings for progmem 2015-01-11 18:14:21 +00:00
Alex Borro
422a958a34 Fix CoreXY speed calculation
For cartesian bots, the X_AXIS is the real X movement and same for
Y_AXIS.
But for corexy bots, that is not true. The "X_AXIS" and "Y_AXIS" motors
(that should be named to A_AXIS
and B_AXIS) cannot be used for X and Y length, because A=X+Y and B=X-Y.
So we need to create other 2 "AXIS", named X_HEAD and Y_HEAD, meaning
the real displacement of the Head.
Having the real displacement of the head, we can calculate the total
movement length and apply the desired speed.
2015-01-06 16:39:48 -02:00
odewdney
652895d656 try different proproc for CI failure 2015-01-04 11:15:23 +00:00
odewdney
39fae9e3a3 Fix progmem warning
Borrow code from https://github.com/arduino/Arduino/issues/1793
2015-01-03 21:30:16 +00:00
Alexander Hirzel
eed451e034 rework analogInputToDigitalPin definition 2015-01-02 11:14:20 -05:00
wgm4321
edac64e7d2 Add Filament menu and add Filament/Retract settings to config store. 2015-01-02 11:12:15 -05:00
Bo Herrmannsen
a18b625534 Merge pull request #1261 from wgm4321/Development
Add Filament menu and add Filament/Retract settings to config store.
2015-01-02 15:35:29 +01:00
Bernhard Kubicek
3d1da45f3e Update Marlin.h 2014-12-30 08:30:37 +01:00
bkubicek
d02daec08f fixed compilation 2014-12-30 08:04:06 +01:00
wgm4321
cb12161191 Add Filament menu and add Filament/Retract settings to config store. 2014-12-28 20:43:14 -05:00
Denis Chertykov
050ca9ca13 Move initialization of errormagic[] and echomagic[] to Marlin_main.cpp 2014-12-28 09:09:42 +03:00
Erik van der Zalm
058e446531 Merge pull request #1037 from filipmu/Filament-Sensor
Support for a filament diameter sensor
2014-10-11 22:56:01 +02:00
Scott Lahteine
f989bd5435 Simple code cleanup. Rename "homeing" to homing. 2014-10-05 13:20:53 -07: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
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
cocktailyogi
2f4a20257c imported last Marlin changes 2014-07-20 13:49:26 +02:00
cocktailyogi
512f2a3136 restore Branch from Backup
sorry for that
2014-06-23 17:09:57 +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
Dim3nsioneer
3906f27c46 Individual extruder flow rate
Extension of M221, Tune menu
2014-03-15 18:09:46 +01:00
Jim Morris
8ea5665ee2 Merge remote-tracking branch 'origin/Marlin_v1' into add/M665-set-delta-configuration
Conflicts:
	Marlin/Marlin_main.cpp
2014-02-26 00:19:28 -08:00
Cylindric
fdce91192e Various typo fixes - only in comments, no code changes. 2014-02-25 10:01:15 +00:00
Jim Morris
af9395ac2e Add M605 to dynamically set delta configuration
Save above configs in eeprom
fix docs in createTemperatureLookupMarlin.py
add missing azteegX3pro digipot settings in delta example config
2014-02-17 20:50:59 -08:00
nothinman
d4ba23bc28 Merge pull request #770 from josefpavlik/Marlin_v1
Marlin v1
2014-02-17 11:27:05 +00:00
Josef Pavlik
477b6fa1df move engaged from lcd console refreshes power off timeout 2014-02-14 12:37:21 +01:00
Jim Morris
b819fc53ca Add Azteeg X3 Pro as motherboard 68
Add digipot i2c control for MCP4451
Allow M907 to set i2c digipot currents in amps
Fix Makefile to allow Azteeg motherboards
Fix Makefile to allow Wire libraries only
Add beeper pin for Azteeg X3 Pro
2014-02-05 01:47:12 -08:00
whosawhatsis
856edfcc0d Fixed math
This is why I wanted to sleep on the code I wrote while falling asleep
rather than immediately submitting a pull request.
2014-01-31 08:43:11 -08:00
whosawhatsis
d24df7af2c M200 implementation 2014-01-31 00:54:19 -08:00
Alex Borro
05932e4458 Add Z Probe Offset to EEPROM and Ultra LCD 2014-01-16 18:13:46 -02:00
Alex Borro
b33375d438 Z Axis Safe Homing when using Z Probe
Recommended for those who are using the Z Probe for Z Homing (as
Z-Endstop)

This feature has two changes:

1) Allow user to choose where the Z Probe will touch the bed when homing
all axis together (G28) by setting below defines:

Z_SAFE_HOMING_X_POINT
Z_SAFE_HOMING_Y_POINT

2) Prevents the user to perform Z Axis Homing when the Z Probe is
outsite bed.
2013-11-27 22:37:35 -02:00
Erik van der Zalm
48a185d004 Fixed compile errors from bad commits. 2013-11-10 16:36:37 +01:00
fmalpartida
7b556d2e96 Added BT support on AT90USB devices
Added AT90USB device BT connectivity support using second UART.
2013-11-03 19:57:06 +01:00
fmalpartida
b5a964fcc5 Initial SAV MkI (RepRap CloneWars board) integration.
Included support for BT dongle on AT90USB boards.
Added LCD Shift Register LCD control
Included support for RepRap Clone Wars project board (SAV MKI).
2013-10-30 11:45:32 +01:00
Erik van der Zalm
457d8a0acb Fixed merge conflicts 2013-10-20 09:50:27 +02:00
Richard Miles
ed1ab42186 Added Y_DUAL_STEPPER_DRIVERS
Enables two stepper drivers to be used for the Y axis (useful for
Shapeoko style machines)
Each Y driver can be stepped in either the same way or in opposite
directions, accounting for different hardware setups (leadscrew vs. belt
driven)
2013-09-17 19:19:20 +01:00
Richard Miles
f4a59e4ce5 Revert "Added Y_DUAL_STEPPER_DRIVERS"
This reverts commit 7ee275b620.
2013-09-17 19:05:49 +01:00
Richard Miles
7ee275b620 Added Y_DUAL_STEPPER_DRIVERS
Enables two stepper drivers to be used for the Y axis (useful for
Shapeoko style machines)
Each Y driver can be stepped either the same way or in opposite
directions, accounting for different hardware setups (leadscrew vs. belt
driven)
2013-09-17 19:02:00 +01:00
Peter Hercek
9aa2229077 add command M666 for adjusting delta printer endstop position 2013-08-28 01:15:20 +02:00
hg42@gmx.net
3700f688f5 convert PROTOCOL macros from statements to (multiple, comma separated) expressions 2013-08-01 14:56:39 +02:00
Nicolas Rossi
55c287a69e Fixed move from panel for delta bot #557 2013-07-28 22:54:37 +02:00
Robert F-C
d7390e13d9 Support dual x-carriage printers
Dual x-carriage designs offer some substantial improvements for dual
extruder printing.
2013-07-17 22:44:45 +10:00
Erik van der Zalm
6f4a6e531c Merge branch 'deltabot' into Marlin_v1 2013-06-09 13:55:18 +02:00
Erik van der Zalm
c8dcc7c208 Allow increasing the software PWM frequency. 2013-06-09 12:52:49 +02:00
Erik van der Zalm
373f3ecab3 Merge branch 'deltabot' of https://github.com/jcrocholl/Marlin into deltabot
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
	Marlin/pins.h
2013-06-09 00:51:58 +02:00
Robert F-C
40eb07bad4 Revert and extend previous change pin check change
Reviert previous change of #if BLAH_PIN > 0 to #if defined(BLAH_PIN) &&
BLAH_PIN > -1. Unfortunately some times pin 0 is used. For my sins I've
gone through and replaced all unsafe checks of #if BLAH_PIN > -1 with
the safe version.
2013-05-22 21:33:23 +10:00
Erik van der Zalm
bd2cd4903e Added #ifdef BARICUDA around the BariCUDA changes 2013-05-14 23:56:32 +02:00
Jordan Miller
fbd899a37d Support for BariCUDA Paste Extruder derived from MakerBot Frostruder. Using Ultimachine RAMBo board. M126/M127 and M128/M129. 2013-05-14 23:34:45 +02:00
Yuri Valentini
7d20ec706e Added libraries from Arduino 1.0.3 for sanguino build 2013-01-07 17:26:50 +01:00
Johann Rocholl
3b2e5027e5 Merged updates from Marlin_v1. 2012-12-16 12:19:24 -08:00
daid303
596a7e1904 Fix compiling for Arduin < 1.0.0 2012-12-13 13:24:55 +01:00
daid303
1a8f54cea1 The big LCD code update. This splits the display and menu implementation. Paving the way for future different displays. It also makes it easier to modify the menu structures while keeping everything consistant. Note that this most likely breaks the translations, which need to be updated. 2012-12-12 11:47:03 +01:00
Johann Rocholl
8e2519e88b Add realtime delta geometry in Marlin_main.cpp. 2012-12-10 01:04:12 -08:00
Johann Rocholl
621c24a10f AT90USB is only defined after pins.h is included. 2012-12-09 01:40:33 -08:00
Johann Rocholl
6cba11f087 Stop redefining MOTHERBOARD and #define AT90USB instead. Also put #ifndef AT90USB around the HardwareSerial_h trick, so now Printrboard / Brainwave support compiles on Arduino 1.0.2 as well. 2012-12-09 01:32:09 -08:00
daid303
6a9bee27cc Changed the naming of some LCD functions, so the names match better what the function does. Also moved around some prototypes for general cleanup. 2012-12-03 12:52:00 +01:00
daid303
94ea26ff46 Some minor changes on code style. And a bugfix where the counters for positioning in the stepper where wrong depending on compiler settings. (Caused strange values to reported back with M114 and endstop triggers). Also fixed compiling with FWRETRACT enabled. 2012-12-03 12:13:20 +01:00
daid303
97fa2a9c30 Few simple fixes that save RAM, as static strings are stored in RAM by default. 2012-11-28 10:30:34 +01:00
daid303
b6ff45254e Better explain the watchdog "problem" and rename the config define so it explains that the feature belongs to the watchdog. 2012-11-06 13:33:00 +01:00
daid303
06b58a9c4f First cleanup. Moved all code to cpp files, so there are no dependencies on pde files. And no more odd requirement to cat files together. (Still need to fix the Makefile). Also cleaned up some defines and made defines upper case as by C coding conventions. 2012-11-06 12:06:41 +01:00
stohn
de0448343f added KILL_PIN support / cleaned up manage_inactivity function definition 2012-08-21 14:48:29 +02:00
ErikZalm
f062794a0d Merge pull request #208 from Enchiridion/Marlin_v1
Added support for dual Z axis stepper drivers
2012-08-11 01:42:49 -07:00
Ian Jackson
7bb326d389 eeprom: provide smaller code for SERIAL_ECHOPAIR
SERIAL_ECHOPAIR implies, eventually, two calls to MYSERIAL.print.  One
of these has FORCE_INLINE for a per-character loop, and both involve
constructing a method call rather than a simple function call.

Produce better and smaller code by providing three specialised
functions serial_echopair.  This saves 672 bytes of program memory
(with EEPROM_SETTINGS and SDSUPPORT enabled).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2012-08-11 01:42:59 +01:00
Ian Jackson
957e966d2d M206: always use homing ("homeing") offsets
Previously the parameters set in M206 would only be used if a G82
command was sent with specific axis home values.  This limits its
usefulness.

Really, we should have a way to adjust the XYZ homing of a machine in
the eeprom.  So as the first stage of this, make M206 affect every
home command.  The values set using M206 are now added to the
configuration variables [XYZ]_HOME_POS.

This is achieved by replacing all uses of [XYZ]_HOME_POS in the code
by a new home_pos[] which includes the adjustment.  We also have to
adjust the uses of [XYZ]_{MIN,MAX}_POS similarly - see below.


To allow axis_is_at_home to be written as a function taking an axis
index rather than a macro taking an axis letter, we provide
constant arrays in program memory containing the values of
[XYZ]_{MIN,MAX,HOME}_POS from the compiled-in configuration.

This is done with some helper macros to deal with the declaration
(XYZ_CONSTS_FROM_CONFIG) and definition of the inline function which
does the program memory access.

We also introduce the overloaded function read_pgm_any, whose
instances are produced with DEFINE_PGM_READ_ANY, which allows the
access functions to automatically produce the correct type.

The type- and pointer-massaging code in the access function boils
down, when compiled, to a simple program memory access.


A question arises: if the M206 offset is set, should this adjustment
to the home position shift or change the possible range of movement
permitted by the software endstops ?

The documentation in Configuration.h describes these limits as:
    // Travel limits after homing
Since this is a file containing physical limits, and actual suggested
values for these configuration parameters appear to include a certain
amount of slop, I've taken the view that these should be regarded as
nominal physical distances from the limit switches, and that the
permissible travel should be unaffected by M206.

So for example with the (rather unrealistic)
  #define X_HOME_DIR -1
  #define X_MIN_POS -20
  #define X_HOME_POS 0
  #define X_MAX_POS 100
no matter the setting of M206 X, the machine would be permitted
to move from 20mm "beyond" the limit switch trigger point in
the negative X direction and 100mm away from the limit switch in
the positive X direction, for a total travel of 120mm.

With M206 X-10 that would be considered to correspond to X coordinates
-30 to +90.  With M206 X+10 that would be considered to correspond to
X coordinates -10 to +110.


fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2012-08-11 01:35:03 +01:00
Ian Jackson
faccb35850 software_endstops: use *_MIN_POS and *_MAX_POS for arcs
If [XYZ]_HOME_POS and [XYZ]_MIN_POS aren't 0, these corrections are
wrong.  Use the same logic as in Marlin.pde:prepare_move: ie, clamp to
[XYZ]_{MIN,MAX}_POS.

While we're here, put this cut-and-paste code in a function
clamp_to_software_endstops.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2012-08-10 19:36:30 +01:00