Updated Carrier sense multiple access (CSMA) (markdown)

master
sh123 2021-10-20 20:58:33 +03:00
rodzic f057703ed4
commit c68d3f4b34
1 zmienionych plików z 3 dodań i 1 usunięć

@ -1,2 +1,4 @@
- LoRa library, which is in use by this project does not implement CAD, but CSMAp is utilized by this project as per KISS specification. TX path is executed only when there is no incoming data returned by `LoRa::parsePacket` and TX path is executed with probability p (CSMA persistence), configured by const `Loraprs::Service::CfgCsmaPersistence` in `loraprs_service.h`. Random value is selected between 0 and 255 and TX is executed only when it is lower than `CfgCsmaProbBoundary`.
- Carrier detection is used when sketch is built based on RadioLib library with `USE_RADIOLIB` flag
- Also, additional flag `cfg.LoraUseCad` (`CFG_LORA_USE_CAD`) must be set to true
- CSMAp is utilized by this project as per KISS specification. TX path is executed only when there is no incoming data returned by `LoRa::parsePacket` and TX path is executed with probability p (CSMA persistence), configured by const `Loraprs::Service::CfgCsmaPersistence` in `loraprs_service.h`. Random value is selected between 0 and 255 and TX is executed only when it is lower than `CfgCsmaProbBoundary`.
- To decrease TX probability in case of high traffic use lower value. `Loraprs::ServiceCsmaSlotTimeMs` configures the amount of time in milliseconds to wait if transmission was not performed due to persistence, select lower value for lower TOA (time on air). It is also possible to dynamically override these parameters with KISS P 0x02 and SlotTime 0x03 command codes from the client.