unsignedio/docs/p-persistent-csma/index.html
2025-12-22 19:09:59 +01:00

49 lines
4.2 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html>
<head>
<link rel="stylesheet" href="../css/water.css?v=19">
<link rel="shortcut icon" type="image/x-icon" href="../gfx/icon.png">
<meta charset="utf-8"/>
<title>P-persistent CSMA | unsigned.io</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:title" content="P-persistent CSMA">
<meta name="description" content="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.">
<meta property="og:description" content="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.">
<meta property="og:image" content="https://unsigned.io/images/csma-1-400x275.png">
<meta property="og:url" content="https://unsigned.io/articles/2014_11_20_p-persistent-csma.html">
<meta property="og:title" content="P-persistent CSMA">
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="unsigned.io">
<meta property="twitter:url" content="https://unsigned.io/articles/2014_11_20_p-persistent-csma.html">
<meta name="twitter:title" content="P-persistent CSMA">
<meta name="twitter:description" content="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.">
<meta name="twitter:image" content="https://unsigned.io/images/csma-1-400x275.png">
</head>
<body>
<div id="load_overlay" style="background-color:#2a2a2f; position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:2000;"></div>
<span class="logo">unsigned.io</span>
<center>
<p><span class="menu"><a href="../index.html">Home</a> | <a href="../log.html">Log</a> | <a href="../guides.html">Guides</a> | <a href="../software/index.html">Software</a> | <a href="../hardware/index.html">Hardware</a> | <a href="https://github.com/markqvist/Reticulum/discussions">Discussions</a> | <a href="../shop.html">Shop</a> | <a href="../contact.html">Contact Me</a> | <a href="../donate.html">Donate</a></span></p>
</center><hr><div class="article_date">2014-11-20</div>
<h1>P-persistent CSMA</h1>
<p>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:</p>
<ol>
<li>Assume that P is a predetermined number between 0 and 255, and SlotTime is a number of milliseconds</li>
<li>If there is another station transmitting, wait until the medium becomes idle</li>
<li>When there is no other transmitting stations, a random number R between 0 and 255 is picked</li>
<li>If R &lt; P, the packet is transmitted. If R &gt; P, the modem waits for SlotTime and goes to step 2</li>
</ol>
<p>Implementing this simple technique, the amount of collisions can be reduced significantly.</p>
<br/><hr/><span class="no_print"><center><br/><i>This website is running on a 100% solar powered server</i><br/><br/>☀️<br/><br/><i><small>Unless otherwise noted, everything here is put into the world under a <a href="../LICENSE.txt">CC BY-NC-SA 4.0</a> license.<br/>Feel free to share and remix, just remember the attribution.
</small></i></center></span>
<div class="print_only donation_block"><br/>
Contribute to keeping information on Free & Open Communications systems available for all.<br/>
You can donate directly to <b>unsigned.io</b> by using one of the following QR codes:<br/><br/>
<span class="donate_qr"><img src="../gfx/donate_xmr.png"/><br/>Monero</span>
<span class="donate_qr"><img src="../gfx/donate_btc.png"/><br/>Bitcoin</span>
<span class="donate_qr"><img src="../gfx/donate_eth.png"/><br/>Ethereum</span>
</div>
</body></html>