|
|
@ -318,6 +318,10 @@ bool MyMesh::shouldOverwriteWhenFull() const { |
|
|
return (_prefs.autoadd_config & AUTO_ADD_OVERWRITE_OLDEST) != 0; |
|
|
return (_prefs.autoadd_config & AUTO_ADD_OVERWRITE_OLDEST) != 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
uint8_t MyMesh::getAutoAddMaxHops() const { |
|
|
|
|
|
return _prefs.autoadd_max_hops; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void MyMesh::onContactOverwrite(const uint8_t* pub_key) { |
|
|
void MyMesh::onContactOverwrite(const uint8_t* pub_key) { |
|
|
_store->deleteBlobByKey(pub_key, PUB_KEY_SIZE); // delete from storage
|
|
|
_store->deleteBlobByKey(pub_key, PUB_KEY_SIZE); // delete from storage
|
|
|
if (_serial->isConnected()) { |
|
|
if (_serial->isConnected()) { |
|
|
@ -1785,12 +1789,16 @@ void MyMesh::handleCmdFrame(size_t len) { |
|
|
} |
|
|
} |
|
|
} else if (cmd_frame[0] == CMD_SET_AUTOADD_CONFIG) { |
|
|
} else if (cmd_frame[0] == CMD_SET_AUTOADD_CONFIG) { |
|
|
_prefs.autoadd_config = cmd_frame[1]; |
|
|
_prefs.autoadd_config = cmd_frame[1]; |
|
|
|
|
|
if (len >= 3) { |
|
|
|
|
|
_prefs.autoadd_max_hops = min(cmd_frame[2], (uint8_t)64); |
|
|
|
|
|
} |
|
|
savePrefs(); |
|
|
savePrefs(); |
|
|
writeOKFrame(); |
|
|
writeOKFrame(); |
|
|
} else if (cmd_frame[0] == CMD_GET_AUTOADD_CONFIG) { |
|
|
} else if (cmd_frame[0] == CMD_GET_AUTOADD_CONFIG) { |
|
|
int i = 0; |
|
|
int i = 0; |
|
|
out_frame[i++] = RESP_CODE_AUTOADD_CONFIG; |
|
|
out_frame[i++] = RESP_CODE_AUTOADD_CONFIG; |
|
|
out_frame[i++] = _prefs.autoadd_config; |
|
|
out_frame[i++] = _prefs.autoadd_config; |
|
|
|
|
|
out_frame[i++] = _prefs.autoadd_max_hops; |
|
|
_serial->writeFrame(out_frame, i); |
|
|
_serial->writeFrame(out_frame, i); |
|
|
} else if (cmd_frame[0] == CMD_GET_ALLOWED_REPEAT_FREQ) { |
|
|
} else if (cmd_frame[0] == CMD_GET_ALLOWED_REPEAT_FREQ) { |
|
|
int i = 0; |
|
|
int i = 0; |
|
|
|