mirror of
https://github.com/meshtastic/firmware.git
synced 2025-05-07 14:08:51 +00:00
Crashes after 7 seconds.
This commit is contained in:
parent
ef32ac5cd4
commit
2cf704abe0
@ -26,26 +26,23 @@ int32_t StoreForwardPlugin::runOnce()
|
|||||||
without having to configure it from the PythonAPI or WebUI.
|
without having to configure it from the PythonAPI or WebUI.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// radioConfig.preferences.store_forward_plugin_enabled = 1;
|
radioConfig.preferences.store_forward_plugin_enabled = 1;
|
||||||
// radioConfig.preferences.is_router = 1;
|
radioConfig.preferences.is_router = 0;
|
||||||
|
|
||||||
if (radioConfig.preferences.store_forward_plugin_enabled) {
|
if (radioConfig.preferences.store_forward_plugin_enabled) {
|
||||||
|
|
||||||
if (firstTime) {
|
if (firstTime) {
|
||||||
|
|
||||||
/*
|
firstTime = 0;
|
||||||
*/
|
|
||||||
|
|
||||||
if (radioConfig.preferences.is_router) {
|
if (radioConfig.preferences.is_router) {
|
||||||
DEBUG_MSG("Initializing Store & Forward Plugin - Enabled\n");
|
DEBUG_MSG("Initializing Store & Forward Plugin - Enabled as Router\n");
|
||||||
// Router
|
// Router
|
||||||
if (ESP.getPsramSize()) {
|
if (ESP.getPsramSize()) {
|
||||||
if (ESP.getFreePsram() >= 2048 * 1024) {
|
if (ESP.getFreePsram() >= 2048 * 1024) {
|
||||||
// Do the startup here
|
// Do the startup here
|
||||||
storeForwardPluginRadio = new StoreForwardPluginRadio();
|
storeForwardPluginRadio = new StoreForwardPluginRadio();
|
||||||
|
|
||||||
firstTime = 0;
|
|
||||||
|
|
||||||
this->populatePSRAM();
|
this->populatePSRAM();
|
||||||
|
|
||||||
// packetHistory[0].bytes;
|
// packetHistory[0].bytes;
|
||||||
@ -66,22 +63,30 @@ int32_t StoreForwardPlugin::runOnce()
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
/*
|
DEBUG_MSG("Initializing Store & Forward Plugin - Enabled as Client\n");
|
||||||
* If the plugin is turned on and is_router is not enabled, then we'll send a heartbeat every
|
return (5 * 1000);
|
||||||
* few minutes.
|
|
||||||
*/
|
|
||||||
storeForwardPluginRadio->sendPayloadHeartbeat();
|
|
||||||
|
|
||||||
return (3 * 60 * 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// What do we do if it's not our first time?
|
|
||||||
|
|
||||||
// Maybe some cleanup functions?
|
if (radioConfig.preferences.is_router) {
|
||||||
this->sawNodeReport();
|
// Maybe some cleanup functions?
|
||||||
this->historyReport();
|
this->sawNodeReport();
|
||||||
return (10 * 1000);
|
this->historyReport();
|
||||||
|
return (10 * 1000);
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* If the plugin is turned on and is_router is not enabled, then we'll send a heartbeat every
|
||||||
|
* few minutes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
DEBUG_MSG("Store & Forward Plugin - Sending heartbeat\n");
|
||||||
|
|
||||||
|
// storeForwardPluginRadio->sendPayloadHeartbeat();
|
||||||
|
storeForwardPluginRadio->sendPayload();
|
||||||
|
|
||||||
|
return (1 * 60 * 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -221,24 +226,32 @@ void StoreForwardPlugin::sawNodeReport()
|
|||||||
|
|
||||||
MeshPacket *StoreForwardPluginRadio::allocReply()
|
MeshPacket *StoreForwardPluginRadio::allocReply()
|
||||||
{
|
{
|
||||||
|
//auto reply = allocDataPacket(); // Allocate a packet for sending
|
||||||
auto reply = allocDataPacket(); // Allocate a packet for sending
|
//return reply;
|
||||||
|
|
||||||
return reply;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void StoreForwardPluginRadio::sendPayload(NodeNum dest, bool wantReplies)
|
void StoreForwardPluginRadio::sendPayload(NodeNum dest, bool wantReplies)
|
||||||
{
|
{
|
||||||
MeshPacket *p = allocReply();
|
MeshPacket *p = this->allocReply();
|
||||||
|
/*
|
||||||
p->to = dest;
|
p->to = dest;
|
||||||
p->decoded.want_response = wantReplies;
|
p->decoded.want_response = wantReplies;
|
||||||
|
|
||||||
service.sendToMesh(p);
|
p->want_ack = true;
|
||||||
|
*/
|
||||||
|
// static char heartbeatString[20];
|
||||||
|
// snprintf(heartbeatString, sizeof(heartbeatString), "1");
|
||||||
|
|
||||||
|
// p->decoded.data.payload.size = strlen(heartbeatString); // You must specify how many bytes are in the reply
|
||||||
|
// memcpy(p->decoded.data.payload.bytes, "1", 1);
|
||||||
|
|
||||||
|
// service.sendToMesh(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StoreForwardPluginRadio::sendPayloadHeartbeat(NodeNum dest, bool wantReplies)
|
void StoreForwardPluginRadio::sendPayloadHeartbeat(NodeNum dest, bool wantReplies)
|
||||||
{
|
{
|
||||||
MeshPacket *p = allocReply();
|
DEBUG_MSG("Sending S&F Heartbeat\n");
|
||||||
|
MeshPacket *p = this->allocReply();
|
||||||
p->to = dest;
|
p->to = dest;
|
||||||
p->decoded.want_response = wantReplies;
|
p->decoded.want_response = wantReplies;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user