This commit is contained in:
2025-07-05 17:24:00 -04:00
parent 22c3a57351
commit 871097fb21
8 changed files with 20 additions and 6 deletions

View File

@@ -38,7 +38,9 @@ This enables fine-grained speed control, supports differential drive configurati
Why Use __attribute((packed))?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The packed attribute tells the compiler not to add any padding between fields in memory. This makes the struct:
ESP-NOW uses fixed-size data packets (up to 250 bytes). The *__attribute__((packed))* removes compiler-added padding for precise byte alignment.
As *packed* attribute tells the compiler not to add any padding between fields in memory, this makes the struct:
- Compact
- Predictable for serialization over protocols like UART or ESP-NOW

View File

@@ -64,7 +64,8 @@ This enables fine-grained speed control, supports differential drive configurati
</section>
<section id="why-use-attribute-packed">
<h2>Why Use __attribute((packed))?<a class="headerlink" href="#why-use-attribute-packed" title="Link to this heading"></a></h2>
<p>The packed attribute tells the compiler not to add any padding between fields in memory. This makes the struct:</p>
<p>ESP-NOW uses fixed-size data packets (up to 250 bytes). The <em>__attribute__((packed))</em> removes compiler-added padding for precise byte alignment.</p>
<p>As <em>packed</em> attribute tells the compiler not to add any padding between fields in memory, this makes the struct:</p>
<blockquote>
<div><ul class="simple">
<li><p>Compact</p></li>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
# 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.
config: 2a5d1949c3721836c34f0b73b9434126
config: 73c850fc9da2302c95bfd56436e2cb64
tags: 62a1e7829a13fc7881b6498c52484ec0

View File

@@ -702,7 +702,18 @@ This enables fine-grained speed control, supports differential drive configurati
</a>
</h3>
<p>
The packed attribute tells the compiler not to add any padding between fields in memory. This makes the struct:
ESP-NOW uses fixed-size data packets (up to 250 bytes). The
<em>
__attribute__((packed))
</em>
removes compiler-added padding for precise byte alignment.
</p>
<p>
As
<em>
packed
</em>
attribute tells the compiler not to add any padding between fields in memory, this makes the struct:
</p>
<blockquote>
<div>

View File

@@ -40,7 +40,7 @@ Why Use __attribute((packed))?
ESP-NOW uses fixed-size data packets (up to 250 bytes). The *__attribute__((packed))* removes compiler-added padding for precise byte alignment.
As *packed* attribute tells the compiler not to add any padding between fields in memory. This makes the struct:
As *packed* attribute tells the compiler not to add any padding between fields in memory, this makes the struct:
- Compact
- Predictable for serialization over protocols like UART or ESP-NOW