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:
- Assume that P is a predetermined number between 0 and 255, and SlotTime is a number of milliseconds
- If there is another station transmitting, wait until the medium becomes idle
- When there is no other transmitting stations, a random number R between 0 and 255 is picked
- 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.