Merge pull request #119 from XPila/MK3

Mk3
This commit is contained in:
XPila 2017-11-29 03:11:12 +01:00 committed by GitHub
commit 26cdb75cf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 89296 additions and 13483 deletions

View File

@ -9,7 +9,7 @@
// Firmware version
#define FW_version "3.1.1-RC1"
#define FW_build 117
#define FW_build 121
//#define FW_build --BUILD-NUMBER--
#define FW_version_build FW_version " b" STR(FW_build)
@ -66,6 +66,8 @@
#define EEPROM_FAN_CHECK_ENABLED (EEPROM_UVLO_FAN_SPEED - 1)
#define EEPROM_UVLO_MESH_BED_LEVELING (EEPROM_FAN_CHECK_ENABLED - 9*2)
#define EEPROM_UVLO_Z_MICROSTEPS (EEPROM_UVLO_MESH_BED_LEVELING - 2)
#define EEPROM_UVLO_E_ABS (EEPROM_UVLO_Z_MICROSTEPS - 1)
#define EEPROM_UVLO_CURRENT_POSITION_E (EEPROM_UVLO_E_ABS - 4) //float for current position in E
// Crash detection mode EEPROM setting
#define EEPROM_CRASH_DET (EEPROM_UVLO_MESH_BED_LEVELING-12)

File diff suppressed because it is too large Load Diff

View File

@ -7107,6 +7107,10 @@ void uvlo_()
// are in action.
planner_abort_hard();
// Store the current extruder position.
eeprom_update_float((float*)(EEPROM_UVLO_CURRENT_POSITION_E), st_get_position_mm(E_AXIS));
eeprom_update_byte((uint8_t*)EEPROM_UVLO_E_ABS, axis_relative_modes[3]?0:1);
// Clean the input command queue.
cmdqueue_reset();
card.sdprinting = false;
@ -7255,6 +7259,17 @@ void recover_print(uint8_t automatic) {
enquecommand_P(PSTR("G1 E5 F120")); //Extrude some filament to stabilize pessure
}
enquecommand_P(PSTR("G1 E" STRINGIFY(-DEFAULT_RETRACTION)" F480"));
if (eeprom_read_byte((uint8_t*)EEPROM_UVLO_E_ABS))
{
float extruder_abs_pos = eeprom_read_float((float*)(EEPROM_UVLO_CURRENT_POSITION_E));
enquecommand_P(PSTR("M82")); //E axis abslute mode
// current_position[E_AXIS] = extruder_abs_pos;
// plan_set_e_position(extruder_abs_pos);
sprintf_P(cmd, PSTR("G92 E"));
dtostrf(extruder_abs_pos, 6, 3, cmd + strlen(cmd));
enquecommand(cmd);
}
// Mark the power panic status as inactive.
eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0);
/*while ((abs(degHotend(0)- target_temperature[0])>5) || (abs(degBed() -target_temperature_bed)>3)) { //wait for heater and bed to reach target temp
@ -7271,6 +7286,8 @@ void recover_print(uint8_t automatic) {
SERIAL_ECHOPGM("current_position[Z_AXIS]:");
MYSERIAL.print(current_position[Z_AXIS]);
SERIAL_ECHOPGM("current_position[E_AXIS]:");
MYSERIAL.print(current_position[E_AXIS]);
}
void recover_machine_state_after_power_panic()

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -50,8 +50,8 @@ bool fsensor_enable()
// fsensor_ignore_error = true;
fsensor_M600 = false;
fsensor_err_cnt = 0;
eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, fsensor_enabled?0xFF:0x00);
FSensorStateMenu = fsensor_enabled?true:false;
eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, fsensor_enabled?0x01:0x00);
FSensorStateMenu = fsensor_enabled?1:0;
return fsensor_enabled;
}

View File

@ -39,6 +39,8 @@ int pat9125_init(unsigned char xres, unsigned char yres)
pat9125_yres = yres;
pat9125_PID1 = pat9125_rd_reg(PAT9125_PID1);
pat9125_PID2 = pat9125_rd_reg(PAT9125_PID2);
// pat9125_PID1 = 0x31;
// pat9125_PID2 = 0x91;
if ((pat9125_PID1 != 0x31) || (pat9125_PID2 != 0x91))
{
return 0;

View File

@ -3271,8 +3271,7 @@ static void lcd_fsensor_state_set()
if (FSensorStateMenu==0) {
fsensor_disable();
}else{
if (!fsensor_enable());
FSensorStateMenu = 0;
fsensor_enable();
}
if (IS_SD_PRINTING || is_usb_printing) lcd_goto_menu(lcd_tune_menu, 7);
else lcd_goto_menu(lcd_settings_menu, 7);