From 152f74c301d3df8d00650e77b3a01d46438d5a7d Mon Sep 17 00:00:00 2001 From: Alexandre Bobkov Date: Sat, 19 Jul 2025 02:10:20 -0400 Subject: [PATCH] RC Robot Tutorial --- .../docs/build/doctrees/environment.pickle | Bin 29269 -> 29269 bytes .../docs/build/doctrees/overview.doctree | Bin 35424 -> 35449 bytes .../docs/build/html/_sources/overview.rst.txt | 7 ++----- .../tutorial/docs/build/html/overview.html | 9 +++++---- .../tutorial/docs/build/html/searchindex.js | 2 +- .../tutorial/docs/source/overview.rst | 2 ++ 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle index 7f8249ca77505ac74012acf26bd09c3a6fb5558d..b18e7443e79dcb1ea84ff652009969caccca2b24 100644 GIT binary patch delta 669 zcmYjMO>0v@6wP}{iD~>wKq#R^0!h=pNSlK7s~f?MAhoC)!H+miCh2=7GiBbSwxHOJ zF7#0YcXr~+Wz(efEh?fS3PM5DP0)qn!u|l)g5ca&vE7_=?mctwJ=5DVdRxZY`Q&tz z)a@E0uJZOUE~sn@ro6}u=XK@9>;|dXjEF_$?Ul2Fl1i!0%S2n-W4x-oeXb)DXGv01T9m0K9F3~yiITE?wsH?L0z37QX!HkPftt1 zmDew5l?uwr)P;@g>4`Nn6mm8+=wP^iRJc;zQx}!9vfI(KJI*>B$qhmw7l%u^q|t?H zZu0K4|E~}1%C|Gq)_&7FSgP`uoai$Rja`QmXnpqUq30VMhPpH^O0m zxiMlyaeK>2!)rEfbl?{|{;!jVQ9gET+sy>&n>x0$5Yw}1T|2i?Wl=4mk_dS$GhrY2 GTk|iD<>apb delta 665 zcmYk2&ubGw6vwlhlq5|>TNI^~N+hw(M%zUE?M3K8MO5lZuo|bklXTZ)Cd^K11;t+M zL6;bKdlUbH)+S~T1yKk;szz#8#O7 z#2<%W#uV836lC&;VZ%5O$o$DZy{iMCOvC5GhSm*MicfPfjE2Q)!|>(IK4_gjrM&&n zyMA8zqcfK@CDj`O<=f3=l*hLUx{_D3O{^|jpHPO&KVnMu+!lH~sy1Or%X)8d%k za>n2dE2^LSot^l5lZFXCdHjz%8m`_@J3EU>^%iROY;P3R`eWc@h diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree index af7d31a18efcddbc6fdee9e91e48aaff50b6bb25..933a5db92d529b0aeb07782d27d8cbe29b3ae2b0 100644 GIT binary patch delta 5020 zcmbW5dr(x@8NfXU?z+oEp&_oY3oNWeUK>SN5Qs4_K?TE8R8$(ez{2H%Ag)HmK}2Je z4l_;ity4RR8Z+%oohCB6F-}Zuw4t3k#zf!C^ZTCXobP;>>wfx!pGNMM4)&gm{QPk^ZrwS%iOiTGCn>A(XKSmn4pQ?9W23jq z*@`v+FU$op2>mvO zGNEua#Vs*zQZ#XM8WXpY%SbvCHD#k{DuoNF=~|}jl;?K`+^9~5KbEDCVjV2xpe2|p zI|WBlx>?H=GimNs6So>)QsMXI=2*%WXq7rz$6O>efxo4GKuHfAOLt2yG%p9fNPn4< zU1-K7y@vw>fg>5slng-p0=Kk)5#Y{T64QZ>$#ywMPG0E>?8@w-(ODthtcUwq8{p1kQHWqz#2r|^U>+e>=r3?5 zmdHu+J=rElY;Bcij7D{Id3)Mhdb)gD;G{L7LE`Uz@Mo!!NU}+u`BMx@M|(XRy~6yc z)Yjwi`TUGxiBR8+MC75-+)iad1V2x?>_<&2o-0FXYhU{gQK_kQv)9udrD}C)zKlwI zShuCV8MZ1|fYMW#{xUeW$Z1)s8D)FNnr+x-$b9ySX@InHM@|MO)w~4#dkW8eE$$`F zxS9y1k)Kaq5E8_KAftw0r6|>^hcH$MNAskq#$%&|sv^U8c@CnL0Cpx;EJ`6qcvwr( z=hs+R+SxgzT2#-@H^`mVxl>betQ!3?KZks*a~H#MwbdEqYn{8!(-}O9ha$wIc#x|A zo*U}i+>rNvvkXPiE$}kiQ#6PWvVu}owf%w8A;?x;O7{(4)3tLEu z&J~5_-YasFdY!9boK{gxkt__Y`bMZ8g!(MO@x_^>ALWZluV|xN^!EUt-xp@y4)=>U zlB1k?JuLIj5+`|=GXc@Z?&*DWk-wmvTUw4ey(a3vBKmkwXYPby>~Q3nIZ(S~KaG?i zExEwN6cR}+)`CVm;DtbK2053LT5hjQ@3#b%OEYPys-X&PEe^5emW&-i8w{#89L4-U zOuG!SV`?&Z(a_xnIT+%*TVngd61-_5cqH0YBg4`1TyyY-@v@zdH_X4v=MnlgS4V1~ z;n};1m(h72JJ#p%k6<~e!w}EG+6phd#?YL2<*G5+z$gD*k)8X#F^Cdcp;kV?;m|^q zsa$}%Wn;OY;LM<3xq?5+cldbFZX>F`jpJCGK7*X)8|e2Bn_t5i7+)S@9tEd0zZe=; zYzuM0W_s9#CR87b<3SfP;F(GjI4T#CWT>xn#S3{@&q?@2Wmb%kh$a}XTt^E`a9&P< zB~@|DMlIVn_LTTGdD^`GQS+wFUY~dK3tm6V_#(6u%y_d9z@rN}T&dD)bEWF2THqz2 zHit|Uhnbik_wa-tYh&ozDPozCo=e6)vc57G;>s)|6qq>y*A%y#oaoSPdhD&8MUR$_|V6_is-O(P^bd{mo=jb;35x5T(f(Zvw1ZdDZY)n$=Hot*>2^?I5@*qBB$WYs5=g*xkE ztQOKu9+Fo1zf!#smtDw8W zi)qXt2X*dM(dVj};%zmB&p$L;u>oKsJyi($FqHA}Do(75YU za;bUQ@XhQmNIxWNWeXXHJ@Ez;ob6o4yvGJ~|*fWP7Z%SQYL=ONC5W>x%O&`aZJR zlvzULg+k7W4*hymqW#FpYKUVbdWuUEVZ-zd+~ zdWvPN{$WpXw%tp}IdF93#ht}~*mp|sR`Y?Uqk&$sz>c3_8{FZf*O<{9i(*p0doMwD zXFmQn;Q3BB-d;({*}$RBCkTE!ekeO;K8v+ZsW8Fc<-E8FrdRzG+r~H;_9Z}RS3jK* z#nv!xHyaGv#+&R*`H8f3#=WgC*y(RLq0;b2a<=Y2zfUk@A)>O z@aHI^>}SgRbR(uM9EWEKucZ)?uDw4>Q|Etfy35 z>@VKhjmCEL^=$#?{s}S;vkx4kDbcu#o{UOTY|;Ec-i0p@_-Sr5+dg)E`><|_?-P|{ T`w@1R+TqejKHl_`BcA^QTd0q} delta 5189 zcmb7|dr(x@9mhQf?y|d}5=D?VLO`AdMTmfehiQBTf}kh@$^wg*D=%5VsO44BxXz|Y zdN$*vnbJ5uG8#*Y`%g+6I}jbGoe9;}Hq)4CLS{0yHl~`()+U1NM#Fx|#B-0-N{ZCD5iri1D6q2bO_=+IIscGn2 zZuWDyrZWXN$d62?WWq&%+CmtQq-Eh4_168gD!8>VeLc=(x9nOFTgj5-8ghNU9p)h$ zl;_)>@g%}){K$sL<#C1jlPe8EmDDC7T4;xm4zPX4_PDz5tNpZnpA!;5pAcp98zvT; zOf0cKGyxq$=oX!hCazg1^8B{1To#L8VL@9;pjaM1ep9;TpyW;Y9grt=@|Zb!EGrGa zuao2Eq*$7Wuju4uMyfmA?MHXIP1%D7WiP`J62z%g$}wfrSiI6S~V1QXk#h zauCMgGf)FFUJapaH>lM5a}9#Vyhj6j%|Ux!8+ug(Up57QmY;y$*0|%0Q#)rZ87$E{ z=Od%0B~L~dnf*G5{JcSD;=#!Op@CP;!P7;dq^95{bVq}~Hiv1$3?es+bFodJ>!*f3 z@tDxd3o~%KKp$C4Da4(^jMbK$Bp54>SLtMtIeEJ17kH~qZZ;>O0pndd+0ICHvm^=p z?!PTR3rY*FrdKiKk0rBhN)N7L`x~0D-zw-rBg`q6e|MgG=)f6L_RvRJ!+s8(*f^1u}+Ym*N<>4r5!2S1n z6g7B`h1TE+t_F1sA#bit3F3-SLoThY780pT;;=-Lwd;a&rG3!er60pUOPm06N{P2~ z@y_@P$O*A<&3grSP|iO&A%fXN?xQANTc01VyfhRq2cX3mS4!gBP0aJrxD|4T-QNTW zw^;br*DMDj_x|(GN8c?3YoD8Dk}{txdB`ox>ym8sx+|D9PBT*6IW#lYSUoJ98TPr zh=w(A$PjyO09}b0VxPAu3>|0262yMgpfbY8eip#rYT$e3U`15{`m+Z9>CxbHW-7Tk z*IzC1$m7EFZVp4=F{iB%<~IhXcla=uZwbTmtn8_vUl)eY%jTVsz=T2U9G}3*Hh8Rc z@*{KdneF@WEuH+zoTLeCsZYRG8(U}^fneiL4(Db_fd0~4Q7hiKDT-~-0BtT)+--vO?8GFhVUkxtS~2k+PDSPNe)jbw({oj)+1p%!#>t1xMR*cqpGvn{ZDNy~*7p*W{}V>^X%YB_-a!x9PJPj4u? z@K(I)3zYI~!hO|Iw(1C8!PnuYTlzPQ(wB6&0Yjgcz9%_>1ByTh8Fk&lL3X-aaOfNCUm8*dj=9CU2*o=~F7zKv3H6kEk+shEkm#B1VPOi8>U%g{Z- zWF(rnbcG&3N9k~n4)n+=#lTw^j(sHSrQ66yk`KL(X9vRaFR@2R_CWTyUL|)Ad4)*0 XV7oL_UlMH>0ZS&_Rd6C$c-ZlO^IJhT diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/overview.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/overview.rst.txt index d43435488..6a36b80fd 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/overview.rst.txt +++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/overview.rst.txt @@ -32,11 +32,6 @@ direction of the RC car. Based on this constraint, the RC car can only move front, back, and turn/rotate left and right. Any other movements are not possible (i.e. diagonal or sideways). -:math:`PWM_{left} = PWM_{right}` - -.. math:: - PWM_{left} = PWM_{right} - +--------------------------+-----------+ | PWM of DC Motors | Direction | +--------------------------+-----------+ @@ -62,6 +57,8 @@ Changing PWM on each channel determines the speed and direction of the RC car. The table below summarizes the GPIO pins used for PWM to control the direction of the DC motors in the remote-controlled car. +:class: break + +-----------+-------+---------------------------------------+----------+ | GPIOs | State | Description | Function | +===========+=======+=======================================+==========+ diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/overview.html b/ESP-IDF_Robot/tutorial/docs/build/html/overview.html index b0c79ab14..bf15269e3 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/overview.html +++ b/ESP-IDF_Robot/tutorial/docs/build/html/overview.html @@ -12,7 +12,6 @@ - @@ -56,9 +55,6 @@ of DC motors in pairs only (i.e. left and right side). Consequently, this means direction of the RC car.

Based on this constraint, the RC car can only move front, back, and turn/rotate left and right. Any other movements are not possible (i.e. diagonal or sideways).

-

\(PWM_{left} = PWM_{right}\)

-
-\[PWM_{left} = PWM_{right}\]
@@ -88,6 +84,11 @@ In particular, GPIO6 and GPIO5 provide PWM to Similarly, GPIO4 and GPIO7 provide PWM to the left- and right- side DC motors to rotate in a counter-clockwise direction. Changing PWM on each channel determines the speed and direction of the RC car.

The table below summarizes the GPIO pins used for PWM to control the direction of the DC motors in the remote-controlled car.

+
+
class:
+

break

+
+

PWM of DC Motors

diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js b/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js index a2bd5ffe6..6b1e04b2c 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js +++ b/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles":{"ABSTRACT":[[2,"abstract"]],"ByteRider documentation":[[1,null]],"Chassis":[[4,"chassis"]],"Configuration Variables":[[5,"configuration-variables"],[7,"configuration-variables"]],"Controlling the Direction and Speed":[[3,"controlling-the-direction-and-speed"]],"DATA STRUCTS":[[0,null]],"Data Payload":[[0,"data-payload"]],"Finished Work":[[4,"finished-work"]],"Fusion of Software with Hardware":[[3,"fusion-of-software-with-hardware"]],"GitHub":[[6,"github"]],"HOW DOES IT WORK?":[[3,null]],"Main Function":[[5,"main-function"],[7,"main-function"]],"Motor Wires Harness":[[4,"motor-wires-harness"]],"OVERVIEW":[[2,null]],"RECEIVER":[[5,null]],"REFERENCES":[[6,null]],"Reading Joystick x- and y- Axis Values":[[7,"reading-joystick-x-and-y-axis-values"]],"Reading the Joystick x- and y- axis":[[3,"reading-the-joystick-x-and-y-axis"]],"Receiving & Extracting Data":[[5,"receiving-extracting-data"]],"Reserved Pins & GPIOs":[[3,"reserved-pins-gpios"]],"Schematic":[[3,"schematic"]],"Sending & Ecapsulating Data":[[7,"sending-ecapsulating-data"]],"TRANSMITTER":[[7,null]],"WORK-IN-PROGRESS WALK THROUGH":[[4,null]],"What is PWM?":[[3,null]],"What is struct?":[[0,null]],"Why use __attribute((packed))?":[[0,"why-use-attribute-packed"]],"Wiring":[[4,"wiring"]]},"docnames":["data","index","intro","overview","progress","receiver","references","transmitter"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["data.rst","index.rst","intro.rst","overview.rst","progress.rst","receiver.rst","references.rst","transmitter.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"":[0,2],"0":[3,5],"02x":5,"04x":3,"0x":3,"0x14":5,"0x17":7,"0x44":7,"0x54":5,"0x63":7,"0x6e":5,"0x9c":5,"0x9e":[5,7],"0xb0":7,"0xb5":5,"0xe4":7,"1":[3,5],"100":3,"15":3,"16":3,"2":[3,5],"250":0,"3":[3,5],"4":[0,3,5],"47":3,"48":3,"5":[3,5],"50":[],"6":3,"7":3,"8":3,"90":3,"91":3,"95":[],"A":3,"As":0,"At":2,"IN":1,"IT":1,"If":3,"In":[0,3],"It":[0,3],"NOT":3,"ON":[0,5,7],"On":2,"The":[0,2,3],"These":2,"To":[2,3],"__attribut":1,"__attribute__":[0,5,7],"__gpio6__":[],"_gitbub":[],"_static":[],"abstract":1,"across":0,"ad":0,"adapt":[3,6],"adc":3,"adc1_ch0":3,"adc1_ch1":3,"add":0,"addit":[0,2],"address":[3,7],"adjust":2,"alexandrebobkov":[3,6],"align":0,"all":0,"alloc":3,"allow":[0,2,3],"an":[0,2],"analog":[0,3],"ani":[0,2,3],"app_main":[5,7],"appear":2,"appli":2,"ar":[0,2,3],"architectur":[],"arg":3,"assign":[],"attribut":0,"avail":[2,3],"axi":[1,2],"back":3,"bacl":3,"bandwidth":0,"base":[2,3],"baselin":2,"batteri":0,"behavior":[],"behaviour":2,"being":3,"belong":0,"below":3,"between":[0,2,3],"binari":0,"bitbyterid":3,"biterid":3,"bitrid":3,"blob":6,"board":[0,3],"bool":[0,5,7],"both":2,"breadboard":3,"brief":3,"buf":[3,5],"buffer":[3,7],"button":[0,3,5,7],"byte":0,"c":0,"c3":[2,3],"c3_breadboard":[3,6],"call":[3,7],"can":[2,3],"capabl":2,"captur":0,"car":[2,3],"chang":[2,3],"channel":[3,5],"chassi":1,"chip_sensor_init":7,"clockwis":3,"code":[2,3,6],"column":[],"com":[3,6],"command":0,"commun":[0,2],"compact":0,"compat":0,"compil":0,"complet":[4,6],"configur":[0,1],"connect":[2,3],"connectionless":2,"consequ":3,"consist":[],"const":5,"constraint":3,"contain":0,"content":[],"contin":3,"continu":2,"control":[0,1,2,4],"convert":2,"coordin":2,"core":2,"correspond":3,"counter":3,"counterclockwis":3,"crc":3,"creativ":2,"current":5,"custom":2,"customiz":2,"cycl":3,"d":5,"data":[1,2,3],"data_len":[3,5],"dc":[0,2,3,4,5,7],"ddiscret":[],"de":[],"deal":0,"declar":3,"decod":0,"decreas":3,"dedic":[],"defin":[0,2,3],"deletep":3,"deliv":3,"demonstr":2,"depend":2,"descript":3,"design":[2,3,6],"desir":3,"detail":[],"determin":[0,3],"devboard":3,"develop":[2,3],"developmemt":3,"devic":[0,2,3],"diagon":3,"differ":0,"differenti":0,"digit":3,"direct":[0,1,2],"directli":2,"discret":3,"displai":3,"doe":1,"dr":3,"drive":0,"due":3,"duti":3,"e":[0,3],"each":[3,7],"easili":2,"ecapsul":1,"effect":3,"effici":2,"elegantli":2,"els":3,"embed":0,"emploi":2,"enabl":[0,2],"encapsul":0,"encod":0,"encrypt":5,"end":0,"endless":2,"ensur":0,"error":3,"esp":[0,2,3,6,7],"esp32":[2,3,6],"esp_err":[5,7],"esp_err_nvs_new_version_found":[5,7],"esp_err_nvs_no_free_pag":[5,7],"esp_err_t":[5,7],"esp_error_check":[5,7],"esp_if_wifi_sta":5,"esp_log":3,"esp_logi":[3,5],"esp_logw":3,"esp_now_add_p":5,"esp_now_eth_alen":[5,7],"esp_now_init":5,"esp_now_is_peer_exist":3,"esp_now_peer_info_t":5,"esp_now_register_recv_cb":5,"esp_now_send":[3,7],"esp_now_send_status_t":3,"especi":0,"espressif":2,"etc":0,"even":[0,2],"event":3,"everi":3,"evok":3,"evolv":[],"exact":0,"exchang":[],"exist":[],"expand":2,"expect":0,"extend":2,"extract":[1,2],"facilit":2,"fals":5,"fast":2,"featur":2,"fi":2,"field":0,"file":6,"final":0,"fine":[0,3],"finish":1,"fix":[0,3],"flow":2,"focus":2,"follow":3,"form":2,"forward":3,"foundat":2,"four":[0,3],"free":2,"freedom":2,"freerto":[5,7],"frequenc":3,"from":[0,5],"front":3,"function":[1,2,3],"fusion":1,"g":0,"get":3,"github":[1,3],"github_":[],"give":2,"gpio":1,"gpio0":3,"gpio1":3,"gpio4":3,"gpio5":3,"gpio6":3,"gpio7":3,"grain":[0,3],"group":0,"guid":2,"h":[5,7],"handl":2,"har":1,"hardwar":[0,1,2],"harn":4,"heart":2,"hexadecim":3,"high":3,"higher":3,"hold":[0,3,7],"hood":2,"how":1,"http":[3,6],"i":2,"idea":[],"ideal":[0,2],"idf_robot":6,"idf_robot_schemat":[],"ifidx":5,"igit":[],"illustr":3,"imag":3,"implement":2,"includ":[5,7],"incom":2,"increas":3,"indic":0,"individu":0,"inform":0,"initi":[5,7],"input":[0,2],"insid":4,"instal":4,"instantli":2,"int":[0,3,5,7],"integr":2,"intend":0,"intern":7,"interpret":0,"interv":0,"introduct":[],"itself":2,"joystic":3,"joystick":[0,1,2,5],"joystick_adc_init":7,"khz":3,"kicad":[3,6],"lastli":[],"latenc":[0,2],"layout":0,"led":[0,5,7],"ledc_channel_0":3,"ledc_channel_1":3,"ledc_channel_2":3,"ledc_channel_3":3,"left":3,"len":5,"length":[3,7],"let":0,"level":3,"li":[],"light":2,"lightweight":2,"like":[0,2],"limit":3,"listen":2,"logic":0,"loop":2,"low":[0,2,3],"lower":3,"mac":[3,7],"mac_addr":[3,5],"mai":0,"main":[1,6],"maintain":[],"make":0,"manag":2,"maneuv":0,"master":[],"maxim":0,"md":6,"mean":3,"measur":3,"memcpi":5,"memori":[0,3,7],"messag":3,"microcontrol":[0,2,3],"minim":0,"modul":[2,3],"modular":2,"monitor":2,"motor":[0,1,2,3,5,7],"motor1_rpm_pcm":[],"motor1_rpm_pwm":[0,3,5,7],"motor2_rpm_pcm":[],"motor2_rpm_pwm":[0,3,5,7],"motor3_rpm_pcm":[],"motor3_rpm_pwm":[0,3,5,7],"motor4_rpm_pcm":[],"motor4_rpm_pwm":[0,3,5,7],"motors_rpm":[0,3,5],"move":3,"movement":[2,3],"multi":0,"multipl":0,"name":0,"nav_btn":7,"nav_bttn":[0,3,5],"need":[2,3],"network":2,"node":6,"nor":[],"note":3,"now":[0,2,3,7],"num":[],"number":3,"nv":[5,7],"nvs_flash":[5,7],"nvs_flash_eras":[5,7],"nvs_flash_init":[5,7],"off":[0,3,5,7],"often":3,"ok":3,"omni":0,"onboard":0,"ondatareceiv":[3,5],"ondatas":3,"one":3,"onli":[3,4],"oper":[0,2,3],"organ":0,"oscilloscop":3,"other":3,"over":0,"overview":1,"pack":[1,2,5,7],"packet":[0,2,3],"pad":0,"pair":[0,2,3],"paramet":2,"pars":0,"particular":3,"payload":1,"pcb":[3,6],"peer_addr":5,"per":3,"percentag":3,"perfect":0,"period":3,"physic":2,"pin":1,"platform":0,"png":[],"pointer":[3,7],"porttick_period_m":3,"posit":[0,3,5,7],"possibl":[2,3],"potentionomet":3,"power":[0,3],"precis":0,"predefin":2,"predict":0,"program":0,"progress":1,"project":[0,2],"protocol":[0,2],"provid":[0,2,3],"puls":[2,3],"purpos":3,"push":[0,3,5,7],"pwm":[0,2,5,7],"pwm_":3,"rapidli":3,"raw":0,"rc":[2,3],"rc_send_data_task":3,"read":1,"readm":6,"real":2,"receiv":[0,1,2,3,7],"receiver_mac":[3,7],"record":[],"refer":1,"regist":3,"regul":3,"regular":0,"relat":0,"relev":0,"remain":2,"remot":[0,2,3],"remov":0,"repres":0,"requir":3,"reserv":1,"resp":3,"respond":2,"respons":0,"restructuredtext":[],"result":[2,3,7],"ret":[5,7],"revers":3,"right":3,"robot":0,"rotat":3,"router":2,"row":[],"run":3,"same":[],"schemat":[1,6],"seamless":[],"second":3,"secur":4,"see":[],"send":[0,1,2,3],"senddata":[3,7],"sensor":[0,2,7],"sensors_data_t":[0,3,5,7],"sent":[0,2,3],"serial":0,"serv":0,"set":3,"setup":2,"share":[],"short":0,"side":[2,3],"sidewai":3,"signal":[0,2,3],"similarli":3,"simul":3,"singl":0,"size":0,"sizeof":[3,5,7],"softwar":1,"sourc":[2,6],"specif":[],"speed":[0,1,2],"spin":3,"spotlight":2,"stand":3,"state":[0,3,5,7],"static":3,"statu":[0,3],"store":[2,3],"straight":3,"stream":0,"string":5,"struct":[1,3,5,7],"structur":[0,2],"sub":[],"suffici":[],"summar":3,"summari":3,"support":0,"switch":3,"synchron":[],"syntax":[],"system":[0,2],"system_led_init":[5,7],"tabl":3,"tag":[3,5],"task":3,"techniqu":3,"telemetri":[0,2],"tell":0,"temperatur":7,"thi":[0,2,3],"those":3,"though":2,"through":1,"time":[2,3],"togeth":0,"toggl":0,"translat":2,"transmiss":[0,2],"transmission_init":7,"transmit":[0,2,3],"transmitt":[0,1,2],"transmitter_mac":5,"transmitterinfo":5,"true":3,"turn":3,"tutori":2,"two":3,"type":0,"typedef":[0,5,7],"uart":0,"uint8_t":[0,3,5,7],"under":[0,2],"understand":[],"up":0,"updat":3,"us":[1,2,3],"user":[0,2],"valu":[1,2,3],"vari":2,"variabl":[0,1],"variou":3,"vehicl":0,"via":2,"void":[3,5,7],"voltag":3,"vtaskdelai":3,"wa":3,"walk":1,"walkthrough":[],"warn":0,"well":[],"what":[],"wheel":0,"when":[0,3],"where":2,"which":2,"while":[2,3],"why":1,"wi":2,"width":[2,3],"wifi":5,"wifi_init":[5,7],"wildli":2,"wire":1,"wireless":2,"wirelessli":2,"without":[2,3],"work":1,"wroom":3,"x":[0,1,2,5],"x_axi":[0,3,5,7],"y":[0,1,2,5],"y_axi":[0,3,5,7],"you":[0,2],"your":2},"titles":["3. DATA STRUCTS","ByteRider documentation","1. OVERVIEW","2. HOW DOES IT WORK?","6. WORK-IN-PROGRESS WALK THROUGH","5. RECEIVER","7. REFERENCES","4. TRANSMITTER"],"titleterms":{"IN":4,"IT":3,"__attribut":0,"abstract":2,"axi":[3,7],"byterid":1,"chassi":4,"configur":[5,7],"control":3,"data":[0,5,7],"de":[],"direct":3,"document":1,"doe":3,"ecapsul":7,"encapsul":[],"extract":5,"finish":4,"function":[5,7],"fusion":3,"github":6,"gpio":3,"har":4,"hardwar":3,"how":3,"i":[0,3],"introduct":[],"joystick":[3,7],"main":[5,7],"motor":4,"overview":2,"pack":0,"payload":0,"pin":3,"progress":4,"pwm":3,"read":[3,7],"receiv":5,"refer":6,"reserv":3,"schemat":3,"send":7,"softwar":3,"speed":3,"struct":0,"through":4,"transmitt":7,"us":0,"valu":7,"variabl":[5,7],"walk":4,"walkthrough":[],"what":[0,3],"why":0,"wire":4,"work":[3,4],"x":[3,7],"y":[3,7]}}) \ No newline at end of file +Search.setIndex({"alltitles":{"ABSTRACT":[[2,"abstract"]],"ByteRider documentation":[[1,null]],"Chassis":[[4,"chassis"]],"Configuration Variables":[[5,"configuration-variables"],[7,"configuration-variables"]],"Controlling the Direction and Speed":[[3,"controlling-the-direction-and-speed"]],"DATA STRUCTS":[[0,null]],"Data Payload":[[0,"data-payload"]],"Finished Work":[[4,"finished-work"]],"Fusion of Software with Hardware":[[3,"fusion-of-software-with-hardware"]],"GitHub":[[6,"github"]],"HOW DOES IT WORK?":[[3,null]],"Main Function":[[5,"main-function"],[7,"main-function"]],"Motor Wires Harness":[[4,"motor-wires-harness"]],"OVERVIEW":[[2,null]],"RECEIVER":[[5,null]],"REFERENCES":[[6,null]],"Reading Joystick x- and y- Axis Values":[[7,"reading-joystick-x-and-y-axis-values"]],"Reading the Joystick x- and y- axis":[[3,"reading-the-joystick-x-and-y-axis"]],"Receiving & Extracting Data":[[5,"receiving-extracting-data"]],"Reserved Pins & GPIOs":[[3,"reserved-pins-gpios"]],"Schematic":[[3,"schematic"]],"Sending & Ecapsulating Data":[[7,"sending-ecapsulating-data"]],"TRANSMITTER":[[7,null]],"WORK-IN-PROGRESS WALK THROUGH":[[4,null]],"What is PWM?":[[3,null]],"What is struct?":[[0,null]],"Why use __attribute((packed))?":[[0,"why-use-attribute-packed"]],"Wiring":[[4,"wiring"]]},"docnames":["data","index","intro","overview","progress","receiver","references","transmitter"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["data.rst","index.rst","intro.rst","overview.rst","progress.rst","receiver.rst","references.rst","transmitter.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"":[0,2],"0":[3,5],"02x":5,"04x":3,"0x":3,"0x14":5,"0x17":7,"0x44":7,"0x54":5,"0x63":7,"0x6e":5,"0x9c":5,"0x9e":[5,7],"0xb0":7,"0xb5":5,"0xe4":7,"1":[3,5],"100":3,"15":3,"16":3,"2":[3,5],"250":0,"3":[3,5],"4":[0,3,5],"47":3,"48":3,"5":[3,5],"50":[],"6":3,"7":3,"8":3,"90":3,"91":3,"95":[],"A":3,"As":0,"At":2,"IN":1,"IT":1,"If":3,"In":[0,3],"It":[0,3],"NOT":3,"ON":[0,5,7],"On":2,"The":[0,2,3],"These":2,"To":[2,3],"__attribut":1,"__attribute__":[0,5,7],"__gpio6__":[],"_gitbub":[],"_static":[],"abstract":1,"across":0,"ad":0,"adapt":[3,6],"adc":3,"adc1_ch0":3,"adc1_ch1":3,"add":0,"addit":[0,2],"address":[3,7],"adjust":2,"alexandrebobkov":[3,6],"align":0,"all":0,"alloc":3,"allow":[0,2,3],"an":[0,2],"analog":[0,3],"ani":[0,2,3],"app_main":[5,7],"appear":2,"appli":2,"ar":[0,2,3],"architectur":[],"arg":3,"assign":[],"attribut":0,"avail":[2,3],"axi":[1,2],"back":3,"bacl":3,"bandwidth":0,"base":[2,3],"baselin":2,"batteri":0,"behavior":[],"behaviour":2,"being":3,"belong":0,"below":3,"between":[0,2,3],"binari":0,"bitbyterid":3,"biterid":3,"bitrid":3,"blob":6,"board":[0,3],"bool":[0,5,7],"both":2,"breadboard":3,"break":3,"brief":3,"buf":[3,5],"buffer":[3,7],"button":[0,3,5,7],"byte":0,"c":0,"c3":[2,3],"c3_breadboard":[3,6],"call":[3,7],"can":[2,3],"capabl":2,"captur":0,"car":[2,3],"chang":[2,3],"channel":[3,5],"chassi":1,"chip_sensor_init":7,"class":3,"clockwis":3,"code":[2,3,6],"column":[],"com":[3,6],"command":0,"commun":[0,2],"compact":0,"compat":0,"compil":0,"complet":[4,6],"configur":[0,1],"connect":[2,3],"connectionless":2,"consequ":3,"consist":[],"const":5,"constraint":3,"contain":0,"content":[],"contin":3,"continu":2,"control":[0,1,2,4],"convert":2,"coordin":2,"core":2,"correspond":3,"counter":3,"counterclockwis":3,"crc":3,"creativ":2,"current":5,"custom":2,"customiz":2,"cycl":3,"d":5,"data":[1,2,3],"data_len":[3,5],"dc":[0,2,3,4,5,7],"ddiscret":[],"de":[],"deal":0,"declar":3,"decod":0,"decreas":3,"dedic":[],"defin":[0,2,3],"deletep":3,"deliv":3,"demonstr":2,"depend":2,"descript":3,"design":[2,3,6],"desir":3,"detail":[],"determin":[0,3],"devboard":3,"develop":[2,3],"developmemt":3,"devic":[0,2,3],"diagon":3,"differ":0,"differenti":0,"digit":3,"direct":[0,1,2],"directli":2,"discret":3,"displai":3,"doe":1,"dr":3,"drive":0,"due":3,"duti":3,"e":[0,3],"each":[3,7],"easili":2,"ecapsul":1,"effect":3,"effici":2,"elegantli":2,"els":3,"embed":0,"emploi":2,"enabl":[0,2],"encapsul":0,"encod":0,"encrypt":5,"end":0,"endless":2,"ensur":0,"error":3,"esp":[0,2,3,6,7],"esp32":[2,3,6],"esp_err":[5,7],"esp_err_nvs_new_version_found":[5,7],"esp_err_nvs_no_free_pag":[5,7],"esp_err_t":[5,7],"esp_error_check":[5,7],"esp_if_wifi_sta":5,"esp_log":3,"esp_logi":[3,5],"esp_logw":3,"esp_now_add_p":5,"esp_now_eth_alen":[5,7],"esp_now_init":5,"esp_now_is_peer_exist":3,"esp_now_peer_info_t":5,"esp_now_register_recv_cb":5,"esp_now_send":[3,7],"esp_now_send_status_t":3,"especi":0,"espressif":2,"etc":0,"even":[0,2],"event":3,"everi":3,"evok":3,"evolv":[],"exact":0,"exchang":[],"exist":[],"expand":2,"expect":0,"extend":2,"extract":[1,2],"facilit":2,"fals":5,"fast":2,"featur":2,"fi":2,"field":0,"file":6,"final":0,"fine":[0,3],"finish":1,"fix":[0,3],"flow":2,"focus":2,"follow":3,"form":2,"forward":3,"foundat":2,"four":[0,3],"free":2,"freedom":2,"freerto":[5,7],"frequenc":3,"from":[0,5],"front":3,"function":[1,2,3],"fusion":1,"g":0,"get":3,"github":[1,3],"github_":[],"give":2,"gpio":1,"gpio0":3,"gpio1":3,"gpio4":3,"gpio5":3,"gpio6":3,"gpio7":3,"grain":[0,3],"group":0,"guid":2,"h":[5,7],"handl":2,"har":1,"hardwar":[0,1,2],"harn":4,"heart":2,"hexadecim":3,"high":3,"higher":3,"hold":[0,3,7],"hood":2,"how":1,"http":[3,6],"i":2,"idea":[],"ideal":[0,2],"idf_robot":6,"idf_robot_schemat":[],"ifidx":5,"igit":[],"illustr":3,"imag":3,"implement":2,"includ":[5,7],"incom":2,"increas":3,"indic":0,"individu":0,"inform":0,"initi":[5,7],"input":[0,2],"insid":4,"instal":4,"instantli":2,"int":[0,3,5,7],"integr":2,"intend":0,"intern":7,"interpret":0,"interv":0,"introduct":[],"itself":2,"joystic":3,"joystick":[0,1,2,5],"joystick_adc_init":7,"khz":3,"kicad":[3,6],"lastli":[],"latenc":[0,2],"layout":0,"led":[0,5,7],"ledc_channel_0":3,"ledc_channel_1":3,"ledc_channel_2":3,"ledc_channel_3":3,"left":3,"len":5,"length":[3,7],"let":0,"level":3,"li":[],"light":2,"lightweight":2,"like":[0,2],"limit":3,"listen":2,"logic":0,"loop":2,"low":[0,2,3],"lower":3,"mac":[3,7],"mac_addr":[3,5],"mai":0,"main":[1,6],"maintain":[],"make":0,"manag":2,"maneuv":0,"master":[],"maxim":0,"md":6,"mean":3,"measur":3,"memcpi":5,"memori":[0,3,7],"messag":3,"microcontrol":[0,2,3],"minim":0,"modul":[2,3],"modular":2,"monitor":2,"motor":[0,1,2,3,5,7],"motor1_rpm_pcm":[],"motor1_rpm_pwm":[0,3,5,7],"motor2_rpm_pcm":[],"motor2_rpm_pwm":[0,3,5,7],"motor3_rpm_pcm":[],"motor3_rpm_pwm":[0,3,5,7],"motor4_rpm_pcm":[],"motor4_rpm_pwm":[0,3,5,7],"motors_rpm":[0,3,5],"move":3,"movement":[2,3],"multi":0,"multipl":0,"name":0,"nav_btn":7,"nav_bttn":[0,3,5],"need":[2,3],"network":2,"node":6,"nor":[],"note":3,"now":[0,2,3,7],"num":[],"number":3,"nv":[5,7],"nvs_flash":[5,7],"nvs_flash_eras":[5,7],"nvs_flash_init":[5,7],"off":[0,3,5,7],"often":3,"ok":3,"omni":0,"onboard":0,"ondatareceiv":[3,5],"ondatas":3,"one":3,"onli":[3,4],"oper":[0,2,3],"organ":0,"oscilloscop":3,"other":3,"over":0,"overview":1,"pack":[1,2,5,7],"packet":[0,2,3],"pad":0,"pair":[0,2,3],"paramet":2,"pars":0,"particular":3,"payload":1,"pcb":[3,6],"peer_addr":5,"per":3,"percentag":3,"perfect":0,"period":3,"physic":2,"pin":1,"platform":0,"png":[],"pointer":[3,7],"porttick_period_m":3,"posit":[0,3,5,7],"possibl":[2,3],"potentionomet":3,"power":[0,3],"precis":0,"predefin":2,"predict":0,"program":0,"progress":1,"project":[0,2],"protocol":[0,2],"provid":[0,2,3],"puls":[2,3],"purpos":3,"push":[0,3,5,7],"pwm":[0,2,5,7],"pwm_":[],"rapidli":3,"raw":0,"rc":[2,3],"rc_send_data_task":3,"read":1,"readm":6,"real":2,"receiv":[0,1,2,3,7],"receiver_mac":[3,7],"record":[],"refer":1,"regist":3,"regul":3,"regular":0,"relat":0,"relev":0,"remain":2,"remot":[0,2,3],"remov":0,"repres":0,"requir":3,"reserv":1,"resp":3,"respond":2,"respons":0,"restructuredtext":[],"result":[2,3,7],"ret":[5,7],"revers":3,"right":3,"robot":0,"rotat":3,"router":2,"row":[],"run":3,"same":[],"schemat":[1,6],"seamless":[],"second":3,"secur":4,"see":[],"send":[0,1,2,3],"senddata":[3,7],"sensor":[0,2,7],"sensors_data_t":[0,3,5,7],"sent":[0,2,3],"serial":0,"serv":0,"set":3,"setup":2,"share":[],"short":0,"side":[2,3],"sidewai":3,"signal":[0,2,3],"similarli":3,"simul":3,"singl":0,"size":0,"sizeof":[3,5,7],"softwar":1,"sourc":[2,6],"specif":[],"speed":[0,1,2],"spin":3,"spotlight":2,"stand":3,"state":[0,3,5,7],"static":3,"statu":[0,3],"store":[2,3],"straight":3,"stream":0,"string":5,"struct":[1,3,5,7],"structur":[0,2],"sub":[],"suffici":[],"summar":3,"summari":3,"support":0,"switch":3,"synchron":[],"syntax":[],"system":[0,2],"system_led_init":[5,7],"tabl":3,"tag":[3,5],"task":3,"techniqu":3,"telemetri":[0,2],"tell":0,"temperatur":7,"thi":[0,2,3],"those":3,"though":2,"through":1,"time":[2,3],"togeth":0,"toggl":0,"translat":2,"transmiss":[0,2],"transmission_init":7,"transmit":[0,2,3],"transmitt":[0,1,2],"transmitter_mac":5,"transmitterinfo":5,"true":3,"turn":3,"tutori":2,"two":3,"type":0,"typedef":[0,5,7],"uart":0,"uint8_t":[0,3,5,7],"under":[0,2],"understand":[],"up":0,"updat":3,"us":[1,2,3],"user":[0,2],"valu":[1,2,3],"vari":2,"variabl":[0,1],"variou":3,"vehicl":0,"via":2,"void":[3,5,7],"voltag":3,"vtaskdelai":3,"wa":3,"walk":1,"walkthrough":[],"warn":0,"well":[],"what":[],"wheel":0,"when":[0,3],"where":2,"which":2,"while":[2,3],"why":1,"wi":2,"width":[2,3],"wifi":5,"wifi_init":[5,7],"wildli":2,"wire":1,"wireless":2,"wirelessli":2,"without":[2,3],"work":1,"wroom":3,"x":[0,1,2,5],"x_axi":[0,3,5,7],"y":[0,1,2,5],"y_axi":[0,3,5,7],"you":[0,2],"your":2},"titles":["3. DATA STRUCTS","ByteRider documentation","1. OVERVIEW","2. HOW DOES IT WORK?","6. WORK-IN-PROGRESS WALK THROUGH","5. RECEIVER","7. REFERENCES","4. TRANSMITTER"],"titleterms":{"IN":4,"IT":3,"__attribut":0,"abstract":2,"axi":[3,7],"byterid":1,"chassi":4,"configur":[5,7],"control":3,"data":[0,5,7],"de":[],"direct":3,"document":1,"doe":3,"ecapsul":7,"encapsul":[],"extract":5,"finish":4,"function":[5,7],"fusion":3,"github":6,"gpio":3,"har":4,"hardwar":3,"how":3,"i":[0,3],"introduct":[],"joystick":[3,7],"main":[5,7],"motor":4,"overview":2,"pack":0,"payload":0,"pin":3,"progress":4,"pwm":3,"read":[3,7],"receiv":5,"refer":6,"reserv":3,"schemat":3,"send":7,"softwar":3,"speed":3,"struct":0,"through":4,"transmitt":7,"us":0,"valu":7,"variabl":[5,7],"walk":4,"walkthrough":[],"what":[0,3],"why":0,"wire":4,"work":[3,4],"x":[3,7],"y":[3,7]}}) \ No newline at end of file diff --git a/ESP-IDF_Robot/tutorial/docs/source/overview.rst b/ESP-IDF_Robot/tutorial/docs/source/overview.rst index 9fd8c86c5..6a36b80fd 100644 --- a/ESP-IDF_Robot/tutorial/docs/source/overview.rst +++ b/ESP-IDF_Robot/tutorial/docs/source/overview.rst @@ -57,6 +57,8 @@ Changing PWM on each channel determines the speed and direction of the RC car. The table below summarizes the GPIO pins used for PWM to control the direction of the DC motors in the remote-controlled car. +:class: break + +-----------+-------+---------------------------------------+----------+ | GPIOs | State | Description | Function | +===========+=======+=======================================+==========+

GPIOs