Home | Guides | Software | Hardware | Discussions | Shop | Contact Me | Donate


P-persistent CSMA

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.