Just a quick update, but I just wanted to say that I have added full P-persistent CSMA to the KISS version of the MicroAPRS firmware, which means, that MicroAPRS will now adhere to the P and SlotTime parameters set by the controlling software. CSMA, or Carrier Sense Multiple Access, is a collision avoidance scheme used to minimise packet collisions on networks such as APRS. The functionality of CSMA is very simple, here's how it works:

  1. Assume that PĀ is a predeterminedĀ number between 0 and 255, and SlotTime is a number of milliseconds
  2. If there is another station transmitting, wait until the medium becomes idle
  3. When there is no other transmitting stations, a random number R between 0 and 255 is picked
  4. If R < P, the packet is transmitted. If R > P, the modem waits for SlotTime and goes to step 2

Implementing this simple technique, the amount of collisions can be reduced significantly.

2 thoughts on “P-persistent CSMA

  1. P is a set of numbers between 0 and 255
    R is a random number picked from that set
    how R > P or R < P for god sake
    how the hell you compare a number with a set
    I can't find a damn resource for this p csma

    1. I can understand your confusion, but you got some of the details wrong. P is a number that is chosen, and must be between 0 and 255. It’s not a set of numbers. That should make it a bit more clear.

Leave a Reply

Your email address will not be published. Required fields are marked *