@RAyWB
I think the empty customevents.h you created needs this
extern bool Custom_GCode(GCode *com);
extern bool Custom_MCode(GCode *com);
also I want to ask you about what I hace done
this is the custom M function in customeventsimpl.h I created
//#########################################################################################
//#### MCode addition/replacement
//#########################################################################################
float memoryX1 = IGNORE_COORDINATE;
float memoryX2 = IGNORE_COORDINATE;
float memoryX3 = IGNORE_COORDINATE;
float memoryY1 = IGNORE_COORDINATE;
float memoryY2 = IGNORE_COORDINATE;
float memoryY3 = IGNORE_COORDINATE;
float memoryZ1 = IGNORE_COORDINATE;
float memoryZ2 = IGNORE_COORDINATE;
float memoryZ3 = IGNORE_COORDINATE;
bool Custom_MCode(GCode *com)
{
switch(com->M) {
case 480:
#if EEPROM_MODE !=0
if(com->hasP()){
case 1:
realPosition(memoryX1,memoryY1,memoryZ1);
HAL::eprGetFloat(epr_memoryX1,memoryX1);
HAL::eprGetFloat(epr_memoryY1,memoryY1);
HAL::eprGetFloat(epr_memoryZ1,memoryZ1);
Com::config(PSTR("X1"),memoryX1);
Com::config(PSTR("Y1"),memoryY1);
Com::config(PSTR("Z1"),memoryZ1);
break;
case 2:
realPosition(memoryX2,memoryY2,memoryZ2);
HAL::eprGetFloat(epr_memoryX2,memoryX2);
HAL::eprGetFloat(epr_memoryY2,memoryY2);
HAL::eprGetFloat(epr_memoryZ2,memoryZ2);
Com::config(PSTR("X2"),memoryX2);
Com::config(PSTR("Y2"),memoryY2);
Com::config(PSTR("Z2"),memoryZ2);
break;
case 3:
realPosition(memoryX3,memoryY3,memoryZ3);
HAL::eprGetFloat(epr_memoryX3,memoryX3);
HAL::eprGetFloat(epr_memoryY3,memoryY3);
HAL::eprGetFloat(epr_memoryZ3,memoryZ3);
Com::config(PSTR("X3"),memoryX3);
Com::config(PSTR("Y3"),memoryY3);
Com::config(PSTR("Z3"),memoryZ3);
break;
}
#else Com::printErrorF(Com::tNoEEPROMSupport);
#endif
break;
default:
return false;
}
return true;
}
also in customevents.h i added the following
extern bool Custom_GCode(GCode *com);
extern bool Custom_MCode(GCode *com);
static float memoryX1;
static float memoryX2;
static float memoryX3;
static float memoryY1;
static float memoryY2;
static float memoryY3;
static float memoryZ1;
static float memoryZ2;
static float memoryZ3;
#define epr_memoryX1 400
#define epr_memoryX2 401
#define epr_memoryX3 402
#define epr_memoryY1 403
#define epr_memoryY2 404
#define epr_memoryY3 405
#define epr_memoryZ1 406
#define epr_memoryZ2 407
#define epr_memoryZ3 408
#undef EVENT_UNHANDLED_M_CODE(c)
#define EVENT_UNHANDLED_M_CODE(c) Custom_MCode(c)
but it's giving me an error wile compiling !!
I didn't expect to make work from the first time but here is my first try to just save the coordinates