Commit graph

1467 commits

Author SHA1 Message Date
Scott Lahteine
07c6b5ab71 Using axis constants 2014-12-18 08:13:08 -08:00
Scott Lahteine
1857e611d3 Other small tweaks 2014-12-18 07:49:16 -08:00
Scott Lahteine
63e1665fa9 Reduce ultralcd.cpp redundancies 2014-12-18 07:30:05 -08:00
Scott Lahteine
e69313fc2b Reduce dogm lcd code 2014-12-18 07:03:40 -08:00
Bo Herrmannsen
bd22405412 Merge pull request #1190 from thinkyhead/sd_sorting
Wrap call to flush_presort
2014-12-18 12:50:55 +01:00
Scott Lahteine
49791949af Wrap call to flush_presort 2014-12-18 03:47:12 -08:00
Scott Lahteine
0450e83fa5 Use SdFatUtil::FreeRam() for freeMemory() if there 2014-12-17 23:26:52 -08:00
Scott Lahteine
f21cce0b28 Rebase to Marlin_v1 2014-12-17 23:07:36 -08:00
Scott Lahteine
e4b98011cf And one more... 2014-12-17 23:01:24 -08:00
Scott Lahteine
60598b4cdd A few constants where they belong 2014-12-17 23:01:24 -08:00
Bo Herrmannsen
280504e2e0 Merge pull request #908 from alromh87/Marlin_v1
Support for Gen3 Monolithic electronics
2014-12-17 22:28:07 +01:00
Bo Herrmannsen
31ca3de72f Merge pull request #819 from neildarlow/Marlin_v1
Activate LiquidTWI2 device detection and space-pad LCD status line.
2014-12-17 21:42:53 +01:00
Bo Herrmannsen
e83cfc0a62 Merge pull request #1163 from thinkyhead/lcd_abort_message
LCD "Abort" Message
2014-12-17 21:30:19 +01:00
Bo Herrmannsen
0b310ab6c5 Merge pull request #1153 from xinfab/negative_values_in_menu
Negative values in menu
2014-12-17 20:58:01 +01:00
Bo Herrmannsen
91d740e128 Merge pull request #1141 from filipmu/Filament-Sensor
Display filament sensor data on a 20x4 LCD or Graphical LCD
2014-12-17 20:38:30 +01:00
alexborro
ab355a90d3 Revert "SD Sort and Buffer" 2014-12-17 14:50:59 -02:00
Scott Lahteine
d088b5f30f Remove debug echo 2014-12-13 06:33:12 -08:00
Scott Lahteine
1fad8e6a81 Proper long file name var 2014-12-13 06:17:00 -08:00
Scott Lahteine
29e854c535 Disable SDCARD_SORT_ALPHA by default
For legacy boards it’s better if this option is disabled.
2014-12-13 06:12:34 -08:00
Scott Lahteine
6599adc184 Polish up a little... 2014-12-13 06:12:34 -08:00
Scott Lahteine
a12eec33e2 Completed SORT_USES_MORE_RAM implementation
For the MORE_RAM option we need to buffer both the short and long
names, even though long names are sometimes redundant. Worst case, all
the names are max length. We can save some RAM by not storing these. We
could save more RAM by only storing the visible part of the long name.
2014-12-13 06:12:34 -08:00
Scott Lahteine
c9486ebb85 Improvements, more SORT_USES_MORE_RAM
With this option, always keeps the dir in RAM, doubling as a cache for
getfilename. A board with only 8K of SRAM is cutting it very close.
2014-12-13 06:12:33 -08:00
Scott Lahteine
b6ffea612a Expand on More RAM concept, address minor bugs 2014-12-13 06:10:44 -08:00
Scott Lahteine
8196b36ad9 SD Card Alpha Sorting
First iteration of alphabetical sorting for SD cards, both
slow+efficient and fast+rammy. Option for folders to sort first, last,
or not at all.
2014-12-13 06:07:52 -08:00
Scott Lahteine
cf749dbeda Completed SORT_USES_MORE_RAM implementation
For the MORE_RAM option we need to buffer both the short and long
names, even though long names are sometimes redundant. Worst case, all
the names are max length. We can save some RAM by not storing these. We
could save more RAM by only storing the visible part of the long name.
2014-12-13 06:03:39 -08:00
Scott Lahteine
ae081d0fe0 Improvements, more SORT_USES_MORE_RAM
With this option, always keeps the dir in RAM, doubling as a cache for
getfilename. A board with only 8K of SRAM is cutting it very close.
2014-12-13 06:03:39 -08:00
Scott Lahteine
785143a013 Expand on More RAM concept, address minor bugs 2014-12-13 06:03:39 -08:00
Scott Lahteine
0cbbba08bd SD Card Alpha Sorting
First iteration of alphabetical sorting for SD cards, both
slow+efficient and fast+rammy. Option for folders to sort first, last,
or not at all.
2014-12-13 06:03:39 -08:00
Scott Lahteine
3ebfd29312 Print a message when printing is aborted
Messages in gcode files like “M117 Printing…” were not being cleared on
Stop Print.
2014-12-13 06:01:46 -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
Bo Herrmannsen
edfcf3b527 Toshiba Stepper Driver support
Tosh stepper drivers need to be driven slower, so the stepper code
was interleaved to separate the pin HIGH from the pin LOW. This adds
enough instructions to make it work, without needing nops.
2014-12-03 15:01:52 +01:00
Bo Herrmannsen
c429a4b3ec Toshiba Stepper Driver support
Tosh stepper drivers need to be driven slower, so the stepper code
was interleaved to separate the pin HIGH from the pin LOW. This adds
enough instructions to make it work, without needing nops.
2014-12-03 14:37:16 +01:00
nothinman
1977b4490f Merge pull request #1159 from thinkyhead/lcd_wait_better
M0/M1 Message Fix
2014-11-28 16:44:29 +00:00
Scott Lahteine
7562183efc Skip over spaces first 2014-11-28 08:09:28 -08:00
nothinman
5a8b3a84ae Merge pull request #1155 from thinkyhead/lcd_wait_better
M0-M1 Enhancements
2014-11-28 11:01:24 +00:00
elgambitero
433ac29d31 Updated a bit of spanish language 2014-11-27 22:02:49 +01: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
3f54c9ba33 Relocate click ignore code into info screen 2014-11-26 21:05:10 -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
Lionello Lunesu
0d35b1d0b8 Allow negative values in menus 2014-11-25 18:34:02 +08:00
Jonas
0d97dec434 Adaption of LCD info screen
Here comes a compile-time operation to match the extruder symbols on the
info screen to the set number of extruders in configuration.h.
When only one extruder is selected, the "1" on the symbol will not be
displayed.
2014-11-12 17:10:48 +01:00
Filip Mulier
3b1ab84536 Display Filament Sensor data on graphic LCD
Added support to show the filament width on the status line of the
graphic LCD.  The status will show for 5 sec and then switch over to
data.  Status can be seen by clicking the button.
2014-11-10 21:46:37 -06:00
Filip Mulier
d84934d8c5 Display Filament Sensor data on 20x4 LCD
Changes to support displaying the real-time filament width and the
volume factor on a 20x4 LCD.  The data is displayed on the 4th line.
First the status message is displayed for 5 seconds, and then the
filament data is displayed.  The status message can be seen by
re-selecting the info screen in the menu.
2014-11-10 21:43:58 -06:00
Filip Mulier
5c8107bcdd Commented out FILAMENT_SENSOR #define
Commented out the FILAMENT_SENSOR define so that it is not enabled by
default.  Code does not work on all hardware variants.
2014-11-09 13:26:02 -06:00
David
377dfb182f Updated example configurations for Delta printers 2014-11-02 21:04:54 +00: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
724197454c Merge pull request #1104 from ch100/Marlin_v1
Fixed typo.
2014-10-11 23:10:00 +02: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
Christian Inci
110c5dcf23 Fixed typo.
Signed-off-by: Christian Inci <chris.pcguy.inci@gmail.com>
2014-10-11 00:25:36 +02:00
Matt Stultz
ca30aee903 Fix "add_homeing" to "add_homing" to match changes 2014-10-07 00:16:27 -04:00
Erik van der Zalm
0733825fb1 Merge pull request #1099 from Fourmi/Marlin_v1
Update line 627 ,wrong number on thermistortables
2014-10-06 14:36:00 +02:00
Fourmi
af3e4d7510 Update line 627 ,wrong number on thermistortables
Wrong number on line 627 > i change number "12" by the correct number "13"
Soory
2014-10-06 14:21:44 +02:00
Erik van der Zalm
aaaf8fe8dd Merge pull request #1068 from darkjavi/Marlin_v1
Added profile for RAMPS with 2 extruders and 1 fan, no heated bed
2014-10-06 13:41:38 +02:00
Erik van der Zalm
b360306881 Merge pull request #1073 from WingTangWong/wing-fix-float-delta
Wing fix float delta
2014-10-06 13:41:01 +02:00
Erik van der Zalm
ce85515428 Merge pull request #1082 from Fourmi/Marlin_v1
Add thermistor table
2014-10-06 13:39:36 +02:00
Erik van der Zalm
764921bdbf Merge pull request #1091 from Aldert/patch-1
Update motion_control.cpp
2014-10-06 13:37:19 +02:00
Erik van der Zalm
c40c7b589b Merge pull request #1095 from thinkyhead/codeclean
Simple code cleanup. Rename "homeing" to homing.
2014-10-06 13:36:48 +02:00
Erik van der Zalm
0f2e0525df Merge pull request #1096 from thinkyhead/set-home
Proposed feature: Set Home Offsets
2014-10-06 13:36:11 +02:00
Erik van der Zalm
5ae02a361b Merge pull request #1097 from thinkyhead/round-up-xyz
Adjust the Z display to hide float rounding errors
2014-10-06 13:35:00 +02:00
Matthew Schick
fb34265d75 Make hotend optional when compiling with lcd support
Signed-off-by: Matthew Schick <matthew.schick@gmail.com>
2014-10-06 00:19:07 -04:00
Scott Lahteine
6e343ef2f0 Adjust the Z display to hide float rounding errors 2014-10-05 18:34:54 -07:00
Scott Lahteine
2f6c57eadc Proposed feature: Set Home Offsets
Add an item to the LCD menu that applies the current axis position to
the “add_homeing” offset.
2014-10-05 13:35:45 -07: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
Aldert
d1e4237e1d Update motion_control.cpp
G03 Full circle did not work (G02 is working correct)
2014-10-04 09:24:09 +02:00
Fourmi
a664763e6f Update thermistortables.h
Add another thermistor table (13),it's a cartridge thermistor up to +300°C,use with Hotend "Simple ONE" & "All In ONE"

Thx
2014-09-27 09:05:10 +02:00
Fourmi
b5dc228a7a Update configuration.h
Add another comment for thermistor 13 ,use with Hotend "Simple ONE & All In ONE"
2014-09-27 09:02:58 +02:00
Fourmi
3cbb2f56c6 Update configuration.h
Add another comment on configuration.h for the value of thermistor.
I make a pull request on thermistortables.h with my thermistor (12),but y see there is a comment on configuration with number 12 but it's not present on thermistortables.h ?

Thx
2014-09-26 22:01:06 +02:00
Fourmi
c35736a140 Update thermistortables.h
Add another thermistor table,use with hotend "Simple ONE" & "All in ONE"
2014-09-26 21:49:07 +02:00
galexander1
cb4a6dd2dc Merge pull request #1065 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
alexborro
bf0ecedf60 Merge pull request #1051 from fsantini/EZ_fix935
Fix issue 935: error in matrix calculation
2014-09-14 21:49:15 -03:00
Javi
40ba644bb4 Added profile for RAMPS with 2 extruders and 1 fan.
modified:   Marlin/Configuration.h
	modified:   Marlin/pins.h
2014-09-06 02:53:36 +02: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
Filip Mulier
fe3a09bbcf Correct analog sampling time for additional A to D sample
Adjusted the  #define PID_dT to reflect 10 A to D sample steps, vs
original 8.
2014-09-01 06:26:19 -05:00
Gina Häußge
1e9dc85148 Do not use translations for the serial console messages
The serial protocol has to stay machine readable, without having
to cope with a ton of different human language variants. So
just leave it at the original english version.

Should fix ErikZalm/Marlin#1052
2014-08-29 18:02:59 +02:00
fsantini
cf325ba240 Fix issue 935: error in matrix calculation 2014-08-28 21:10:50 +02:00
Erik van der Zalm
018b68a5c4 Merge pull request #976 from cocktailyogi/SCARA_by_Yogi
Implemented SCARA-Maths
2014-08-28 16:32:52 +02:00
Erik van der Zalm
dde61d8886 Merge pull request #977 from OskarLinde/Marlin_v1
Fix lcd itostr3() to handle negative numbers
2014-08-28 16:31:53 +02:00
Erik van der Zalm
0fbfb1bf82 Merge pull request #991 from bonm014/patch-1
Leapfrog controller board support
2014-08-28 16:27:52 +02:00
Erik van der Zalm
8340ca6e05 Merge pull request #992 from Grogyan/patch-1
temperature.cpp fixes for SD card and MAX6675
2014-08-28 16:27:14 +02:00
Erik van der Zalm
9887555192 Merge pull request #998 from darconeous/pull-requests/fwretract
FWRETRACT fixes
2014-08-28 16:24:51 +02:00
Erik van der Zalm
105571ec68 Merge pull request #1005 from midopple/Marlin_v1
With option DISABLE_INACTIVE_EXTRUDER the extruder is disable to early
2014-08-28 16:24:14 +02:00
Erik van der Zalm
68dd5e635e Merge pull request #1024 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 #1031 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
75b3a68b65 Revert "Change pinMode to SET_INPUT or SET_OUTPUT"
This reverts commit 1d0fe035f3.
2014-08-16 13:26:48 -05:00
Filip Mulier
e3c88a5120 Filament sensor changes to config file
Update the config file for improvements and clarifying what diameter to
use in the slicer software.
2014-08-16 07:08:09 -05: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
0adbc79571 Fix Default Configuration so Auto Bed Leveling is off
This snapshot has the Auto Bed Leveling turned off because most Marlin
users do not have that feature.
2014-08-10 10:18:54 -05: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
Filip Mulier
1d0fe035f3 Change pinMode to SET_INPUT or SET_OUTPUT
Original code is using WRITE from fastio, but original used pinMode to
set pin direction and did not use the fastio SET_INPUT or SET_OUTPUT.
This caused an issue with the rotary encoder interface to  boards based
on teensyduino, since for teensyduino pin numbers for fastio and the
usual Arduino IO are different.
2014-08-04 21:44:04 -05:00
Charles Bell
e7707aedbc Commented out new #defines in Configuration.h. 2014-08-04 10:18:25 -04:00
Charles Bell
0a8dc0e96b Added documentation to the README.md for the sled Z probe option. CAB 2014-08-04 10:07:43 -04: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 #1017 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
ad3b770c1a updated examples 2014-07-20 13:55:13 +02:00
cocktailyogi
2f4a20257c imported last Marlin changes 2014-07-20 13:49:26 +02:00
daid
aacff0d361 Merge pull request #948 from Dim3nsioneer/Marlin_v1
Implementation of FW extruder change retract
2014-07-18 16:10:15 +02:00
midopple
17aa67e4ea If the option DISABLE_INACTIVE_EXTRUDER ist active the extruder switch to early to inactive because there are some moves in the buffer. So the planner wait 32 moves to disable the unused extruder. 2014-07-13 21:52:32 +02:00
Robert Quattlebaum
1fd9a7d476 Fix for FWRETRACT on DELTA printers.
Fixes #817
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
Grogyan
bcd039aa81 Update pins.h 2014-07-05 17:55:03 +12:00
Grogyan
82606354dd Update temperature.cpp
Enables both SD card and MAX6675 to talk with each other
Fixes also issue #750
2014-07-05 17:17:17 +12:00
bonm014
32a6451ad8 Add leapfrog and dual Y/Z
I have added the pin set for the leapfrog and the support of dual Y and Z
2014-07-03 21:15:03 +02:00
bonm014
b5417be109 Update Configuration.h
Leapfrog added to the board list
2014-07-03 21:03:22 +02:00
bonm014
f244045245 Update pins.h
Leapfrog board added to the pin list
2014-07-03 21:01:41 +02:00
Pablo Clemente
2242a84218 Changed the declaration of the variable to Marlin_main.cpp to fix issue on commit #965 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
alexborro
43c298a7a9 Add "Thermal Runaway Protection" feature
This is a feature to protect your printer from burn up in flames if it
has a thermistor coming off place (this happened to a friend of mine
recently and motivated me writing this feature).

The issue: If a thermistor come off, it will read a lower temperature
than actual. The system will turn the heater on forever, burning up the
filament and anything
else around.

After the temperature reaches the target for the first time, this
feature will start measuring for how long the current temperature stays
below the target minus _HYSTERESIS (set_temperature -
THERMAL_RUNAWAY_PROTECTION_HYSTERESIS).

If it stays longer than _PERIOD, it means the thermistor temperature
cannot catch up with the target, so something *may be* wrong. Then, to
be on the safe side, the system will he halt.

Bear in mind the count down will just start AFTER the first time the
thermistor temperature is over the target, so you will have no problem
if your extruder heater takes 2 minutes to hit the target on heating.
2014-06-30 15:22:49 -03: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
Oskar Linde
269a068032 Fix lcd itostr3() to handle negative numbers 2014-06-24 14:31:15 +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
Greg Tan
6e6e4e2143 Added thermistor table for the 500C thermistor shipped with the Pico hot end. 2014-06-08 09:35:04 +08:00
Neil Darlow
9d11b70436 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2014-06-07 20:48:25 +01:00
Gina Häußge
0de826160e M30 response is missing linefeed, "ok" therefore not on own line
This leads to the command not being acknowledged properly
by the firmware, leading to consecutive issues in host software
waiting for an acknowledgement.
2014-06-02 17:11:32 +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
8a32c5395b renaming the disable inactive extruder feature 2014-06-02 14:07:02 +02:00
Dim3nsioneer
29e7639933 Add switch unused feeder(s) off
Having the non-active feeder motors powered on all the time is not
necessary. A feature to deactivate the unused feeder motors has been
implemented. The feature is enabled on default but can be switched off
in the configuration.
2014-06-02 08:13:09 +02:00
Justin Nesselrotte
07c0eeee99 Fixed a comment in the planner 2014-06-01 19:04:41 -05:00
David Forrest
09b84faa00 Configuration.h, pins.h: Add MOTHERBOARD 84 for Teensy++2.0 2014-05-29 17:19:16 -04: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 #851 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
zaubara
92e14298b0 Fixes typo for lcd backlighting on I2C PCF8575
When using LCD_I2C_TYPE_PCF8575T (like Sainsmart I2C), the backlight
won't come on; the incorrect ifdef blocks the evocation of the backlight
functions.
2014-05-15 01:37:23 +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
Alejandro Romero
1c9a70cee9 Support for Gen3 Monolithic electronics
Techzone Monotronics support, ignoring the tip manager and using fan connector as on Sprinter FW
TODO: Add support for tipmanager
2014-05-06 19:24:20 -05:00
daid
2acd3792fc Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1 2014-05-01 12:03:47 +02:00
daid
8b4c4aa5c3 Add feature to check&retry CRC read errors on SD. 2014-05-01 12:03:41 +02:00
nothinman
ce76843dc3 Merge pull request #897 from Makible/5DPrint_D8_Board_Support
5DPrint D8 Controller Board Support
2014-04-28 22:11:28 +01:00
Cameron Lai
ad5c8cbba9 Add safety limit for hot bed power in example configuration 2014-04-25 17:04:24 +08:00
Cameron Lai
6460709d92 Fix bug in PID Autotune report 2014-04-25 16:05:05 +08:00
Cameron Lai
105bebb466 Fix for pin mapping for SDSS pin and Fan pin, so Arduino library can be used 2014-04-25 12:57:47 +08:00
Cameron Lai
97ead2eccb Fix for microstepping pin mapping, not using Teensy pin mapping, but Arduino's default pin mapping so Arduino library can be used 2014-04-25 12:57:11 +08:00
Cameron Lai
d85411f13a Revert "Fix for stepper microstepping"
This reverts commit eea3ba5588.
2014-04-25 12:41:56 +08:00