increase write parameter speed

pull/137/head
gabrielburnworth 2020-02-18 14:24:00 -08:00 committed by Gabriel Burnworth
parent 88f19fb344
commit a6834d6cea
3 changed files with 36 additions and 1 deletions

View File

@ -20,6 +20,7 @@ ParameterList::ParameterList()
// unless the eeprom is disabled with a parameter
int paramChangeNr = 0;
int tmcParamChangeNr = 0;
int paramVersion = readValueEeprom(0);
if (paramVersion <= 0)
@ -80,6 +81,28 @@ int ParameterList::writeValue(int id, long value)
paramChangeNr = 0;
}
if (tmcParamChangeNr < 9999)
{
if (
id == 81 ||
id == 82 ||
id == 83 ||
id == 85 ||
id == 86 ||
id == 87 ||
id == 91 ||
id == 92 ||
id == 93
)
{
tmcParamChangeNr++;
}
}
else
{
tmcParamChangeNr = 0;
}
// Check if the value is a valid parameter
if (validParam(id))
{
@ -147,6 +170,11 @@ int ParameterList::paramChangeNumber()
return paramChangeNr;
}
int ParameterList::tmcParamChangeNumber()
{
return tmcParamChangeNr;
}
// ===== eeprom handling ====
long ParameterList::readValueEeprom(int id)

View File

@ -190,6 +190,7 @@ public:
void sendConfigToModules();
int paramChangeNumber();
int tmcParamChangeNumber();
private:
ParameterList();
@ -197,6 +198,7 @@ private:
void operator=(ParameterList const &);
int paramChangeNr;
int tmcParamChangeNr;
};
#endif /* PARAMETERLIST_H_ */

View File

@ -28,6 +28,7 @@ unsigned long pinGuardLastCheck;
unsigned long pinGuardCurrentTime;
int lastParamChangeNr = 0;
int lastTmcParamChangeNr = 0;
// Blink led routine used for testing
bool blink = false;
@ -285,7 +286,11 @@ void checkParamsChanged()
#if defined(FARMDUINO_EXP_V20) || defined(FARMDUINO_V30)
Movement::getInstance()->loadSettingsTMC2130();
if (lastTmcParamChangeNr != ParameterList::getInstance()->tmcParamChangeNumber())
{
lastTmcParamChangeNr = ParameterList::getInstance()->tmcParamChangeNumber();
Movement::getInstance()->loadSettingsTMC2130();
}
#endif
Movement::getInstance()->loadSettings();