Adjusted CSMA parameters and P-curve. Added dynamic CSMA slot time.

This commit is contained in:
Mark Qvist 2024-10-10 23:26:12 +02:00
commit 2ede362cb3
3 changed files with 10 additions and 6 deletions

View file

@ -1298,10 +1298,10 @@ void validate_status() {
#if MCU_VARIANT == MCU_ESP32 || MCU_VARIANT == MCU_NRF52
#define _e 2.71828183
#define _S 10.0
#define _S 12.5
float csma_slope(float u) { return (pow(_e,_S*u-_S/2.0))/(pow(_e,_S*u-_S/2.0)+1.0); }
void update_csma_p() {
csma_p = (uint8_t)((1.0-(csma_p_min+(csma_p_max-csma_p_min)*csma_slope(airtime)))*255.0);
csma_p = (uint8_t)((1.0-(csma_p_min+(csma_p_max-csma_p_min)*csma_slope(airtime+csma_b_speed)))*255.0);
}
#endif