Use loop to enquecommand_P() in first layer calibration.
This commit is contained in:
parent
27145204ed
commit
0c9121e99e
|
|
@ -8,27 +8,28 @@
|
||||||
#include "Configuration_prusa.h"
|
#include "Configuration_prusa.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "Marlin.h"
|
#include "Marlin.h"
|
||||||
|
#include "mmu.h"
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
|
|
||||||
|
|
||||||
static const char cmd_0[] PROGMEM = "M107";
|
static const char cmd_preheat_0[] PROGMEM = "M107";
|
||||||
static const char cmd_1[] PROGMEM = "M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP);
|
static const char cmd_preheat_1[] PROGMEM = "M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP);
|
||||||
static const char cmd_2[] PROGMEM = "M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP);
|
static const char cmd_preheat_2[] PROGMEM = "M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP);
|
||||||
static const char cmd_3[] PROGMEM = "M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP);
|
static const char cmd_preheat_3[] PROGMEM = "M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP);
|
||||||
static const char cmd_4[] PROGMEM = "M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP);
|
static const char cmd_preheat_4[] PROGMEM = "M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP);
|
||||||
static const char cmd_5[] PROGMEM = "G28";
|
static const char cmd_preheat_5[] PROGMEM = "G28";
|
||||||
static const char cmd_6[] PROGMEM = "G92 E0.0";
|
static const char cmd_preheat_6[] PROGMEM = "G92 E0.0";
|
||||||
|
|
||||||
|
|
||||||
static const char * const preheat_cmd[] PROGMEM =
|
static const char * const preheat_cmd[] PROGMEM =
|
||||||
{
|
{
|
||||||
cmd_0,
|
cmd_preheat_0,
|
||||||
cmd_1,
|
cmd_preheat_1,
|
||||||
cmd_2,
|
cmd_preheat_2,
|
||||||
cmd_3,
|
cmd_preheat_3,
|
||||||
cmd_4,
|
cmd_preheat_4,
|
||||||
cmd_5, //call MSG_M117_V2_CALIBRATION before
|
cmd_preheat_5, //call MSG_M117_V2_CALIBRATION before
|
||||||
cmd_6,
|
cmd_preheat_6,
|
||||||
};
|
};
|
||||||
|
|
||||||
void lay1cal_preheat()
|
void lay1cal_preheat()
|
||||||
|
|
@ -40,3 +41,55 @@ void lay1cal_preheat()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char cmd_intro_mmu_0[] PROGMEM = "M83";
|
||||||
|
static const char cmd_intro_mmu_1[] PROGMEM = "G1 Y-3.0 F1000.0";
|
||||||
|
static const char cmd_intro_mmu_2[] PROGMEM = "G1 Z0.4 F1000.0";
|
||||||
|
static const char cmd_intro_mmu_3[] PROGMEM = "G1 X55.0 E32.0 F1073.0"; // call T code before
|
||||||
|
static const char cmd_intro_mmu_4[] PROGMEM = "G1 X5.0 E32.0 F1800.0";
|
||||||
|
static const char cmd_intro_mmu_5[] PROGMEM = "G1 X55.0 E8.0 F2000.0";
|
||||||
|
static const char cmd_intro_mmu_6[] PROGMEM = "G1 Z0.3 F1000.0";
|
||||||
|
static const char cmd_intro_mmu_7[] PROGMEM = "G92 E0.0";
|
||||||
|
static const char cmd_intro_mmu_8[] PROGMEM = "G1 X240.0 E25.0 F2200.0";
|
||||||
|
static const char cmd_intro_mmu_9[] PROGMEM = "G1 Y-2.0 F1000.0";
|
||||||
|
static const char cmd_intro_mmu_10[] PROGMEM = "G1 X55.0 E25 F1400.0";
|
||||||
|
static const char cmd_intro_mmu_11[] PROGMEM = "G1 Z0.20 F1000.0";
|
||||||
|
static const char cmd_intro_mmu_12[] PROGMEM = "G1 X5.0 E4.0 F1000.0";
|
||||||
|
|
||||||
|
static const char * const intro_mmu_cmd[] PROGMEM =
|
||||||
|
{
|
||||||
|
cmd_intro_mmu_0,
|
||||||
|
cmd_intro_mmu_1,
|
||||||
|
cmd_intro_mmu_2,
|
||||||
|
cmd_intro_mmu_3, // call T code before
|
||||||
|
cmd_intro_mmu_4,
|
||||||
|
cmd_intro_mmu_5,
|
||||||
|
cmd_intro_mmu_6,
|
||||||
|
cmd_intro_mmu_7,
|
||||||
|
cmd_intro_mmu_8,
|
||||||
|
cmd_intro_mmu_9,
|
||||||
|
cmd_intro_mmu_10,
|
||||||
|
cmd_intro_mmu_11,
|
||||||
|
cmd_intro_mmu_12,
|
||||||
|
};
|
||||||
|
|
||||||
|
void lay1cal_intro_line(char *cmd_buffer, uint8_t filament)
|
||||||
|
{
|
||||||
|
if (mmu_enabled)
|
||||||
|
{
|
||||||
|
for (uint8_t i = 0; i < (sizeof(intro_mmu_cmd)/sizeof(intro_mmu_cmd[0])); ++i)
|
||||||
|
{
|
||||||
|
if (3 == i)
|
||||||
|
{
|
||||||
|
sprintf_P(cmd_buffer, PSTR("T%d"), filament);
|
||||||
|
enquecommand(cmd_buffer);
|
||||||
|
}
|
||||||
|
enquecommand_P(static_cast<char*>(pgm_read_ptr(&intro_mmu_cmd[i])));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
enquecommand_P(PSTR("G1 X60.0 E9.0 F1000.0"));
|
||||||
|
enquecommand_P(PSTR("G1 X100.0 E12.5 F1000.0"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,10 @@
|
||||||
|
|
||||||
#ifndef FIRMWARE_FIRST_LAY_CAL_H_
|
#ifndef FIRMWARE_FIRST_LAY_CAL_H_
|
||||||
#define FIRMWARE_FIRST_LAY_CAL_H_
|
#define FIRMWARE_FIRST_LAY_CAL_H_
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
void lay1cal_preheat();
|
void lay1cal_preheat();
|
||||||
|
void lay1cal_intro_line(char *cmd_buffer, uint8_t filament);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1396,30 +1396,7 @@ void lcd_commands()
|
||||||
menu_depth = 0;
|
menu_depth = 0;
|
||||||
menu_submenu(lcd_babystep_z);
|
menu_submenu(lcd_babystep_z);
|
||||||
|
|
||||||
if (mmu_enabled)
|
lay1cal_intro_line(cmd1, filament);
|
||||||
{
|
|
||||||
enquecommand_P(PSTR("M83")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 Y-3.0 F1000.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 Z0.4 F1000.0")); //intro line
|
|
||||||
strcpy(cmd1, "T");
|
|
||||||
strcat(cmd1, itostr3left(filament));
|
|
||||||
enquecommand(cmd1);
|
|
||||||
enquecommand_P(PSTR("G1 X55.0 E32.0 F1073.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 X5.0 E32.0 F1800.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 X55.0 E8.0 F2000.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 Z0.3 F1000.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G92 E0.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 X240.0 E25.0 F2200.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 Y-2.0 F1000.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 X55.0 E25 F1400.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 Z0.20 F1000.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 X5.0 E4.0 F1000.0")); //intro line
|
|
||||||
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
enquecommand_P(PSTR("G1 X60.0 E9.0 F1000.0")); //intro line
|
|
||||||
enquecommand_P(PSTR("G1 X100.0 E12.5 F1000.0")); //intro line
|
|
||||||
}
|
|
||||||
|
|
||||||
lcd_commands_step = 8;
|
lcd_commands_step = 8;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue