1346 Commits (d3b713cebcf302896ca388470a76463450d7297d)

Author SHA1 Message Date
cocktailyogi fae7d08698 fixed wrong compiler-option 11 years ago
cocktailyogi 512f2a3136 restore Branch from Backup
sorry for that
11 years ago
Pablo Clemente cd3220d055 Inverted state logic for forced_heating_stop variable 11 years ago
Pablo Clemente 86b4b805d2 Fixed stop print LCD function on M104 11 years ago
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.
11 years ago
neildarlow efb6d61413 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
nothinman 38192cb5f3 Add M112 description to Marlin_main 11 years ago
nothinman aed5ec008a Merge pull request #851 from DanNixon/estop
Implemented M112
11 years ago
Erik van der Zalm cfb98ef682 More coverity fixes 11 years ago
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
11 years ago
Neil Darlow e541323741 Merge https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
MyMakibox 21ec6b88c3 Update Marlin_main.cpp
Added description of autotemp flags to M109
11 years ago
Neil Darlow 6adbdf42e0 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
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.
11 years ago
neildarlow 95ad6ec9a1 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
Gabe Rosenhouse 27a7cf9fcf use existing strings 11 years ago
Gabe Rosenhouse b0aeac117f Adjustable Z probe offset, via custom M-code 11 years ago
Neil Darlow 73b380d8d2 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
nothinman c23376f2e7 Merge pull request #837 from whosawhatsis/fwretract
FWRETRACT in mm/s
11 years ago
nothinman 9a5d23d96f Merge pull request #866 from sakunamary/Marlin_v1
fix bug for dual extruders not working
11 years ago
nothinman 303ee67896 Merge pull request #864 from whosawhatsis/M200
fix bug in M200 with multiple extruders
11 years ago
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.
11 years ago
whosawhatsis a65564eef6 fix bug in M200 with multiple extruders 11 years ago
whosawhatsis aeaf9b9312 fix bug in M200 with multiple extruders 11 years ago
Dan Nixon f643f4d674 Test and refactor 11 years ago
neildarlow bbe8fbe13d Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
Dim3nsioneer 3906f27c46 Individual extruder flow rate
Extension of M221, Tune menu
11 years ago
Dan Nixon a38c90ee84 Added estop handling 11 years ago
Dan Nixon 272072fa20 Added M112 11 years ago
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.
11 years ago
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/
11 years ago
neildarlow 7325d7102e Activate LiquidTWI2 device detection and space-pad LCD status line. 11 years ago
Jim Morris 8ea5665ee2 Merge remote-tracking branch 'origin/Marlin_v1' into add/M665-set-delta-configuration
Conflicts:
	Marlin/Marlin_main.cpp
11 years ago
Cylindric fdce91192e Various typo fixes - only in comments, no code changes. 11 years ago
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
11 years ago
Gabe Rosenhouse 174b8d99d5 Simplify 3-point probing using new code only 11 years ago
Gabe Rosenhouse 3b718b816c better documentation 11 years ago
Gabe Rosenhouse 34fd59c370 ABL at any points 11 years ago
alexborro 9fa328e5c8 Merge pull request #793 from MissionSt/use_axis_enums
Use constants instead of numeric literals
11 years ago
Gabe Rosenhouse f308a8af91 update comment 11 years ago
Gabe Rosenhouse 357e31270a Prevent G29 without first homing in X and Y
If position is unknown, then G29 can be dangerous.
11 years ago
Gabe Rosenhouse d2d7d186b5 Use descriptive constants, more 11 years ago
Gabe Rosenhouse 2ccdf4f36d Use descriptive constants instead of numeric literals 11 years ago
daid 46bae30573 Merge pull request #776 from whosawhatsis/fwretract
Fwretract fixes, cleanup
11 years ago
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
11 years ago
nothinman fd42f0d226 Merge pull request #783 from MissionSt/fix/syntax-error
Fix compile error
11 years ago
nothinman 96217bf36a Merge pull request #777 from PxT/M114
Add whitespace to M114 output
11 years ago
Gabe Rosenhouse d1c64b9dc4 Fix syntax error introduced in 477b6fa1d 11 years ago
nothinman d4ba23bc28 Merge pull request #770 from josefpavlik/Marlin_v1
Marlin v1
11 years ago
Paul Telford 306588925d Add whitespace to M114 output 11 years ago
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.
11 years ago
whosawhatsis 99f0e44864 Move FWRETRACT defaults to configuration_adv.h 11 years ago
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.
11 years ago
whosawhatsis 2f2459c0db Fix G10/G11 Z-lift 11 years ago
Gabe Rosenhouse 8c5675c290 Use language.h instead of English literals for "bed" 11 years ago
Gabe Rosenhouse 0f7393a13e Refactor 'accurate' auto bed leveling to use probe_pt() 11 years ago
Gabe Rosenhouse c4fbb44d6d Refactor 3-point auto bed leveling to use probe_pt() 11 years ago
Gabe Rosenhouse ad2c6488c7 Add probe_pt(), useful for auto bed leveling 11 years ago
Josef Pavlik 477b6fa1df move engaged from lcd console refreshes power off timeout 11 years ago
whosawhatsis 6e43398509 G10/G11 bugfixes
Previous version was broken by using G92 E0 between retract and recover.
11 years ago
whosawhatsis d6c5c503d4 correct feedrate units in comments for M207/M208 11 years ago
whosawhatsis b5ba5c1465 Merge branch 'Marlin_v1' of https://github.com/whosawhatsis/Marlin into Marlin_v1 11 years ago
whosawhatsis 78e7654601 Keep FWRETRACT values in terms of millimeters when using M200
for volumetric E units
11 years ago
whosawhatsis 3f6d44d40b Keep FWRETRACT values in terms of millimeters when using M200 for volumetric E units 11 years ago
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
11 years ago
ErikZalm e1ae7952eb Merge pull request #743 from Opticalworm/Marlin_v1
Improved support for panelolu2 encoder and buzzer
11 years ago
David Forrest a5f53f0cf3 Heater wattage reporting for M105 using EXTRUDER_WATTS and BED_WATTS 11 years ago
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
11 years ago
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.
11 years ago
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.
11 years ago
whosawhatsis d24df7af2c M200 implementation 11 years ago
whosawhatsis f08bb8bb6a Previous commit borked. 11 years ago
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.
11 years ago
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.
11 years ago
Alex Borro 05932e4458 Add Z Probe Offset to EEPROM and Ultra LCD 11 years ago
daid 380144c20f Add Ultiboard2 electronics. With PWM current settings. For the few people that have this new board as experiment in their UM-Original. 11 years ago
fsantini 6ae7f7870d Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into ErikZalm
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
11 years ago
Francesco Santini da2a6f9a31 Accurate bed leveling: x loop inside y and zigzag motion 11 years ago
fsantini 5bde7fcb28 Minor code and comment polishing 11 years ago
- 20faff5935 Incorporate PS_DEFAULT_OFF for starting state on LCD menu entry 11 years ago
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)
11 years ago
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.
11 years ago
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.
11 years ago
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.
11 years ago
ErikZalm 24d1f480b6 Merge pull request #647 from shaggythesheep/newfeature-M226
Implement M226 - GCode Initiated Pause
11 years ago
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
11 years ago
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...
11 years ago
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
11 years ago
whosawhatsis c79e3967b3 Make G11 not horribly broken 11 years ago
bkubicek d69822ed51 Fix '#'
since it can occure in comments.
11 years ago
bkubicek 2fb2a0a119 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 11 years ago
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.
11 years ago
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.
11 years ago
Erik van der Zalm 8a08cca0f2 Added temperature status less.
Hopefully fixed viky button handling without braking other boards
11 years ago
Erik van der Zalm 87e28c0599 Added ifdefs to blinkm 11 years ago
ErikZalm 6a803ba9c5 Merge pull request #590 from timkoster/Marlin_v1
Added BlinkM support over i2c
11 years ago
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.
11 years ago
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).
11 years ago
Alex Borro 253dfc4bc1 Bed Auto Leveling feature
Check the Readme for instruction how to enable and configure the feature
11 years ago
Tim Koster 61db046b32 Added #ifdef BLINKM around new code. Also refined BlinkM.h. 11 years ago
GDV0 f17506c504 FIx compilation error when enabling SERVO_ENDSTOPS (#591) 11 years ago
Tim Koster 7016cc9511 Added BlinkM support over i2c 11 years ago
Peter Hercek 9aa2229077 add command M666 for adjusting delta printer endstop position 12 years ago
Robert F-C 9547fb9dfb Add duplication and auto-park mode for dual x-carriage support. 12 years ago
Nicolas Rossi a54fe2d73c Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin.git into Marlin_v1
Conflicts:
	Marlin/Marlin_main.cpp
12 years ago
hg42@gmx.net 2ca983568d separate INVERTING for MIN and MAX endstops (6 #defines instead of 3) 12 years ago
Nicolas Rossi 9bf1cf1b22 Pre-calculate diagonal rod length squared 12 years ago
Guillaume Seguin 6c42a3a339 Woops, fix logic 12 years ago
Guillaume Seguin 376d8af2c8 Report temperatures for all extruders 12 years ago
ErikZalm 434b6a05c1 Merge pull request #552 from iXce/Marlin_v1
Report temperatures for all extruders in reply to M105
12 years ago
Nicolas Rossi 55c287a69e Fixed move from panel for delta bot #557 12 years ago
Jim Morris b9d7ccf1cd Merge remote-tracking branch 'upstream/Marlin_v1' into delta-configuration
Conflicts:
	Marlin/Marlin_main.cpp
12 years ago
Guillaume Seguin 01ed99143c Woops, fix logic 12 years ago
Guillaume Seguin 34da3a0a3f Merge github.com:ErikZalm/Marlin into Marlin_v1
Conflicts:
	Marlin/language.h
12 years ago
Guillaume Seguin 18199ff960 Merge github.com:ErikZalm/Marlin into Marlin_v1 12 years ago
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.
12 years ago
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.
12 years ago
Jim Morris d01ee7e7b5 fix zjerk being the same for delta as xy jerk
add more delta defaults
on delta make second home even slower
12 years ago
Robert F-C d7390e13d9 Support dual x-carriage printers
Dual x-carriage designs offer some substantial improvements for dual
extruder printing.
12 years ago
Erik van der Zalm 59004023fd Fixed typo 12 years ago
Erik van der Zalm 461dad6e05 Added : M32 - Select file and start SD print (Can be used when printing from SD card)
Untested
12 years ago
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.
12 years ago
Michael Mayer e509cdbeb0 added contrast control function for gLCDs 12 years ago
Gord Christmas fde17d5720 Fix for ugly code compilation errors in SERVO_ENDSTOP checks 12 years ago
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
12 years ago
Erik van der Zalm ac975ed8c2 Merge branch 'deltabot' into Marlin_v1 12 years ago
Jim Morris caa848f943 fix homing for deltas 12 years ago
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
12 years ago
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. 12 years ago
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
12 years ago
Scott Lahteine 5dabc95409 Apply all changes from latest Marlin_V1
Diffed and merged, preserving my updates
12 years ago
Gord Christmas a733537ddd Missed some variable declarations
Integrated fixes from henrikbrixandersen pull request #504
12 years ago
Gord Christmas f4f30c9d64 Added servo actuated enstop coding to allow G28 command to engage and retract a servo to specified angles. 12 years ago
Erik van der Zalm 79374f0b93 Merge branch 'reisnyderb' of https://github.com/ErikZalm/Marlin into Marlin_v1 12 years ago
Erik van der Zalm 971ec35135 Expanded M302 to allow setting the temp 12 years ago
Erik van der Zalm 5090c56651 More redundant temp sensor changes. (After testing and debugging by reifsnderb) 12 years ago
Guillaume Seguin 16b9239a26 Report temperatures for all extruders 12 years ago
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.
12 years ago
Robert F-C 0d4a9444c4 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 12 years ago
Robert F-C dfa549f268 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 12 years ago
Gord Christmas dc59f07d24 First attempt at refactoring of original servo code. Only adding servo support as a start to keep things simple. 12 years ago
Erik van der Zalm bd2cd4903e Added #ifdef BARICUDA around the BariCUDA changes 12 years ago
Jordan Miller fbd899a37d Support for BariCUDA Paste Extruder derived from MakerBot Frostruder. Using Ultimachine RAMBo board. M126/M127 and M128/M129. 12 years ago
midopple db2f157a22 Replace the <= to < in the Command M907, M350 and M351.
The for loop for Axis count over the Array.
Add a break after M907
12 years ago
Arnoud fc4ab05157 Solved minor bug in controllerFan()
Extruder 2 was checked where extruder 1 should be checked.
12 years ago
Scott Lahteine 0ef54f2f85 Make M303 silent when "S0" is sent
If S is left out perhaps it should be silent, but check the spec for
this M code.
12 years ago
Robert F-C d5ad7a0814 Rework change to incorporate CONTROLLERFAN
Also refactor extruder auto fan logic to simplify further and now only
check every 2.5 seconds
12 years ago
Robert F-C c3cdaceab3 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 12 years ago
Robert F-C 7f57f28ccc Add lcd_buzz function to ultralcd.h so that non-LCD code can make use of lcd's buzzer.
Argument order of lcd_buzz was set to mirror that on tone(). Change
default M300 frequency to something audible.
12 years ago
Robert F-C 788d62bcc4 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Marlin.pde
	Marlin/ultralcd.cpp
	Marlin/ultralcd_implementation_hitachi_HD44780.h
12 years ago
Simon Oliver 5d5909fc25 Fix failure to compile with heated bed: remove call to non-existant scaleBedPID(). 12 years ago
Simon Oliver 93f0463b21 Allow Edit menu to call fn after edit; Fix PID Ki and Kd display in menus; Actually use changed PID and Max Accel values
Add new 'callback' edit-menu types that call a function after the edit is done. Use this to display and edit Ki and Kd correctly (removing the scaling first and reapplying it after). Also use it to reset maximum stepwise acceleration rates, after updating mm/s^2 rates via menus. (Previously, changes did nothing to affect planner unless saved back to EEPROM, and the machine reset).

Add calls to updatePID() so that PID loop uses updated values whether set by gcode (it already did this), or by restoring defaults, or loading from EEPROM (it didn't do those last two). Similarly, update the maximum step/s^2 accel rates when the mm/s^2 values are changed - whether by menu edits, restore defaults, or EEPROM read.

Refactor the acceleration rate update logic, and the PID scaling logic, into new functions that can be called from wherever, including the callbacks.

Add menu items to allow the z jerk and e jerk to be viewed/edited in the Control->Motion menu, as per xy jerk.

Conflicts:
	Marlin/language.h
12 years ago
ErikZalm 7f622467fc Merge pull request #425 from kefir-/m928_logging
M928 logging
12 years ago
ErikZalm 86867928ac Merge pull request #434 from DDRBoxman/Marlin_v1
Add support for M300: Play beep sound
12 years ago
Dirk Eichel 4e448b700a Merged fetched files from Marlin_v1 branch
Pull requests: #414 #433 #432 #428
12 years ago
Colin Edwards 0d075378d5 Add LARGE_FLASH define and enable it for some of the beefier boards
The LARGE_FLASH flag allows superfluous features to be excluded
on boards with less memory
12 years ago
Colin Edwards 9a1c90471f Ignore unused beeper pins 12 years ago
Colin Edwards 1a0f889803 Add support for M300: Play beep sound 12 years ago
blddk e5a853a3d0 Added automated extruder fan function 12 years ago
Ketil Froyn f036be7c4e Clean up tab/whitespace from last commit 12 years ago
Ketil Froyn 07e11c7cf5 Add command M928 to enable logging to file of received gcode commands 12 years ago
Nicolas Rossi 6504e96165 Turn off power supply off-load
Disable the high current output and wait a little before to turn off,
because the interrupting capacity of the PSU is unknown.
Could be a function if needed by other.
12 years ago
Nicolas Rossi 86bf911139 Toggle menu for PSU from LCD pannel
From the prepare menu, accessible when is not printing, you have the
possibility to turn off the PSU when is on et vice versa.
From the host, you can turn off or turn on the PSU then the menu is
updated accordingly.
From the LCD message, the printer status is reported ready or off
respectively when the PSU is on or off.
12 years ago
Robert F-C 372e12f83f Implement automatic extruder/cold-end fan control based on temperature
This change allows fan outputs to automatically turn on/off when the
associated nozzle temperature of an extruder is above/below a threshold
temperature.
Multiple extruders can be assigned to the same pin in which case the fan
will turn on when any selected extruder is above the threshold.
It also makes the M42 command compatible with the M106/M107 command.
The majority of the logic in this change will be evaluated by the
compiler at build time (i.e, low code space requirements).
12 years ago
Robert F-C 1292d735ba Converge all I2C LCD branches (PANELOLU2, VIKI & PCF8575)
This includes refactoring the buttons code to remove a large amount of
non-pin dependent duplication from pins.h.
12 years ago
daid303 4eb81a69e6 Only compile the new extruder offset code if you have multiple extruders. 12 years ago
Denis B 70871715e4 Added support for extruder offset handling
The extruder offset can be specified in the configuration
file or adjusted on the fly using the "M218 T# X# Y#" command.
The EEPROM support is not yet merged in.
The "T#" command can take option "F#" that specifies the feedrate
at which the printing head should be re-positioned. If not
specified the re-positioning move is not preformed immediately,
but the coordinates are adjusted for the printer to properly
position the head when the next movement happens.
12 years ago
Denis B 49b2ddc8c1 Cleaned up non-standard characters 12 years ago
Bas Spaans 19ce90fe02 Added comment about M42 usage (clean) 12 years ago
Bas Spaans 00fed0a703 Revert "Extended comment explaining M42 usage"
This reverts commit 01541ee64c.
12 years ago
Bas Spaans 01541ee64c Extended comment explaining M42 usage 12 years ago
Bernhard 1d06b10962 Added a feature to have filament change by gcode or display trigger.
[default off for now]
syntax: M600  X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]

if enabled, after a M600, the printer will retract by E, lift by Z, move to XY, retract even more filament.
Oh, and it will display "remove filament" and beep like crazy.

You are then supposed to insert a new filament (other color, e.g.) and click the display to continue.
After having the nozzle cleaned manually, aided by the disabled e-steppers.
After clicking, the printer will then go back the whole shebang, and continue printing with a fancy new color.
12 years ago
daid 27843388c6 Merge pull request #360 from njprossi/Marlin_v1
Power signal control definitions for other power supplies
12 years ago
daid303 921273baa0 Added optional feature to stop printing when an endstop is hit. Made the Z display on the LCD in 3.2 format instead of 3.1. Added LCD message when and endstop is hit. 12 years ago
Nicolas Rossi 437eb3bafc Initialize PS_ON at startup 12 years ago
Nicolas Rossi f3c1fc70a9 Power signal control definitions for ATX and others 12 years ago
Johann Rocholl 9e7b5056a0 {X,Y,Z}_{MIN,MAX}_POS are actually in Gcode coordinates. 12 years ago
daid303 01aac2a142 Small changes on the LCD panel, let the speed control work better, line up the parameter edit the same as the menu, remove some unused defines, and remove the Z from the 10mm move menu. 12 years ago
daid303 b69cb9fbd9 Change the end of SD cart print message from minutes/seconds to hours/minutes. 12 years ago
Johann Rocholl 6dfb8a2187 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. 12 years ago
Johann Rocholl 3b2e5027e5 Merged updates from Marlin_v1. 12 years ago
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. 12 years ago
daid303 6731c094ee Fix compiling with just an 16x2 LCD and no buttons. 12 years ago
daid303 b99a928a80 Fix the M117 (display message on LCD) when used over USB with checksums. 12 years ago
daid303 5ff5cee8ce Fix the sensitive pin definitions, there where analogue numbers in the digital pin list. Also made M42 without a P function on the LED_PIN (which was otherwise a useless pin definition) 12 years ago
daid303 46ec4b648c Added some missing Mxxx comments to M commands. Fixed the unsetting of the timer dividers for the fast PWM fan. 12 years ago
Johann Rocholl 8e2519e88b Add realtime delta geometry in Marlin_main.cpp. 12 years ago
daid303 c421774422 The Partial release message (which does not really tell you anything) overwrites the final print time on the LCD, which is a real shame. So I removed the message. 12 years ago
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. 12 years ago
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. 12 years ago
daid303 97fa2a9c30 Few simple fixes that save RAM, as static strings are stored in RAM by default. 12 years ago
Erik vd Zalm dbbf050005 More rambo fixes 12 years ago
Erik vd Zalm f934d0ef5b Merge remote-tracking branch 'tonokip/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Configuration.h
12 years ago
daid303 43018a48c4 Fix for a few -Wextra warnings. 12 years ago
daid303 12a4d60e18 Fix the EEPROM storage, no longer inline it at multiple locations, and remove the template. 12 years ago
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. 12 years ago