-
Notifications
You must be signed in to change notification settings - Fork 346
Implement token bucket duty cycle enforcement #1297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Implement token bucket duty cycle enforcement #1297
Conversation
|
We had a discussion in the Dutch community today. Some people didn't care much, others wanted a proper implementation. I'm neutral either way (not even sure if I enabled it myself). Perhaps this could start a broader discussion to decide it once and for all. |
|
how does this work for USA where there is no duty cycle limit? |
The same as it is currently, airtime factor already limits it to the same amount, just less reliable. So both now and with this method, they would need to disable it. (set af 0) |
|
whatever the change is, it should not limit duty cycle at any percentage for regions that don't have duty cycle limit. |
Its probably higher than the current cap you guys have. But a valid point for another issue on if and what the default should be. Perhaps it should be set with the region or something. |
| return 2.0; | ||
| } | ||
|
|
||
| void Dispatcher::updateTxBudget() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is race potential here. Are we sure this is always called from an Arduino single loop context? Or can this also be called by timers, callbacks or interrupts?
Replaces per-transmission delay with a rolling window token bucket for better regulatory compliance.
Sets default to 10% duty cycle (airtime factor 9.0), the highest common legal limit worldwide(?)
Resolves #817.