Added modes for rebroadcast

This commit is contained in:
Ben Meadors 2023-01-29 14:22:51 -06:00
parent 76df5265cb
commit cd35e92471
3 changed files with 7 additions and 0 deletions

View File

@ -60,6 +60,9 @@ void FloodingRouter::sniffReceived(const meshtastic_MeshPacket *p, const meshtas
}
}
if (config.device.rebroadcast_mode == meshtastic_Config_DeviceConfig_RebroadcastMode_LOCAL_ONLY) {
Router::cancelSending(p->to, p->decoded.request_id);
}
// handle the packet as normal
Router::sniffReceived(p, c);
}

View File

@ -160,6 +160,7 @@ void NodeDB::installDefaultConfig()
config.has_power = true;
config.has_network = true;
config.has_bluetooth = true;
config.device.rebroadcast_mode = meshtastic_Config_DeviceConfig_RebroadcastMode_ALL;
config.lora.sx126x_rx_boosted_gain = false;
config.lora.tx_enabled =
true; // FIXME: maybe false in the future, and setting region to enable it. (unset region forces it off)

View File

@ -300,6 +300,9 @@ void Router::sniffReceived(const meshtastic_MeshPacket *p, const meshtastic_Rout
bool perhapsDecode(meshtastic_MeshPacket *p)
{
if (config.device.role == meshtastic_Config_DeviceConfig_Role_REPEATER &&
config.device.rebroadcast_mode == meshtastic_Config_DeviceConfig_RebroadcastMode_ALL_SKIP_DECODING)
return false;
if (p->which_payload_variant == meshtastic_MeshPacket_decoded_tag)
return true; // If packet was already decoded just return