static void abortPrint()
{
    postMenuCheck = NULL;
    lifetime_stats_print_end();
    doCooldown();

    clear_command_queue();
    char buffer[32];
    if (card.sdprinting)
    {
    	// we're not printing any more
        card.sdprinting = false;
    }

    if (primed)
    	{
    	// set up the end of print retraction
    	sprintf_P(buffer, PSTR("G92 E%i"), int(((float)END_OF_PRINT_RETRACTION) / volume_to_filament_length[active_extruder]));
    	enquecommand(buffer);
    	// perform the retraction at the standard retract speed
    	sprintf_P(buffer, PSTR("G1 F%i E0"), int(retract_feedrate));
    	enquecommand(buffer);

    	// no longer primed
    	primed = false;
    	}
// joris dont home Z with z-unlimited after print
    enquecommand_P(PSTR("G28 X0 Y0"));
//    enquecommand_P(PSTR("G28"));
// joris dont release stepper Z with z-unlimited after print
    enquecommand_P(PSTR("M84 X Y"));
//    enquecommand_P(PSTR("M84"));
}
static void abortPrint()
{
    postMenuCheck = NULL;
    doCooldown();

    clear_command_queue();
    char buffer[32];
    if (card.sdprinting)
    {
        card.sdprinting = false;
        sprintf_P(buffer, PSTR("G92 E%i"), int(20.0 / volume_to_filament_length[active_extruder]));
        enquecommand(buffer);
        enquecommand_P(PSTR("G1 F1500 E0"));
    }
    enquecommand_P(PSTR("G28"));
    enquecommand_P(PSTR("M84"));
}