Commit Graph

19334 Commits

Author SHA1 Message Date
Stefano Avallone
94b679052b wifi: RR MU scheduler does not send Basic/BSRP TF if no TID mapped in UL direction
Reported by Sharan Naribole
2024-09-10 10:51:18 +02:00
Stefano Avallone
cab9e72c3b wifi: RR MU scheduler does not send Basic/BSRP TF to EMLSR clients using another link
Reported by Sharan Naribole
2024-09-10 10:51:18 +02:00
Stefano Avallone
bb22630df7 wifi: Add a WifiMac method to check if TX is blocked on a link 2024-09-10 10:51:18 +02:00
Stefano Avallone
2d4ff42649 wifi: Allow more reuse/customization of RrMultiUserScheduler code 2024-09-10 10:51:18 +02:00
Stefano Avallone
0ac8cefcbd wifi: Add FrameExchangeManagers attribute to WifiMac
...so that FEMs can be accessed through the naming system
2024-09-10 10:51:18 +02:00
Stefano Avallone
3c5d505e16 wifi: Extend MLO test to check non-AP MLDs not supporting 160 MHz operations 2024-09-10 10:51:17 +02:00
Stefano Avallone
9b327c556b wifi: DefaultAssocManager handles non-AP MLDs not supporting 160 MHz operations 2024-09-10 10:49:47 +02:00
Stefano Avallone
6493a00385 wifi: Add function to get a primary channel of a WifiPhyOperatingChannel 2024-09-10 10:49:46 +02:00
Stefano Avallone
10b2f6e531 wifi: Use correct width when checking supported width upon setting channel 2024-09-10 10:34:32 +02:00
Sébastien Deronne
c38078a5a6 Update RELEASE_NOTES.md to mention about the adoption of SI unit weak types for wifi module 2024-09-09 16:26:17 +00:00
Sébastien Deronne
35a1f5ac8a wifi: Use joule_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
93f08e8de3 wifi: Use degree_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
03fe29c04c wifi: Use volt_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
de4bb85048 wifi: Use ampere_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
d54e5c4e91 wifi: Use meter_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
9ffc5f6290 wifi: Use dBm_per_Hz_u and dBm_per_MHz_u weak aliases 2024-09-09 16:26:17 +00:00
Sébastien Deronne
8b54d54f1e wifi: Use dBr_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
10f76845f7 wifi: Use dB_u weak alias 2024-09-09 16:26:17 +00:00
Sébastien Deronne
f0c63e2a22 wifi: Use Watt_u and mWatt_u weak aliases for powers 2024-09-09 16:26:17 +00:00
Sébastien Deronne
eca3431c6d wifi: Use dBm_u and dBW_u weak aliases for powers 2024-09-09 16:26:17 +00:00
Sébastien Deronne
a36937fbe3 wifi: Use Hz_u and MHz_u weak aliases for frequencies 2024-09-09 16:26:17 +00:00
Sébastien Deronne
e7494ccc27 wifi: Use Hz_u and MHz_u weak aliases for channel widths 2024-09-09 16:26:17 +00:00
Sébastien Deronne
292b81c3cc wifi: Add weak types for physical quantities
This commit introduces weak types for physical quantities commonly used in WiFi, and replaces POD types such as `double`, `int8_t` with them. This change offers immediate advantages in code clarity - readability, and debuggability. Once the physical units are encoded in the variable definitions, the following improvements become immediately possible:

* To remove line end comments along with variable definition. eg. " // Mhz"
* To add missed physical unit. eg. "dBm_t maxPower;" instead of "double maxPower;"
* To drop unit suffix in the variable name. eg. "apTxPowerDbm", "txPowerW"
* To overcome the confusion by CamelCase rule. eg. "distanceM"

See wifi-units.h for the full list of weak types.

Adopting a well-defined weak type also offers a chance to consolidate discrepant, potentially erring, data types.
* Mega Hertz used to be defined in 6 different data types: uint8_t, uint32_t, uint16_t, int64_t, int, ChannelWidthMhz. Now all are consolidated into `MHz_t`.
* Hertz used to be defined in 2 different data types: uint32_t, int64_t. Now all are consolidated into `Hz_t`.

Some variables used to be defined in a suboptimal choice of data type: Watt for RSSI, with potential floating-point precision trouble. This weak-type adoption offers to change it to dBm.
2024-09-09 16:26:17 +00:00
Sébastien Deronne
777bd2f480 wifi: Remove unnecessary assert hit when creating a non-HT duplicate PSD for 80+80MHz operating channel 2024-09-09 13:48:10 +00:00
Alberto Gallegos Ramonet
32a2883385 lr-wpan: CCA vulnerability window test and doc 2024-09-09 10:56:14 +09:00
Tommaso Pecorella
9d80dbbd27 ci: limit the ccache size to 3GB 2024-09-08 17:04:00 +00:00
Gabriel Ferreira
498a832e87 ci: Add code coverage job for GitLab 2024-09-07 21:08:06 +02:00
Gabriel Ferreira
59ae0231ed build: Add target to convert lcov coverage report to the cobertura format 2024-09-07 21:08:06 +02:00
Tommaso Pecorella
8dc668e599 ci: bump Doxygen to 1.11.0 2024-09-07 15:36:25 +02:00
Tommaso Pecorella
9b1a8030e9 visualizer: document python variable 2024-09-07 15:36:25 +02:00
André Apitzsch
bd4c735b15 doc: Add SPDX license guidelines 2024-09-06 19:32:31 +00:00
André Apitzsch
8bc94a1cc3 Use SPDX license identifiers 2024-09-06 19:32:31 +00:00
Ghostyhands
209c593a00 tcp: (merges !2083) Consider segmentSize send limit while checking for cwnd rate-limit 2024-09-06 15:27:54 +00:00
AlessioBugetti
583733a3bd uan: Fix uninitialized memory usage bug in the operator>> for UanModesList 2024-09-06 10:02:26 +00:00
AlessioBugetti
c4e291565f uan: Fix precision loss in Eb/N0 calculation in UanPhyPerCommonModes::CalcPer() (reported by donghuiyong) 2024-09-06 10:02:26 +00:00
Eduardo Almeida
84b0d9d907 core: (fixes #1135) Silence TypeTraits deprecation warnings in its test suite 2024-09-05 22:00:55 +01:00
Gabriel Ferreira
8e7eb707fc build: Prevent empty list from causing REMOVE_ITEM to fail 2024-09-05 11:38:40 +02:00
Gabriel Ferreira
042e5b0c67 ci: Update clang-10 jobs to clang-11 2024-09-05 11:37:50 +02:00
Gabriel Ferreira
2032727d03 lte: Avoid expensive multiplications and divisions 2024-09-04 11:54:58 +00:00
Gabriel Ferreira
26b3fd9c04 wifi: Avoid expensive divisions 2024-09-04 11:54:58 +00:00
Gabriel Ferreira
ba6be0dbd3 wifi: Replace mismatching type in std::max
Fixes build in Windows
2024-09-04 11:53:47 +00:00
Sébastien Deronne
a0b80af33d wifi: No need to call SwitchMaybeToCcaBusy upon reception from a non-active PHY interface 2024-09-04 07:47:42 +02:00
Tom Henderson
22af184c69 doc, wifi: Update class Doxygen 2024-09-04 01:15:27 +00:00
Tom Henderson
270f662a16 doc, wifi: Update Wi-Fi architecture diagram 2024-09-04 01:15:27 +00:00
Tom Henderson
40017b93d3 core: Use provided argument values 2024-09-04 01:11:20 +00:00
Tom Henderson
ae5830337b core: Improve random variable logging 2024-09-04 01:11:20 +00:00
AlessioBugetti
4d2a631def uan: (fixes #1125) Add UanModesListTest in uan-test.cc for the operator>> 2024-09-04 01:04:53 +00:00
AlessioBugetti
27b220f326 uan: (fixes #1125) Fix handling of EOF in operator>> for UanModesList 2024-09-04 01:04:53 +00:00
AlessioBugetti
c7f3306bc0 uan: (fixes #1128) Fix bug in Eb/N0 calculation in UanPhyPerCommonModes::CalcPer() (reported by donghuiyong) 2024-09-04 01:02:28 +00:00
Sébastien Deronne
578fecdcba wifi: Use time instead of uint16_t for guard interval duration 2024-09-03 20:19:29 +00:00