Merge branch 'MK3' into MK3_random_patches
This commit is contained in:
commit
f3953d7c83
|
|
@ -16,8 +16,8 @@ extern uint16_t nPrinterType;
|
||||||
extern PGM_P sPrinterName;
|
extern PGM_P sPrinterName;
|
||||||
|
|
||||||
// Firmware version
|
// Firmware version
|
||||||
#define FW_VERSION "3.9.1"
|
#define FW_VERSION "3.9.2"
|
||||||
#define FW_COMMIT_NR 3518
|
#define FW_COMMIT_NR 3524
|
||||||
// FW_VERSION_UNKNOWN means this is an unofficial build.
|
// FW_VERSION_UNKNOWN means this is an unofficial build.
|
||||||
// The firmware should only be checked into github with this symbol.
|
// The firmware should only be checked into github with this symbol.
|
||||||
#define FW_DEV_VERSION FW_VERSION_UNKNOWN
|
#define FW_DEV_VERSION FW_VERSION_UNKNOWN
|
||||||
|
|
|
||||||
|
|
@ -8782,26 +8782,40 @@ static void lcd_selftest_screen_step(int _row, int _col, int _state, const char
|
||||||
/** Menu action functions **/
|
/** Menu action functions **/
|
||||||
|
|
||||||
static bool check_file(const char* filename) {
|
static bool check_file(const char* filename) {
|
||||||
if (farm_mode)
|
if (farm_mode) return true;
|
||||||
return true;
|
|
||||||
bool result = false;
|
|
||||||
uint32_t filesize;
|
|
||||||
card.openFile((char*)filename, true);
|
card.openFile((char*)filename, true);
|
||||||
filesize = card.getFileSize();
|
bool result = false;
|
||||||
|
const uint32_t filesize = card.getFileSize();
|
||||||
|
uint32_t startPos = 0;
|
||||||
|
const uint16_t bytesToCheck = min(END_FILE_SECTION, filesize);
|
||||||
|
uint8_t blocksPrinted = 0;
|
||||||
if (filesize > END_FILE_SECTION) {
|
if (filesize > END_FILE_SECTION) {
|
||||||
card.setIndex(filesize - END_FILE_SECTION);
|
startPos = filesize - END_FILE_SECTION;
|
||||||
|
card.setIndex(startPos);
|
||||||
}
|
}
|
||||||
cmdqueue_reset();
|
cmdqueue_reset();
|
||||||
cmdqueue_serial_disabled = true;
|
cmdqueue_serial_disabled = true;
|
||||||
|
|
||||||
|
lcd_clear();
|
||||||
|
lcd_puts_at_P(0, 1, _i("Checking file"));////c=20 r=1
|
||||||
|
lcd_set_cursor(0, 2);
|
||||||
while (!card.eof() && !result) {
|
while (!card.eof() && !result) {
|
||||||
|
for (; blocksPrinted < (((card.get_sdpos() - startPos) * LCD_WIDTH) / bytesToCheck); blocksPrinted++)
|
||||||
|
lcd_print('\xFF'); //simple progress bar
|
||||||
|
|
||||||
card.sdprinting = true;
|
card.sdprinting = true;
|
||||||
get_command();
|
get_command();
|
||||||
result = check_commands();
|
result = check_commands();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (; blocksPrinted < LCD_WIDTH; blocksPrinted++)
|
||||||
|
lcd_print('\xFF'); //simple progress bar
|
||||||
|
_delay(100); //for the user to see the end of the progress bar.
|
||||||
|
|
||||||
|
|
||||||
cmdqueue_serial_disabled = false;
|
cmdqueue_serial_disabled = false;
|
||||||
card.printingHasFinished();
|
card.printingHasFinished();
|
||||||
|
|
||||||
strncpy_P(lcd_status_message, _T(WELCOME_MSG), LCD_WIDTH);
|
strncpy_P(lcd_status_message, _T(WELCOME_MSG), LCD_WIDTH);
|
||||||
lcd_finishstatus();
|
lcd_finishstatus();
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
|
|
@ -478,7 +478,7 @@ int16_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, u
|
||||||
|
|
||||||
#define MAX_DIAMETR 600
|
#define MAX_DIAMETR 600
|
||||||
#define XYZCAL_FIND_CENTER_DIAGONAL
|
#define XYZCAL_FIND_CENTER_DIAGONAL
|
||||||
|
int8_t xyzcal_find_point_center2A(int16_t x0, int16_t y0, int16_t z0, uint16_t delay_us);
|
||||||
int8_t xyzcal_find_point_center2(uint16_t delay_us)
|
int8_t xyzcal_find_point_center2(uint16_t delay_us)
|
||||||
{
|
{
|
||||||
printf_P(PSTR("xyzcal_find_point_center2\n"));
|
printf_P(PSTR("xyzcal_find_point_center2\n"));
|
||||||
|
|
@ -494,7 +494,25 @@ int8_t xyzcal_find_point_center2(uint16_t delay_us)
|
||||||
xyzcal_lineXYZ_to(_X, _Y, z0 + 400, 500, -1);
|
xyzcal_lineXYZ_to(_X, _Y, z0 + 400, 500, -1);
|
||||||
xyzcal_lineXYZ_to(_X, _Y, z0 - 400, 500, 1);
|
xyzcal_lineXYZ_to(_X, _Y, z0 - 400, 500, 1);
|
||||||
|
|
||||||
z0 = _Z - 20;
|
if (has_temperature_compensation()){
|
||||||
|
z0 = _Z - 20; // normal PINDA
|
||||||
|
return xyzcal_find_point_center2A(x0, y0, z0, delay_us);
|
||||||
|
} else {
|
||||||
|
// try searching harder, each PINDA is different
|
||||||
|
for(z0 = _Z - 20; z0 <= _Z + 140; z0 += 20 ){ // alternate PINDA
|
||||||
|
int8_t rv = xyzcal_find_point_center2A(x0, y0, z0, delay_us);
|
||||||
|
printf_P(PSTR(" z0=%d"), z0);
|
||||||
|
if( rv != 0 ){
|
||||||
|
printf_P(PSTR("ok\n"));
|
||||||
|
return rv;
|
||||||
|
} else {
|
||||||
|
printf_P(PSTR("fail\n"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t xyzcal_find_point_center2A(int16_t x0, int16_t y0, int16_t z0, uint16_t delay_us){
|
||||||
xyzcal_lineXYZ_to(_X, _Y, z0, 500, 0);
|
xyzcal_lineXYZ_to(_X, _Y, z0, 500, 0);
|
||||||
|
|
||||||
// xyzcal_lineXYZ_to(x0, y0, z0 - 100, 500, 1);
|
// xyzcal_lineXYZ_to(x0, y0, z0 - 100, 500, 1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue