mirror of
https://github.com/alexandrebobkov/ESP-Nodes.git
synced 2025-08-09 23:01:16 +00:00
.
This commit is contained in:
@@ -26,4 +26,18 @@ Struct Walkthrough
|
||||
*x_axis* and *y_axis* fields capture analog input from a joystick, determining direction and speed.
|
||||
*nav_bttn* represents a joystick push-button.
|
||||
|
||||
*led* allows the transmitter to toggle an onboard LED and is used for status indication (e.g. pairing, battery warning, etc).
|
||||
*led* allows the transmitter to toggle an onboard LED and is used for status indication (e.g. pairing, battery warning, etc).
|
||||
|
||||
*motor1_rpm_pwm* to *motor4_rpm_pwm* provide individual PWM signals to four DC motors.
|
||||
This enables fine-grained speed control, supports differential drive configurations, and even allows for maneuvering in multi-directional platforms like omni-wheel robots.
|
||||
|
||||
Why Use __attribute((packed))?
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The 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
|
||||
- Ideal for low-latency transmission in embedded systems
|
||||
|
||||
This ensures the receiver interprets the exact byte layout you expect, minimizing bandwidth and maximizing compatibility across platforms.
|
Reference in New Issue
Block a user