From b9137aad7f4e82f5057a1b7cf55898c07c0f757a Mon Sep 17 00:00:00 2001 From: Alexandre Bobkov Date: Sat, 19 Jul 2025 01:34:55 -0400 Subject: [PATCH] RC Robot Tutorial --- .../docs/build/doctrees/environment.pickle | Bin 28441 -> 29287 bytes .../docs/build/doctrees/index.doctree | Bin 3638 -> 3639 bytes .../docs/build/html/_sources/index.rst.txt | 3 +- .../tutorial/docs/build/html/data.html | 35 +++++---- .../tutorial/docs/build/html/genindex.html | 14 ++-- .../tutorial/docs/build/html/index.html | 73 ++++++++++-------- .../tutorial/docs/build/html/intro.html | 26 +++---- .../tutorial/docs/build/html/overview.html | 46 ++++++----- .../tutorial/docs/build/html/progress.html | 39 +++++----- .../tutorial/docs/build/html/receiver.html | 38 ++++----- .../tutorial/docs/build/html/references.html | 26 +++---- .../tutorial/docs/build/html/search.html | 14 ++-- .../tutorial/docs/build/html/transmitter.html | 42 +++++----- 13 files changed, 187 insertions(+), 169 deletions(-) diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle index 8a61932d8f382c682e8cb3b4d4107881f0692837..92524fff4ae8b6c21720a26eff18d25fda2f9b15 100644 GIT binary patch delta 9174 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 J_)+IP;r{^wCb9qk delta 8152 zcmbtZdvH|M8PDC2>?XXDCD}ksAdy$H$&DM?5Kt&!g_drU8iZz`hV<^{lHJ2*H|~SS z9}*c9D_v{kTy4cN<4mVGjDTQNI*cGQOmVPgz-pzI7Nn?@`iGBBA3W{%os+wF@4mcQ z{`t<{bI!Y!f?w+70Aoa=JkzjYf6!9vLD0PH!If8&} z@1ywZ0E*)%4xu=KVn2$LDA?|&@Yg{U@1npR$Z6A%eb(Ik@!%Kq#}0GL)w4gR57qm| zvt4$WhhD3_eE)p<_xfHs*jGfKvD@iJdo5jUpG242$4(n0w*cm8rOsRAJxa>*^YXTX zPXScyCt$5MzpsZ#x8{(Ur;p`mca$_fuIYUX3@9AX~M=hz;IJD^)%Up9r2m< zcQw;nO;d#3@tHzLGyU~lHsK)7SUFy-AmWSoWhLq+`*wMa3Zd;w7FqnC+_+U zdJM@i^T zg;n&$2dXU}!xEtI7kaU&BEODYfN`?$DU<)C9c@$TXLBlraa3^nMtGC!xXJfX6w!B` zb4r+VOk>o^LYx#oG4jRa1XUx!?fI)%09TaVoBu4%d#86>PKm_+}Y* z_;_xa@F3fvy|pNHhX>N_&^D?aR?MpvHn1Ir=h;$s2&dbjA17^TZIJ2HP7z}AaA$>? z$Arz4CM`b4VrONu&vW-;F|hbe7SPieMKyk<9aHI9#|+ymurhse(^;)Hx@kdaf!B%E z0O?`d$6(V{0?Qywn!S8yOq$8UCHfEdjA~>QGe?4+NJy5IbY&DP?3bYHMHF(2e$Vrm z<0Ake=TQ6&#RU`>QCvdtDF``c>613~$ohnSJa>=YjMZ(S?E3U1%* zZ(WPt0+gF&~Pmoag(BkkAno4CDsKx4Z67K1+2un7yy+ng>2=+Ham78@4-!hHMNZ<9RiD9tOIh1>GfiFFO(yu)MbpJ6b0BD?s~6iI8j0N|0N_5}o(ost zOa|f*+Zcq7v_27+EU6Or!lKdo)JhL8nK+O_dC%=r{*7^nV)BFF!!lt6=F?cF6Q1^HZIlNYJf_7 z#2AXHKD8>1Lkwg$H-`lI5`4|Glef$45He9awOYpdBNGebKr?YK|e3=0w~CoA*_ zwMNTG8}?FH`xI|h6_pK)BnW%)ScP*j2s>^+wm3IEHN-Ya-oZzlp z2THzGG12+?^B`dMGjhzq9PPOq~;{-K+dK>2%hp5qG zw1Osgbt%J0WA5ga^`ZnfM{n+pmGM5Pg>=R?AK3I((IK`t$ zA^ROOf*j$)n|wINhvTdmzvxQrg-4Q{oK>H}sJ-wo(`3Dne+Se5Gd;c9CZ5lMoRuzG zGgj>s!vMfb^jt1HfiL+W4)JH>5XI!UYAd`awfxDrrl!cUh&xHkB17&)+SlW>U(024 zgfLln7O~IMnX?E!gNu_b`X2WOW<43^!)ZRe$A|YZi-dhta+j@PUq!FLJP%Siz$8Ah zvcfR5kyqbO;t*B_k&so%A8DTIsuWvCOV_l|M8E2qrhcQ*7&~vDadR?beH~m}+bDMC z!nd=#K`jG~@5l(vef?Wmdmt&8&MSw^Vm_}AUh_| zuJF7-yTXG5?Fvs2YPCx|OVFHT)Nf@3 z@PwIM&`-ctd`8a&zUzbW1YYO0DKz=fB*mh delta 27 jcmdlkvrUGjfpx0(MwT>IMyAQxtd>mP44ap;PT&9lZ|Db- diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt index a363a912d..1d9207ca6 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt +++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt @@ -9,7 +9,8 @@ ByteRider documentation .. image:: _static/ESP-IDF_Robot.jpg .. toctree:: - :maxdepth: 2 + :maxdepth: 3 + :numbered: intro overview diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/data.html b/ESP-IDF_Robot/tutorial/docs/build/html/data.html index 380c6aad3..8fe676431 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/data.html +++ b/ESP-IDF_Robot/tutorial/docs/build/html/data.html @@ -5,7 +5,7 @@ - DATA STRUCTS — Byte Rider 06-2025 documentation + 3. DATA STRUCTS — Byte Rider 06-2025 documentation @@ -14,8 +14,8 @@ - - + + @@ -34,7 +34,7 @@
-

DATA STRUCTS

+

3. DATA STRUCTS

The struct serves as the data payload for sending control signals from the transmitting device to the receiver using ESP-NOW. In addition, it may contain additional data such as telemetry, battery status, etc. The sensors_data_t struct encapsulates all control commands and sensor states relevant to the vehicle’s operation. It’s intended to be sent from a transmitting device (like a remote control) to a receiver @@ -70,14 +70,14 @@ powerful in systems programming, embedded projects, and when dealing with raw bi ESP-NOW.

-

Data Payload

+

3.1. Data Payload

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).

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))?

+

3.1.1. 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:

@@ -119,24 +119,27 @@ This enables fine-grained speed control, supports differential drive configurati

Navigation