This commit is contained in:
2025-07-05 23:55:55 -04:00
parent aec79b192a
commit 37db6d80bd
16 changed files with 80 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
DATA STRUCT DATA STRUCTS
=========== ============
The struct serves as the data payload for sending control signals from transmitting device to the receiver using ESP-NOW. The struct serves as the data payload for sending control signals from transmitting device to the receiver using ESP-NOW.
In addition, it may contain additional data such as telemetry, battery status, etc. In addition, it may contain additional data such as telemetry, battery status, etc.
@@ -20,6 +20,15 @@ It's intended to be sent from a transmitting device (like a remote control or ma
uint8_t motor4_rpm_pwm; uint8_t motor4_rpm_pwm;
} __attribute__((packed)) sensors_data_t; } __attribute__((packed)) sensors_data_t;
.. code-block:: c
struct motors_rpm {
int motor1_rpm_pwm;
int motor2_rpm_pwm;
int motor3_rpm_pwm;
int motor4_rpm_pwm;
};
When used with communication protocols like ESP-NOW, this struct is **encoded** into a byte stream, then When used with communication protocols like ESP-NOW, this struct is **encoded** into a byte stream, then
**transmitted** at regular intervals or in response to user input, and finally **transmitted** at regular intervals or in response to user input, and finally
**decoded** on the receiving end to control hardware. **decoded** on the receiving end to control hardware.

View File

@@ -19,6 +19,15 @@ Configuration Variables
uint8_t motor4_rpm_pwm; uint8_t motor4_rpm_pwm;
} __attribute__((packed)) sensors_data_t; } __attribute__((packed)) sensors_data_t;
.. code-block:: c
struct motors_rpm {
int motor1_rpm_pwm;
int motor2_rpm_pwm;
int motor3_rpm_pwm;
int motor4_rpm_pwm;
};
Receiving & De-Ecapsulating Data Receiving & De-Ecapsulating Data
-------------------------------- --------------------------------

View File

@@ -5,7 +5,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>DATA STRUCT &#8212; Byte Rider 06-2025 documentation</title> <title>DATA STRUCTS &#8212; Byte Rider 06-2025 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" /> <link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" /> <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
@@ -33,8 +33,8 @@
<div class="body" role="main"> <div class="body" role="main">
<section id="data-struct"> <section id="data-structs">
<h1>DATA STRUCT<a class="headerlink" href="#data-struct" title="Link to this heading"></a></h1> <h1>DATA STRUCTS<a class="headerlink" href="#data-structs" title="Link to this heading"></a></h1>
<p>The struct serves as the data payload for sending control signals from transmitting device to the receiver using ESP-NOW. <p>The struct serves as the data payload for sending control signals from transmitting device to the receiver using ESP-NOW.
In addition, it may contain additional data such as telemetry, battery status, etc.</p> In addition, it may contain additional data such as telemetry, battery status, etc.</p>
<p>The <em>sensors_data_t</em> struct is designed as a data payload that encapsulates all control commands and sensor states relevant to the vehicles operation. <p>The <em>sensors_data_t</em> struct is designed as a data payload that encapsulates all control commands and sensor states relevant to the vehicles operation.
@@ -51,6 +51,14 @@ Its intended to be sent from a transmitting device (like a remote control or
<span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span> <span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span>
</pre></div> </pre></div>
</div> </div>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">motors_rpm</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor1_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor2_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span>
<span class="p">};</span>
</pre></div>
</div>
<p>When used with communication protocols like ESP-NOW, this struct is <strong>encoded</strong> into a byte stream, then <p>When used with communication protocols like ESP-NOW, this struct is <strong>encoded</strong> into a byte stream, then
<strong>transmitted</strong> at regular intervals or in response to user input, and finally <strong>transmitted</strong> at regular intervals or in response to user input, and finally
<strong>decoded</strong> on the receiving end to control hardware.</p> <strong>decoded</strong> on the receiving end to control hardware.</p>
@@ -104,15 +112,16 @@ This enables fine-grained speed control, supports differential drive configurati
</search> </search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3> <script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">INTRODUCTION</a></li> <li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li>
<li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li> <li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">DATA STRUCT</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">DATA STRUCTS</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#data-payload">Data Payload</a></li> <li class="toctree-l2"><a class="reference internal" href="#data-payload">Data Payload</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li> <li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li>
<li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li> <li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li>
<li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li> <li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">REFERENCES</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">

View File

@@ -66,7 +66,7 @@
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li> <li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li>
<li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li> <li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCT</a></li> <li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCTS</a></li>
<li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li> <li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li>
<li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li> <li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li>
<li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li> <li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li>

View File

@@ -47,7 +47,7 @@
<li class="toctree-l2"><a class="reference internal" href="overview.html#schematic">Schematic</a></li> <li class="toctree-l2"><a class="reference internal" href="overview.html#schematic">Schematic</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCT</a><ul> <li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCTS</a><ul>
<li class="toctree-l2"><a class="reference internal" href="data.html#data-payload">Data Payload</a></li> <li class="toctree-l2"><a class="reference internal" href="data.html#data-payload">Data Payload</a></li>
</ul> </ul>
</li> </li>
@@ -107,7 +107,7 @@
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li> <li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li>
<li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li> <li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCT</a></li> <li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCTS</a></li>
<li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li> <li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li>
<li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li> <li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li>
<li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li> <li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li>

View File

@@ -3,6 +3,5 @@
# Version: # Version:
# The remainder of this file is compressed using zlib. # The remainder of this file is compressed using zlib.
<EFBFBD><EFBFBD>n<EFBFBD> <14><>y <EFBFBD><EFBFBD>n<EFBFBD> <14><>y
^<5E>%<25><><EFBFBD><EFBFBD>,<2C><><EFBFBD><1A><><EFBFBD>ə<EFBFBD>(4H<34><48><EFBFBD><EFBFBD>Q2M<32><4D><0E><><EFBFBD><EFBFBD>/(<28>$<24><>zR<7A><52><EFBFBD>#V<><56>йq<D0B9><71>T<EFBFBD><54> v<>jA<EFBFBD>Z<EFBFBD><EFBFBD>9<>w6<EFBFBD><EFBFBD><EFBFBD><EFBFBD><11>b<EFBFBD><62>+<2B>ev<65>z<16><>u<04><><EFBFBD><EFBFBD><EFBFBD><67><CDB6><EFBFBD><>)<29><>h<EFBFBD> ^<5E>%<25><><EFBFBD><EFBFBD>,<2C><><EFBFBD><1A><><EFBFBD>ə<EFBFBD>(4H<34><48><EFBFBD><EFBFBD>Q2M<32><4D><0E><><EFBFBD><EFBFBD>/(<28>$<24><>zR<7A><52><EFBFBD>#V<><56>йq<D0B9><71>T<EFBFBD><54> v<>G-<2D>^+<2B><>A<07><0E><02>4<14>rD<EFBFBD><EFBFBD>}<EFBFBD><EFBFBD>x<EFBFBD><1D>^<5E><>~vA;<3B>z<EFBFBD>}<7D>Y<EFBFBD><59><EFBFBD> t<>3agJj4<1A><><EFBFBD>eN<65> <20>G<EFBFBD><47><03>e<EFBFBD>
<EFBFBD>9<EFBFBD><EFBFBD><EFBFBD><1F><>p<>17<31><37>>׻c<16><><EFBFBD><EFBFBD><EFBFBD>$S<><53><EFBFBD><EFBFBD><EFBFBD>Ś<EFBFBD><EFBFBD>4<EFBFBD>;1 <0B><>Kh<4B>T<EFBFBD><54>3<EFBFBD>9<EFBFBD>ӷ9+O<><1C><><EFBFBD>Q<EFBFBD>f<EFBFBD><19>5<EFBFBD><35>@<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD></k<>+ <09>T<EFBFBD><54>d<EFBFBD>gt<67><74><EFBFBD>0M<30>N<EFBFBD>Bg<42>Z$+<2B><>p<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD><EFBFBD><EFBFBD>>G+<2B>T<7F><54>uFo<46>-4<>{<7B><><EFBFBD>1 -F2B<32><42>x<EFBFBD>,<2C><06>-ӈ<>F<><46>p4<70><34>M<EFBFBD><EFBFBD>
ׯ<EFBFBD>,<2C><18><08><><EFBFBD><EFBFBD><0F><><1B><>pL#<23>J)2<><32><04>6<EFBFBD>V*d<01>a^<5E><16><>ROc<4F><63>Ve<15><>`i<><69>T/<2F>

View File

@@ -51,6 +51,14 @@
<span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span> <span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span>
</pre></div> </pre></div>
</div> </div>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">motors_rpm</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor1_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor2_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span>
<span class="p">};</span>
</pre></div>
</div>
</section> </section>
<section id="receiving-de-ecapsulating-data"> <section id="receiving-de-ecapsulating-data">
<h2>Receiving &amp; De-Ecapsulating Data<a class="headerlink" href="#receiving-de-ecapsulating-data" title="Link to this heading"></a></h2> <h2>Receiving &amp; De-Ecapsulating Data<a class="headerlink" href="#receiving-de-ecapsulating-data" title="Link to this heading"></a></h2>
@@ -142,9 +150,9 @@
</search> </search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3> <script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">INTRODUCTION</a></li> <li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li>
<li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li> <li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCT</a></li> <li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCTS</a></li>
<li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li> <li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">RECEIVER</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">RECEIVER</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#configuration-variables">Configuration Variables</a></li> <li class="toctree-l2"><a class="reference internal" href="#configuration-variables">Configuration Variables</a></li>
@@ -153,6 +161,7 @@
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li> <li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">REFERENCES</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">

View File

@@ -84,7 +84,7 @@
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li> <li class="toctree-l1"><a class="reference internal" href="intro.html">OVERVIEW</a></li>
<li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li> <li class="toctree-l1"><a class="reference internal" href="overview.html">HOW DOES IT WORK?</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCT</a></li> <li class="toctree-l1"><a class="reference internal" href="data.html">DATA STRUCTS</a></li>
<li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li> <li class="toctree-l1"><a class="reference internal" href="transmitter.html">TRANSMITTER</a></li>
<li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li> <li class="toctree-l1"><a class="reference internal" href="receiver.html">RECEIVER</a></li>
<li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li> <li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. # This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 133c81f98f45ad54c8e559e021819217 config: 0753b556a93640c5f3cf8ac69d082fb8
tags: 62a1e7829a13fc7881b6498c52484ec0 tags: 62a1e7829a13fc7881b6498c52484ec0

View File

@@ -95,8 +95,8 @@
</ul> </ul>
</li> </li>
<li class="toctree-l1"> <li class="toctree-l1">
<a class="reference internal" href="#data-struct"> <a class="reference internal" href="#data-structs">
DATA STRUCT DATA STRUCTS
</a> </a>
<ul> <ul>
<li class="toctree-l2"> <li class="toctree-l2">
@@ -838,10 +838,10 @@ Right DC Motors spin clockwise
</section> </section>
<span id="document-data"> <span id="document-data">
</span> </span>
<section id="data-struct"> <section id="data-structs">
<h2> <h2>
DATA STRUCT DATA STRUCTS
<a class="headerlink" href="#data-struct" title="Link to this heading"> <a class="headerlink" href="#data-structs" title="Link to this heading">
&para; &para;
</a> </a>
</h2> </h2>
@@ -869,6 +869,17 @@ It&rsquo;s intended to be sent from a transmitting device (like a remote control
<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span> <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span> <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span>
<span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span> <span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span>
</pre>
</div>
</div>
<div class="highlight-c notranslate">
<div class="highlight">
<pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">motors_rpm</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor1_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor2_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span>
<span class="p">};</span>
</pre> </pre>
</div> </div>
</div> </div>
@@ -1108,6 +1119,17 @@ This enables fine-grained speed control, supports differential drive configurati
<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span> <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span> <span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span>
<span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span> <span class="p">}</span><span class="w"> </span><span class="n">__attribute__</span><span class="p">((</span><span class="n">packed</span><span class="p">))</span><span class="w"> </span><span class="n">sensors_data_t</span><span class="p">;</span>
</pre>
</div>
</div>
<div class="highlight-c notranslate">
<div class="highlight">
<pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">motors_rpm</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor1_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor2_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor3_rpm_pwm</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">motor4_rpm_pwm</span><span class="p">;</span>
<span class="p">};</span>
</pre> </pre>
</div> </div>
</div> </div>