Merge pull request #2129 from meshtastic/nice-duty-cycle

Chance calculation for Nice TX. Still same value but dynamically based on duty cycle.
This commit is contained in:
Ben Meadors 2023-01-12 07:20:29 -06:00 committed by GitHub
commit f905763161
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View File

@ -132,10 +132,10 @@ bool AirTime::isTxAllowedChannelUtil(bool polite)
bool AirTime::isTxAllowedAirUtil() bool AirTime::isTxAllowedAirUtil()
{ {
if (!config.lora.override_duty_cycle && myRegion->dutyCycle < 100) { if (!config.lora.override_duty_cycle && myRegion->dutyCycle < 100) {
if (utilizationTXPercent() < polite_tx_util_percent) { if (utilizationTXPercent() < myRegion->dutyCycle * polite_duty_cycle_percent / 100) {
return true; return true;
} else { } else {
LOG_WARN("Tx air utilization is >%d percent. Skipping this opportunity to send.\n", polite_tx_util_percent); LOG_WARN("Tx air utilization is >%d percent. Skipping this opportunity to send.\n", myRegion->dutyCycle * polite_duty_cycle_percent / 100);
return false; return false;
} }
} }

View File

@ -70,7 +70,7 @@ class AirTime : private concurrency::OSThread
uint32_t secSinceBoot = 0; uint32_t secSinceBoot = 0;
uint8_t max_channel_util_percent = 40; uint8_t max_channel_util_percent = 40;
uint8_t polite_channel_util_percent = 25; uint8_t polite_channel_util_percent = 25;
uint8_t polite_tx_util_percent = 5; uint8_t polite_duty_cycle_percent = 50; // half of Duty Cycle allowance is ok for metadata
struct airtimeStruct { struct airtimeStruct {
uint32_t periodTX[PERIODS_TO_LOG]; // AirTime transmitted uint32_t periodTX[PERIODS_TO_LOG]; // AirTime transmitted