Commit 29907c62 authored by MagoKimbra's avatar MagoKimbra

Same fix

parent f79c182b
...@@ -337,6 +337,11 @@ ...@@ -337,6 +337,11 @@
//#define VIKI2 //#define VIKI2
//#define miniVIKI //#define miniVIKI
// This is a new controller currently under development.
// https://github.com/eboston/Adafruit-ST7565-Full-Graphic-Controller/
// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
//#define ELB_FULL_GRAPHIC_CONTROLLER
// The RepRapDiscount Smart Controller (white PCB) // The RepRapDiscount Smart Controller (white PCB)
// http://reprap.org/wiki/RepRapDiscount_Smart_Controller // http://reprap.org/wiki/RepRapDiscount_Smart_Controller
//#define REPRAP_DISCOUNT_SMART_CONTROLLER //#define REPRAP_DISCOUNT_SMART_CONTROLLER
...@@ -361,7 +366,10 @@ ...@@ -361,7 +366,10 @@
// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C // REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C
//#define RA_CONTROL_PANEL //#define RA_CONTROL_PANEL
// I2C Panels /**
* I2C Panels
*/
//#define LCD_I2C_SAINSMART_YWROBOT //#define LCD_I2C_SAINSMART_YWROBOT
// PANELOLU2 LCD with status LEDs, separate encoder and click inputs // PANELOLU2 LCD with status LEDs, separate encoder and click inputs
......
...@@ -230,6 +230,9 @@ ...@@ -230,6 +230,9 @@
// Default stepper release if idle. Set to 0 to deactivate. // Default stepper release if idle. Set to 0 to deactivate.
#define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_STEPPER_DEACTIVE_TIME 60
// Default step delay for any driver
//#define STEPPER_HIGH_LOW_DELAY 1 // Delay in microseconds
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate
#define DEFAULT_MINTRAVELFEEDRATE 0.0 #define DEFAULT_MINTRAVELFEEDRATE 0.0
...@@ -360,7 +363,7 @@ ...@@ -360,7 +363,7 @@
#define MM_PER_ARC_SEGMENT 1 #define MM_PER_ARC_SEGMENT 1
#define N_ARC_CORRECTION 25 #define N_ARC_CORRECTION 25
const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement const unsigned int dropsegments = 5; // everything with less than this number of steps will be ignored as move and joined with the next movement
// Control heater 0 and heater 1 in parallel. // Control heater 0 and heater 1 in parallel.
//#define HEATERS_PARALLEL //#define HEATERS_PARALLEL
......
...@@ -170,7 +170,7 @@ extern float delta_tower3_x, delta_tower3_y; ...@@ -170,7 +170,7 @@ extern float delta_tower3_x, delta_tower3_y;
void calculate_SCARA_forward_Transform(float f_scara[3]); void calculate_SCARA_forward_Transform(float f_scara[3]);
#endif #endif
void prepare_move(); void prepare_move();
void kill(); void kill(const char *);
void Stop(); void Stop();
#ifdef FILAMENT_RUNOUT_SENSOR #ifdef FILAMENT_RUNOUT_SENSOR
......
...@@ -924,7 +924,7 @@ void get_command() { ...@@ -924,7 +924,7 @@ void get_command() {
} }
// If command was e-stop process now // If command was e-stop process now
if (strcmp(command, "M112") == 0) kill(); if (strcmp(command, "M112") == 0) kill(PSTR(MSG_KILLED));
cmd_queue_index_w = (cmd_queue_index_w + 1) % BUFSIZE; cmd_queue_index_w = (cmd_queue_index_w + 1) % BUFSIZE;
commands_in_queue += 1; commands_in_queue += 1;
...@@ -4488,9 +4488,7 @@ inline void gcode_M111() { ...@@ -4488,9 +4488,7 @@ inline void gcode_M111() {
/** /**
* M112: Emergency Stop * M112: Emergency Stop
*/ */
inline void gcode_M112() { inline void gcode_M112() { kill(PSTR(MSG_KILLED)); }
kill();
}
/** /**
* M114: Output current position to serial port * M114: Output current position to serial port
...@@ -6918,7 +6916,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { ...@@ -6918,7 +6916,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
millis_t ms = millis(); millis_t ms = millis();
if (max_inactive_time && ms > previous_cmd_ms + max_inactive_time) kill(); if (max_inactive_time && ms > previous_cmd_ms + max_inactive_time) kill(PSTR(MSG_KILLED));
if (stepper_inactive_time && ms > previous_cmd_ms + stepper_inactive_time if (stepper_inactive_time && ms > previous_cmd_ms + stepper_inactive_time
&& !ignore_stepper_queue && !blocks_queued()) && !ignore_stepper_queue && !blocks_queued())
...@@ -6946,7 +6944,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { ...@@ -6946,7 +6944,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
// Exceeded threshold and we can confirm that it was not accidental // Exceeded threshold and we can confirm that it was not accidental
// KILL the machine // KILL the machine
// ---------------------------------------------------------------- // ----------------------------------------------------------------
if (killCount >= KILL_DELAY) kill(); if (killCount >= KILL_DELAY) kill(PSTR(MSG_KILLED));
#endif #endif
#if HAS_HOME #if HAS_HOME
...@@ -7079,10 +7077,13 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) { ...@@ -7079,10 +7077,13 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
check_axes_activity(); check_axes_activity();
} }
void kill() { void kill(const char *lcd_msg) {
#ifdef ULTRA_LCD
lcd_setalertstatuspgm(lcd_msg);
#endif
cli(); // Stop interrupts cli(); // Stop interrupts
disable_all_heaters(); disable_all_heaters();
disable_all_steppers(); disable_all_steppers();
#if HAS_POWER_SWITCH #if HAS_POWER_SWITCH
...@@ -7090,7 +7091,6 @@ void kill() { ...@@ -7090,7 +7091,6 @@ void kill() {
#endif #endif
ECHO_LM(ER, MSG_ERR_KILLED); ECHO_LM(ER, MSG_ERR_KILLED);
LCD_ALERTMESSAGEPGM(MSG_KILLED);
// FMC small patch to update the LCD before ending // FMC small patch to update the LCD before ending
sei(); // enable interrupts sei(); // enable interrupts
......
...@@ -208,19 +208,29 @@ void CardReader::openFile(char* name, bool read, bool replace_current/*=true*/, ...@@ -208,19 +208,29 @@ void CardReader::openFile(char* name, bool read, bool replace_current/*=true*/,
if (!replace_current) { if (!replace_current) {
if (file_subcall_ctr > SD_PROCEDURE_DEPTH - 1) { if (file_subcall_ctr > SD_PROCEDURE_DEPTH - 1) {
ECHO_LMV(ER, MSG_SD_MAX_DEPTH, SD_PROCEDURE_DEPTH); ECHO_LMV(ER, MSG_SD_MAX_DEPTH, SD_PROCEDURE_DEPTH);
kill(); kill(PSTR(MSG_KILLED));
return; return;
} }
ECHO_SMV(DB, "SUBROUTINE CALL target:\"", name);
ECHO_M("\" parent:\"");
//store current filename and position //store current filename and position
getAbsFilename(filenames[file_subcall_ctr]); getAbsFilename(filenames[file_subcall_ctr]);
ECHO_V(filenames[file_subcall_ctr]);
ECHO_EMV("\" pos", sdpos);
filespos[file_subcall_ctr] = sdpos; filespos[file_subcall_ctr] = sdpos;
file_subcall_ctr++; file_subcall_ctr++;
} }
else {
ECHO_LMV(DB, "Now doing file: ", name);
}
file.close(); file.close();
} }
else { //opening fresh file else { // opening fresh file
file_subcall_ctr = 0; //resetting procedure depth in case user cancels print while in procedure file_subcall_ctr = 0; // resetting procedure depth in case user cancels print while in procedure
ECHO_LMV(DB, "Now fresh file: ", name);
} }
sdprinting = false; sdprinting = false;
...@@ -283,7 +293,7 @@ void CardReader::openFile(char* name, bool read, bool replace_current/*=true*/, ...@@ -283,7 +293,7 @@ void CardReader::openFile(char* name, bool read, bool replace_current/*=true*/,
if(lcd_status) lcd_setstatus(fname); if(lcd_status) lcd_setstatus(fname);
} }
else { else {
ECHO_LMV(ER, MSG_SD_OPEN_FILE_FAIL,fname); ECHO_LMV(ER, MSG_SD_OPEN_FILE_FAIL, fname);
} }
} }
} }
......
...@@ -22,15 +22,20 @@ ...@@ -22,15 +22,20 @@
#define NEWPANEL #define NEWPANEL
#endif #endif
#if defined(miniVIKI) || defined(VIKI2) #if defined(miniVIKI) || defined(VIKI2) || defined(ELB_FULL_GRAPHIC_CONTROLLER)
#define ULTRA_LCD //general LCD support, also 16x2 #define ULTRA_LCD //general LCD support, also 16x2
#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) #define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
#ifdef miniVIKI #ifdef miniVIKI
#define DEFAULT_LCD_CONTRAST 95 #define DEFAULT_LCD_CONTRAST 95
#else #elif defined(VIKI2)
#define DEFAULT_LCD_CONTRAST 40 #define DEFAULT_LCD_CONTRAST 40
#elif defined(ELB_FULL_GRAPHIC_CONTROLLER)
#define DEFAULT_LCD_CONTRAST 110
#define SDCARDDETECTINVERTED
#define SDSLOW
#define U8GLIB_LM6059_AF
#endif #endif
#define ENCODER_PULSES_PER_STEP 4 #define ENCODER_PULSES_PER_STEP 4
......
...@@ -35,15 +35,11 @@ ...@@ -35,15 +35,11 @@
#include "ultralcd_st7920_u8glib_rrd.h" #include "ultralcd_st7920_u8glib_rrd.h"
#include "Configuration.h" #include "Configuration.h"
// save 3120 bytes of PROGMEM by commenting out #define USE_BIG_EDIT_FONT #if !defined(MAPPER_C2C3) && !defined(MAPPER_NON) && defined(USE_BIG_EDIT_FONT)
// we don't have a big font for Cyrillic, Kana #undef USE_BIG_EDIT_FONT
#if defined(MAPPER_C2C3) || defined(MAPPER_NON)
//#define USE_BIG_EDIT_FONT
#endif #endif
// If you have spare 2300Byte of progmem and want to use a
// smaller font on the Info-screen uncomment the next line.
//#define USE_SMALL_INFOFONT
#ifdef USE_SMALL_INFOFONT #ifdef USE_SMALL_INFOFONT
#include "dogm_font_data_6x9_marlin.h" #include "dogm_font_data_6x9_marlin.h"
#define FONT_STATUSMENU_NAME u8g_font_6x9 #define FONT_STATUSMENU_NAME u8g_font_6x9
...@@ -126,6 +122,9 @@ ...@@ -126,6 +122,9 @@
#elif defined(VIKI2) || defined(miniVIKI) #elif defined(VIKI2) || defined(miniVIKI)
// Mini Viki and Viki 2.0 LCD, ST7565 controller as well // Mini Viki and Viki 2.0 LCD, ST7565 controller as well
U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0); U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0);
#elif defined(U8GLIB_LM6059_AF)
// Based on the Adafruit ST7565 (http://www.adafruit.com/products/250)
U8GLIB_LM6059 u8g(DOGLCD_CS, DOGLCD_A0);
#else #else
// for regular DOGM128 display with HW-SPI // for regular DOGM128 display with HW-SPI
U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
......
...@@ -143,6 +143,7 @@ ...@@ -143,6 +143,7 @@
#define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Babystep Z" #define MSG_BABYSTEP_Z "Babystep Z"
#define MSG_ENDSTOP_ABORT "Endstop abort" #define MSG_ENDSTOP_ABORT "Endstop abort"
#define MSG_END_DAY "days"
#define MSG_END_HOUR "hours" #define MSG_END_HOUR "hours"
#define MSG_END_MINUTE "minutes" #define MSG_END_MINUTE "minutes"
#define MSG_HEATING_FAILED_LCD "Heating failed" #define MSG_HEATING_FAILED_LCD "Heating failed"
......
...@@ -143,6 +143,7 @@ ...@@ -143,6 +143,7 @@
#define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Babystep Z" #define MSG_BABYSTEP_Z "Babystep Z"
#define MSG_ENDSTOP_ABORT "Finecorsa abort" #define MSG_ENDSTOP_ABORT "Finecorsa abort"
#define MSG_END_DAY "giorni"
#define MSG_END_HOUR "ore" #define MSG_END_HOUR "ore"
#define MSG_END_MINUTE "minuti" #define MSG_END_MINUTE "minuti"
#define MSG_HEATING_FAILED_LCD "Heating failed" #define MSG_HEATING_FAILED_LCD "Heating failed"
......
/**
* pins.h
*/
/**************************************************************************************** /****************************************************************************************
* 10 BOARD_GEN7_CUSTOM - Gen7 custom (Alfons3 Version) * 10 BOARD_GEN7_CUSTOM - Gen7 custom (Alfons3 Version)
* 11 BOARD_GEN7_12 - Gen7 v1.1, v1.2 * 11 BOARD_GEN7_12 - Gen7 v1.1, v1.2
...@@ -69,7 +73,7 @@ ...@@ -69,7 +73,7 @@
#include "boards.h" #include "boards.h"
/// Preset optional pins // Preset optional pins
#define X_MS1_PIN -1 #define X_MS1_PIN -1
#define X_MS2_PIN -1 #define X_MS2_PIN -1
#define Y_MS1_PIN -1 #define Y_MS1_PIN -1
...@@ -968,6 +972,17 @@ ...@@ -968,6 +972,17 @@
#define BTN_ENC -1 #define BTN_ENC -1
#define LCD_SDSS 53 #define LCD_SDSS 53
#define SDCARDDETECT 49 #define SDCARDDETECT 49
#elif defined(ELB_FULL_GRAPHIC_CONTROLLER)
#define BTN_EN1 35 // reverse if the encoder turns the wrong way.
#define BTN_EN2 37
#define BTN_ENC 31
#define SDCARDDETECT 49
#define LCD_SDSS 53
#define KILL_PIN 41
#define BEEPER 23
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_PIN_BL 33
#else #else
//arduino pin which triggers an piezzo beeper //arduino pin which triggers an piezzo beeper
#define BEEPER 33 // Beeper on AUX-4 #define BEEPER 33 // Beeper on AUX-4
...@@ -1034,7 +1049,6 @@ ...@@ -1034,7 +1049,6 @@
/**************************************************************************************** /****************************************************************************************
* 34 * 34
* RAMPS 1.3 / 1.4 * RAMPS 1.3 / 1.4
...@@ -1161,6 +1175,17 @@ ...@@ -1161,6 +1175,17 @@
#define BTN_ENC -1 #define BTN_ENC -1
#define LCD_SDSS 53 #define LCD_SDSS 53
#define SDCARDDETECT 49 #define SDCARDDETECT 49
#elif defined(ELB_FULL_GRAPHIC_CONTROLLER)
#define BTN_EN1 35 // reverse if the encoder turns the wrong way.
#define BTN_EN2 37
#define BTN_ENC 31
#define SDCARDDETECT 49
#define LCD_SDSS 53
#define KILL_PIN 41
#define BEEPER 23
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_PIN_BL 33
#else #else
//arduino pin which triggers an piezzo beeper //arduino pin which triggers an piezzo beeper
#define BEEPER 33 // Beeper on AUX-4 #define BEEPER 33 // Beeper on AUX-4
...@@ -1227,7 +1252,6 @@ ...@@ -1227,7 +1252,6 @@
/**************************************************************************************** /****************************************************************************************
* 35 * 35
* RAMPS 1.3 / 1.4 * RAMPS 1.3 / 1.4
...@@ -1354,6 +1378,17 @@ ...@@ -1354,6 +1378,17 @@
#define BTN_ENC -1 #define BTN_ENC -1
#define LCD_SDSS 53 #define LCD_SDSS 53
#define SDCARDDETECT 49 #define SDCARDDETECT 49
#elif defined(ELB_FULL_GRAPHIC_CONTROLLER)
#define BTN_EN1 35 // reverse if the encoder turns the wrong way.
#define BTN_EN2 37
#define BTN_ENC 31
#define SDCARDDETECT 49
#define LCD_SDSS 53
#define KILL_PIN 41
#define BEEPER 23
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_PIN_BL 33
#else #else
//arduino pin which triggers an piezzo beeper //arduino pin which triggers an piezzo beeper
#define BEEPER 33 // Beeper on AUX-4 #define BEEPER 33 // Beeper on AUX-4
...@@ -1420,7 +1455,6 @@ ...@@ -1420,7 +1455,6 @@
/**************************************************************************************** /****************************************************************************************
* 36 * 36
* RAMPS 1.3 / 1.4 * RAMPS 1.3 / 1.4
...@@ -1547,6 +1581,17 @@ ...@@ -1547,6 +1581,17 @@
#define BTN_ENC -1 #define BTN_ENC -1
#define LCD_SDSS 53 #define LCD_SDSS 53
#define SDCARDDETECT 49 #define SDCARDDETECT 49
#elif defined(ELB_FULL_GRAPHIC_CONTROLLER)
#define BTN_EN1 35 // reverse if the encoder turns the wrong way.
#define BTN_EN2 37
#define BTN_ENC 31
#define SDCARDDETECT 49
#define LCD_SDSS 53
#define KILL_PIN 41
#define BEEPER 23
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_PIN_BL 33
#else #else
//arduino pin which triggers an piezzo beeper //arduino pin which triggers an piezzo beeper
#define BEEPER 33 // Beeper on AUX-4 #define BEEPER 33 // Beeper on AUX-4
...@@ -2336,6 +2381,21 @@ ...@@ -2336,6 +2381,21 @@
#endif //REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER #endif //REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#ifdef NUM_SERVOS
#define SERVO0_PIN 36
#if NUM_SERVOS > 1
#define SERVO1_PIN 40
#endif
#if NUM_SERVOS > 2
#define SERVO2_PIN 41
#endif
#if NUM_SERVOS > 3
#define SERVO3_PIN -1
#endif
#endif
#endif //ALLIGATOR #endif //ALLIGATOR
/****************************************************************************************/ /****************************************************************************************/
......
...@@ -649,6 +649,9 @@ ISR(TIMER1_COMPA_vect) { ...@@ -649,6 +649,9 @@ ISR(TIMER1_COMPA_vect) {
STEP_START(e,E); STEP_START(e,E);
#endif #endif
#ifdef STEPPER_HIGH_LOW_DELAY
delayMicroseconds(STEPPER_HIGH_LOW_DELAY);
#endif
#define STEP_END(axis, AXIS) \ #define STEP_END(axis, AXIS) \
if (_COUNTER(axis) > 0) { \ if (_COUNTER(axis) > 0) { \
......
...@@ -56,8 +56,8 @@ float current_temperature_bed = 0.0; ...@@ -56,8 +56,8 @@ float current_temperature_bed = 0.0;
#ifdef PIDTEMPBED #ifdef PIDTEMPBED
float bedKp = DEFAULT_bedKp; float bedKp = DEFAULT_bedKp;
float bedKi = (DEFAULT_bedKi*PID_dT); float bedKi = (DEFAULT_bedKi * PID_dT);
float bedKd = (DEFAULT_bedKd/PID_dT); float bedKd = (DEFAULT_bedKd / PID_dT);
#endif //PIDTEMPBED #endif //PIDTEMPBED
#ifdef FAN_SOFT_PWM #ifdef FAN_SOFT_PWM
...@@ -706,7 +706,7 @@ static float analog2temp(int raw, uint8_t e) { ...@@ -706,7 +706,7 @@ static float analog2temp(int raw, uint8_t e) {
#endif #endif
{ {
ECHO_LVM(ER, (int)e, MSG_INVALID_EXTRUDER_NUM); ECHO_LVM(ER, (int)e, MSG_INVALID_EXTRUDER_NUM);
kill(); kill(PSTR(MSG_KILLED));
return 0.0; return 0.0;
} }
......
...@@ -39,17 +39,13 @@ void watchdog_reset() ...@@ -39,17 +39,13 @@ void watchdog_reset()
//=================================== ISR =================================== //=================================== ISR ===================================
//=========================================================================== //===========================================================================
//Watchdog timer interrupt, called if main program blocks >1sec and manual reset is enabled. // Watchdog timer interrupt, called if main program blocks >1sec and manual reset is enabled.
#ifdef WATCHDOG_RESET_MANUAL #ifdef WATCHDOG_RESET_MANUAL
ISR(WDT_vect) ISR(WDT_vect) {
{
//TODO: This message gets overwritten by the kill() call
LCD_ALERTMESSAGEPGM("ERR:Please Reset");//16 characters so it fits on a 16x2 display
lcd_update();
ECHO_LM(ER, MSG_WATCHDOG_RESET); ECHO_LM(ER, MSG_WATCHDOG_RESET);
kill(); //kill blocks kill(PSTR("ERR:Please Reset")); // kill blocks //16 characters so it fits on a 16x2 display
while(1); //wait for user or serial reset while(1); // wait for user or serial reset
} }
#endif//RESET_MANUAL #endif // RESET_MANUAL
#endif//USE_WATCHDOG #endif // USE_WATCHDOG
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment