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
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
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 #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
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
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
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
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 #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
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
Gabe Rosenhouse
b0aeac117f
Adjustable Z probe offset, via custom M-code
2014-04-06 19:45:56 -05:00
Neil Darlow
73b380d8d2
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
2014-04-06 19:15:29 +01:00
nothinman
c23376f2e7
Merge pull request #837 from whosawhatsis/fwretract
...
FWRETRACT in mm/s
2014-04-04 11:47:58 +01:00
nothinman
9a5d23d96f
Merge pull request #866 from sakunamary/Marlin_v1
...
fix bug for dual extruders not working
2014-04-02 18:27:42 +01:00
nothinman
303ee67896
Merge pull request #864 from whosawhatsis/M200
...
fix bug in M200 with multiple extruders
2014-04-02 18:26:15 +01:00
Tim
8759508319
fix bug for dual extruders not working
...
some guy find that marlin not working good for dual extruders delta .
when type T0 or T1 to active extruder and E0 or E1 move causing XYZ
motion . so i locales the bugs and fix it , I have dry run the fix.
2014-04-01 09:26:19 +08:00
whosawhatsis
a65564eef6
fix bug in M200 with multiple extruders
2014-03-30 11:42:22 -07:00
whosawhatsis
aeaf9b9312
fix bug in M200 with multiple extruders
2014-03-30 11:41:57 -07:00
Dan Nixon
f643f4d674
Test and refactor
2014-03-21 20:42:00 +00:00
neildarlow
bbe8fbe13d
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
2014-03-21 18:27:14 +00:00
Dim3nsioneer
3906f27c46
Individual extruder flow rate
...
Extension of M221, Tune menu
2014-03-15 18:09:46 +01:00
Dan Nixon
a38c90ee84
Added estop handling
2014-03-15 15:56:15 +00:00
Dan Nixon
272072fa20
Added M112
2014-03-14 23:19:43 +00:00
whosawhatsis
aab61e63c3
FWRETRACT in mm/s
...
Firmware retraction now stores the retract and recover speeds in mm/s
instead of mm/min. This makes it match the units of the maximum
feedrate, and fixes problems with modifying the value via LCD control
panel. From gcode, the values are still taken in mm/min to match the
units of G1 and similar, and they are converted to mm/s before they are
stored.
I also lowered the default retract feedrate to make it less likely to
cause problems for geared extruders when the user hasn’t bothered to
set a reasonable maximum feedrate, though users should be setting both
of these values to suit their hardware.
2014-03-14 15:17:28 -07:00
blddk
09af1b90b8
Added CHDK support
...
Added CHDK support to take pictures instead of doing an IR command, see more about how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
2014-03-10 21:57:08 +01:00
neildarlow
7325d7102e
Activate LiquidTWI2 device detection and space-pad LCD status line.
2014-03-03 21:01:27 +00: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
whosawhatsis
77df0d689a
autretract fix
...
I made these changes previously, but I can’t find the commit now. This
reapplies the changes to get auto retract working again.
Conflicts:
Marlin/Configuration_adv.h
Marlin/Marlin_main.cpp
2014-02-24 13:24:38 -08:00
Gabe Rosenhouse
174b8d99d5
Simplify 3-point probing using new code only
2014-02-19 21:48:05 -08:00
Gabe Rosenhouse
3b718b816c
better documentation
2014-02-19 14:04:37 -08:00
Gabe Rosenhouse
34fd59c370
ABL at any points
2014-02-19 13:18:21 -08:00
alexborro
9fa328e5c8
Merge pull request #793 from MissionSt/use_axis_enums
...
Use constants instead of numeric literals
2014-02-19 10:15:57 -03:00
Gabe Rosenhouse
f308a8af91
update comment
2014-02-19 01:06:24 -08:00
Gabe Rosenhouse
357e31270a
Prevent G29 without first homing in X and Y
...
If position is unknown, then G29 can be dangerous.
2014-02-19 00:51:43 -08:00
Gabe Rosenhouse
d2d7d186b5
Use descriptive constants, more
2014-02-19 00:10:17 -08:00
Gabe Rosenhouse
2ccdf4f36d
Use descriptive constants instead of numeric literals
2014-02-19 00:02:59 -08:00
daid
46bae30573
Merge pull request #776 from whosawhatsis/fwretract
...
Fwretract fixes, cleanup
2014-02-18 10:39:28 +01: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
fd42f0d226
Merge pull request #783 from MissionSt/fix/syntax-error
...
Fix compile error
2014-02-17 20:59:43 +00:00
nothinman
96217bf36a
Merge pull request #777 from PxT/M114
...
Add whitespace to M114 output
2014-02-17 18:07:47 +00:00
Gabe Rosenhouse
d1c64b9dc4
Fix syntax error introduced in 477b6fa1d
2014-02-17 07:56:19 -08:00
nothinman
d4ba23bc28
Merge pull request #770 from josefpavlik/Marlin_v1
...
Marlin v1
2014-02-17 11:27:05 +00:00
Paul Telford
306588925d
Add whitespace to M114 output
2014-02-16 21:01:19 -08:00
whosawhatsis
c43838bb1e
disable auto retract by default
...
This should make it safe to enable FWRETRACT by default, with
autoretract (which should now be fixed) only enabled by M209. FWRETRACT
should probably now default to enabled (to make G10/G11 and M207-209
available, without changing functionality when they are not used), but
I’ll save that for another pull request/discussion.
2014-02-16 19:04:54 -08:00
whosawhatsis
99f0e44864
Move FWRETRACT defaults to configuration_adv.h
2014-02-16 19:00:28 -08:00
whosawhatsis
66e3869138
Fix autoretract
...
This takes the (now working) G10/G11 code and moves it to a function,
which is called by G10 and G11, and also called by G1 if autoretract is
enabled and a retract/recover move is detected.
2014-02-16 18:59:04 -08:00
whosawhatsis
2f2459c0db
Fix G10/G11 Z-lift
2014-02-16 18:15:34 -08:00
Gabe Rosenhouse
8c5675c290
Use language.h instead of English literals for "bed"
2014-02-16 17:16:00 -08:00
Gabe Rosenhouse
0f7393a13e
Refactor 'accurate' auto bed leveling to use probe_pt()
2014-02-16 10:44:15 -08:00
Gabe Rosenhouse
c4fbb44d6d
Refactor 3-point auto bed leveling to use probe_pt()
2014-02-16 10:44:08 -08:00
Gabe Rosenhouse
ad2c6488c7
Add probe_pt(), useful for auto bed leveling
2014-02-16 10:38:29 -08:00
Josef Pavlik
477b6fa1df
move engaged from lcd console refreshes power off timeout
2014-02-14 12:37:21 +01:00
whosawhatsis
6e43398509
G10/G11 bugfixes
...
Previous version was broken by using G92 E0 between retract and recover.
2014-02-12 13:03:00 -08:00
whosawhatsis
d6c5c503d4
correct feedrate units in comments for M207/M208
2014-02-12 13:02:47 -08:00
whosawhatsis
b5ba5c1465
Merge branch 'Marlin_v1' of https://github.com/whosawhatsis/Marlin into Marlin_v1
2014-02-11 19:06:03 -08:00
whosawhatsis
78e7654601
Keep FWRETRACT values in terms of millimeters when using M200
...
for volumetric E units
2014-02-11 19:05:35 -08:00
whosawhatsis
3f6d44d40b
Keep FWRETRACT values in terms of millimeters when using M200 for volumetric E units
2014-02-11 18:50:11 -08: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
ErikZalm
e1ae7952eb
Merge pull request #743 from Opticalworm/Marlin_v1
...
Improved support for panelolu2 encoder and buzzer
2014-02-03 12:33:10 -08:00
David Forrest
a5f53f0cf3
Heater wattage reporting for M105 using EXTRUDER_WATTS and BED_WATTS
2014-02-03 14:50:28 -05:00
Ronald
8d162e5bd7
Improved support for panelolu2 encoder and buzzer
...
I added #define for LCD_FEEDBACK_FREQUENCY_HZ and
LCD_FEEDBACK_FREQUENCY_DURATION_MS which is used to alter the default
buzzer sound.
When selecting Panelolu2 in configuration.h:
- it automatically sets the correct ENCODER_PULSES_PER_STEP and
ENCODER_STEPS_PER_MENU_ITEM.
- if LCD_USE_I2C_BUZZER is defined it will also set the default
LCD_FEEDBACK_FREQUENCY_HZ and LCD_FEEDBACK_FREQUENCY_DURATION_MS
When selecting the sanguinololu 1284p the following is true:
- its now enables LARGE_FLASH
- It enables the gcode M300 when the panelolu2 LCD_USE_I2C_BUZZER is
defined
2014-02-03 07:45:03 +00:00
whosawhatsis
b2c11ba980
Change diameter code to 'D'
...
For some reason that I can’t figure out, the decimal is dropped when
using ’S’ for the code.
Also some minor code improvements to M200.
2014-02-01 18:49:25 -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
whosawhatsis
f08bb8bb6a
Previous commit borked.
2014-01-19 22:06:45 -08:00
whosawhatsis
b1f8f492c6
Remove previous_millis_cmd update from extruder runout prevention code
...
This seems to defeat the purpose of previous_millis_cmd, preventing the
time elapsed from previous_millis_cmd from ever reaching
max_inactive_time or stepper_inactive_time while the heat was on.
2014-01-19 19:22:08 -08:00
whosawhatsis
8a5eaa3c9b
Fix crash after home bug
...
Fixes a bug in the Extruder Runout Prevention feature that caused the
extruder to move back to “current_position” after a move if it was
activated while the move was in progress. For long home moves (which
are longer than the dimensions of the machine’s working area), this
would cause the machine to crash into the far end of its travel after
homing. This usually occurred on the Z axis, which could result in
damage to the machine if you don’t hit the reset button in time.
2014-01-19 19:11:51 -08:00
Alex Borro
05932e4458
Add Z Probe Offset to EEPROM and Ultra LCD
2014-01-16 18:13:46 -02:00
daid
380144c20f
Add Ultiboard2 electronics. With PWM current settings. For the few people that have this new board as experiment in their UM-Original.
2014-01-06 11:05:02 +01:00
fsantini
6ae7f7870d
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into ErikZalm
...
Conflicts:
Marlin/Configuration.h
Marlin/Marlin_main.cpp
2013-12-23 12:20:32 +01:00
Francesco Santini
da2a6f9a31
Accurate bed leveling: x loop inside y and zigzag motion
2013-12-13 10:31:19 +01:00
fsantini
5bde7fcb28
Minor code and comment polishing
2013-12-11 21:27:43 +01:00
-
20faff5935
Incorporate PS_DEFAULT_OFF for starting state on LCD menu entry
2013-12-08 21:35:57 +01:00
fsantini
cc2925b705
Implemented a least squares fit of the bed equation for auto bed leveling.
...
The code for the LSQ solver (qr_solve) is copyrighted by John Burkardt and released under LGPL here:
http://people.sc.fsu.edu/~%20jburkardt/c_src/qr_solve/qr_solve.html
(see qr_solve.cpp for further copyright information)
2013-12-06 21:46:25 +01:00
fsantini
b64661070e
Fixed the plane vector equation to a simpler one (only dependent on the normal)
...
Removed the calculation of the inverse matrix since the rotation matrix is orthogonal, therefore inverted == transposed.
Much simpler and mathematically robust.
2013-12-06 21:32:21 +01:00
Alex Borro
5c44f6c434
Bed Heater monitoring in Controller Fan
...
In some cases the Bed Heater FET heats up more then stepper drivers, so
this change add the bed monitoring to the controller fan. As soon as the
bed heater is turned on, the controller fan will run as well.
2013-11-27 23:23:06 -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
ErikZalm
24d1f480b6
Merge pull request #647 from shaggythesheep/newfeature-M226
...
Implement M226 - GCode Initiated Pause
2013-11-10 07:27:01 -08:00
Richard Miles
dc887ef99b
Implement M226 - GCode Initiated Pause
...
Implemented M226 as described here:
http://reprap.org/wiki/G-code#M226:_Gcode_Initiated_Pause
Waits for pin to be become either HIGH, LOW or the inverse of what it
was before. Allows printing to pause until user interaction
2013-11-09 15:11:58 +00:00
Charles R
c244eb860c
If you have a switch on suicide pin, this is useful if you want to
...
start another print with suicide feature after a print without
suicide...
2013-11-04 12:04:04 +01:00
dumle29
f941203172
PS_ON configurable boot state
...
Allows the user to select wheter or not the PSU should be turned on or
kept in standby when marlin boots
2013-10-29 18:44:56 +01:00
whosawhatsis
c79e3967b3
Make G11 not horribly broken
2013-10-24 18:58:42 -07:00
bkubicek
d69822ed51
Fix '#'
...
since it can occure in comments.
2013-10-22 10:34:51 +02:00
bkubicek
2fb2a0a119
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
2013-10-22 10:08:21 +02:00
bkubicek
ab965376ff
Sub-file calls.
...
by overloading M32 it is now possible to execute gcode files from other gcode files, with a fixed recursion level.
This can be used e.g. for having a real start.g and end.g somewhere on the sd card, which are then called from the normal print file.
Another usecase would be to have macro-files for nozzle-change and layerchange.
I have not tested the speedwise performance. The testing was done with pronterface.
syntax:
normal call from sd card will open the new file and continue executing there.
M32 !/path/filename#
this however will call the new file and return to the caller file.
M32 P !/path/filename#
with the optional "S<position>" the file starting position can be set.
this is for continuing prints from a previous location.
2013-10-22 10:02:18 +02:00
bkubicek
b2cc27e5ea
Added a magic character for sd buffering.
...
if a '#' is read now the buffer will be emptied before reading ahead.
This is so one can execute files from within gcode files, without messing the buffer with preread characters from the caller file.
# can not occure in sd files imho, because it should only occure within checksums in ther serial communication.
Yes, thats a lame argument. If you have a better idea please tell me. It has to be a character that one can type
on a keyboard manually.
2013-10-22 09:54:13 +02:00
Erik van der Zalm
8a08cca0f2
Added temperature status less.
...
Hopefully fixed viky button handling without braking other boards
2013-10-20 12:12:35 +02:00
Erik van der Zalm
87e28c0599
Added ifdefs to blinkm
2013-10-20 09:55:15 +02:00
ErikZalm
6a803ba9c5
Merge pull request #590 from timkoster/Marlin_v1
...
Added BlinkM support over i2c
2013-10-20 00:51:35 -07:00
Alex Borro
6f85a8c7aa
Bed auto Leveling change: Raise Z before homing
...
- Added "Z_RAISE_BEFORE_HOMING" for raising Z the defined distance
before homing. This is useful to avoid Z-Probe collision when hotend is
near bed.
- Fixed the issue of Z not going bellow Z_PROBE_OFFSET when
"min_software_endstops" is true.
Now the Z_PROBE_OFFSET is not set in Z_MIN_POS, it is added after
homing.
2013-10-12 17:28:11 -03:00
Alex Borro
dd3086d3f2
Show Temperature ADC values
...
If "SHOW_TEMP_ADC_VALUES" is defined in Configuration_adv.h, the M105
command will present, after tradicional temperatures, the ADC value read
from temp sensors. This is great for adjusting thermistor tables with
thermocouple.
From Pronterface you can see the ADC value and compare with a
thermocouple reading.. then you just need to create your own thermistor
table.
Since this merge doesnt change the original information, it doesnt mess
with PC software parsing (tested under Pronterface and Repetier-Host).
2013-10-12 10:41:23 -03:00
Alex Borro
253dfc4bc1
Bed Auto Leveling feature
...
Check the Readme for instruction how to enable and configure the feature
2013-09-29 13:20:06 -03:00
Tim Koster
61db046b32
Added #ifdef BLINKM around new code. Also refined BlinkM.h.
2013-09-20 10:57:42 +03:00
GDV0
f17506c504
FIx compilation error when enabling SERVO_ENDSTOPS ( #591 )
2013-09-11 23:09:37 +02:00
Tim Koster
7016cc9511
Added BlinkM support over i2c
2013-09-10 12:18:29 +03:00
Peter Hercek
9aa2229077
add command M666 for adjusting delta printer endstop position
2013-08-28 01:15:20 +02:00
Robert F-C
9547fb9dfb
Add duplication and auto-park mode for dual x-carriage support.
2013-08-08 00:10:26 +10:00
Nicolas Rossi
a54fe2d73c
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin.git into Marlin_v1
...
Conflicts:
Marlin/Marlin_main.cpp
2013-08-03 13:05:56 +02:00
hg42@gmx.net
2ca983568d
separate INVERTING for MIN and MAX endstops (6 #defines instead of 3)
2013-08-01 15:06:39 +02:00
Nicolas Rossi
9bf1cf1b22
Pre-calculate diagonal rod length squared
2013-07-30 14:09:21 +02:00
Guillaume Seguin
6c42a3a339
Woops, fix logic
2013-07-30 14:02:04 +02:00
Guillaume Seguin
376d8af2c8
Report temperatures for all extruders
2013-07-30 14:02:01 +02:00
ErikZalm
434b6a05c1
Merge pull request #552 from iXce/Marlin_v1
...
Report temperatures for all extruders in reply to M105
2013-07-29 10:39:21 -07:00
Nicolas Rossi
55c287a69e
Fixed move from panel for delta bot #557
2013-07-28 22:54:37 +02:00
Jim Morris
b9d7ccf1cd
Merge remote-tracking branch 'upstream/Marlin_v1' into delta-configuration
...
Conflicts:
Marlin/Marlin_main.cpp
2013-07-24 02:49:25 -07:00
Guillaume Seguin
01ed99143c
Woops, fix logic
2013-07-23 23:34:42 +02:00
Guillaume Seguin
34da3a0a3f
Merge github.com:ErikZalm/Marlin into Marlin_v1
...
Conflicts:
Marlin/language.h
2013-07-23 21:46:41 +02:00
Guillaume Seguin
18199ff960
Merge github.com:ErikZalm/Marlin into Marlin_v1
2013-07-23 21:33:52 +02:00
Robert F-C
fb5334f428
Fixed compile error when QUICK_HOME is defined.
...
As well a couple of minor changes to handling of extruder offset for
dual x-carriage mode.
2013-07-22 22:46:14 +10:00
Robert F-C
39cd3dbdbe
Remove dual x-carriage functionality that could/should be implemented in slicer
...
Also added a couple of missed merge lines in homeaxis() from previous
commit.
2013-07-20 13:07:50 +10:00
Jim Morris
d01ee7e7b5
fix zjerk being the same for delta as xy jerk
...
add more delta defaults
on delta make second home even slower
2013-07-17 16:14:07 -07: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
59004023fd
Fixed typo
2013-07-15 17:22:56 +02:00
Erik van der Zalm
461dad6e05
Added : M32 - Select file and start SD print (Can be used when printing from SD card)
...
Untested
2013-07-14 22:39:59 +02:00
Erik van der Zalm
c4a2077951
M109 and M190 now wait when cooling down if R is used instead of S.
...
M109 S180 waits only when heating.
M109 R180 also waits when cooling.
2013-07-14 21:10:24 +02:00
Michael Mayer
e509cdbeb0
added contrast control function for gLCDs
2013-07-14 15:28:26 +07:00
Gord Christmas
fde17d5720
Fix for ugly code compilation errors in SERVO_ENDSTOP checks
2013-06-28 08:02:04 -07:00
Nicolas Rossi
2daa85918e
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin.git into Marlin_v1
...
Conflicts:
Marlin/Configuration.h
Marlin/Marlin_main.cpp
Marlin/language.h
Marlin/pins.h
Marlin/ultralcd.cpp
2013-06-20 23:59:56 +02:00
Erik van der Zalm
ac975ed8c2
Merge branch 'deltabot' into Marlin_v1
2013-06-10 18:20:29 +02:00
Jim Morris
caa848f943
fix homing for deltas
2013-06-09 21:10:00 -07:00
Erik van der Zalm
bd96d22bfb
Merge branch 'Marlin_v1' into thinkyhead
...
Conflicts:
Marlin/Configuration.h
Marlin/Configuration_adv.h
Marlin/Marlin.h
Marlin/Marlin_main.cpp
Marlin/Servo.cpp
Marlin/language.h
Marlin/pins.h
Marlin/planner.cpp
Marlin/ultralcd_implementation_hitachi_HD44780.h
README.md
2013-06-09 22:26:47 +02:00
Erik van der Zalm
01edf22a10
Fix home_all_axis to make QUICK_HOME work with Repetier-Host which sends G28 X0 Y0 Z0 instead of G28. Thanks to Matt Schoenholz for reporting this issue.
2013-06-09 13:54:19 +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
Scott Lahteine
5dabc95409
Apply all changes from latest Marlin_V1
...
Diffed and merged, preserving my updates
2013-06-06 15:49:25 -07:00