From ba358ce67b47b22c2a5f786ff4d75b8a54aeda20 Mon Sep 17 00:00:00 2001 From: Alexandre Bobkov Date: Sat, 19 Jul 2025 01:57:27 -0400 Subject: [PATCH] RC Robot Tutorial --- .../docs/build/doctrees/environment.pickle | Bin 29269 -> 29269 bytes .../docs/build/doctrees/overview.doctree | Bin 34550 -> 34592 bytes .../docs/build/html/_sources/overview.rst.txt | 3 ++- .../tutorial/docs/build/html/overview.html | 4 +++- .../tutorial/docs/build/html/searchindex.js | 2 +- .../tutorial/docs/build/simplepdf/.buildinfo | 2 +- .../tutorial/docs/build/simplepdf/index.html | 8 +++++--- .../tutorial/docs/source/overview.rst | 2 +- 8 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle index 0adefc91613d3d943a3bf2bdf751065aa076c9a7..640663e16a1128621babf61c0e9c449463a10f2e 100644 GIT binary patch delta 688 zcmYjNOK1~O6rGu*#5R6g1u3BtNVJ(qn^20V3k6*$;zAdGP&>ZNyreTu=7l#ewSr+Z(xV<&Cx27(h9K4)C zuHEpEFM@Q95LX2Kb`v#h57Ap9SQklM1lxRum~9%!_c3K6*vh6UMwa0c6Um{BNt!Je z&x&A+M<`}(>P627S9hIDTZkc9ZBf#o*q3MeY|n}t$qc45Hoh5`7$vfcViVi4EP?@w z>zHEC#BwCdDDwQK%^0S9xo~`PUQ-ljS%P#6+s3HR#659dI4?IVa%rM;`N3jN4f*L} zj+cwsyZ>(`9g7>Y+mq{w{AxqqvB^)OFG;-}>@+N5dZ>vFMvN9>)8dX8bz;M>VL@zg zMN=jfrwjQzfDqt4zyiPrfY{9{MDgKI5G_T8{oT|6v_HsP99sFsf0Qn8st@s+KEWsS z9Dk};v%6D@a$i29tSZU9MuC1#%>zBWUeP4IsXd15jP)64xc(_7454UZK1?a2_$Ma(k6;o%hg?MQ(z~8LId9dbm+$-Dd~d(^_O(~E_KLP}c<}Uk zPZDWcCh-x*c>YmNdmuD3c|dyEhQCU zYk}5aF@13Nf*y%Diwe{brXI(ICxh$3$-sHO)=|kFrvW=MNv#RTGRd9ut6hD9TGUpv zJB?3P&3-|PR8VG74^o+-Ya7<=)9HVv`m6qcS>P5UWok-pR*0Mqt_ItkaM2eS7%uh- zRRiHILKEQ~Lb%X-RN?d`R8J8;BH#pPS#KFzA4k{WM>pedehz(w?_-m2uRIKMMjR%M zO>o561^117Z+|orxuLF6cbf3U$b*qR0Ez4X=-H8$ojug0H+A3>DOk>Z)0(YD{=rxb zQ(^X00zU5_f%?9^%G(0%Ge?y_diI2-$UP^Jew?32x^*F^D|$IKht=`IC!|F2cTCan z#YfRN2G*Svyk>cI^j~bxzn3(O^NHMFcQo9ydPg1VN{{-*w5pw1R4G(wJ2fn~wQlnd F`X4ue=cNDu diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree index 5920a110ce91240d3f09996e54aeb8fc343fda04..91616c044ee84cebefb087fa2023ae70acc67489 100644 GIT binary patch delta 4740 zcmbW5dvFuS9ml@23NH%^0F(#Noz>hfCKwat=wvl@rvPEp!6tI!h zB*vPGOxoYUBpqCmbkcM($`pv|E#3l&whWu@9y62o^GF@k3UQ~FLyHi`19P`=|c$t!^nV}?;mu!h7O1zmiokL zv4rOW<{e%4_8)aRhTYS7jd{|KvHf4?-O~nx$S3uReER=I9uk=lZx(hC_;!CzNg!#T zYiM*}#32TfU6YQn$^DK)Vn9DSF*4{F6Warvb70Wn6x-oTO{VNX(x|Ka(AdC1(T|8r z{x-pv3GE~yA?V5YDJ4$m$S7a7oX_HIe0FOk2I7P6%tt6W#u~WuSaBq{HmiryBLph@ zYPo8Lz~!9A)L|3}_k)F^l|ftXZc66Bm)}U9iu9g?Tltw%Z9dowvdBxSmZJq-Qi~ZD z3vA?)s-@Lx3-x)_nnnJkYPpr4uEP}OzEfC37FG2}3wBEN@bkh}@?TX$L(wRmlX55P zf(u23gqXlvR!174p?D^34Mh`X!HypjgF+?D7dOPItA`yWT)g^a1~!~w5qP>}ittQb zzX?Sh6y91>kTxWT*ei$F2LlyZ@N8)=@kGEWZE#najhu>r5FfnIk_{=gLh@V$d`1HA zP=$ska&iqqpPWlKYc3^r_|TT0-j8+R<;v^Xnk*6IEF0|QRPf)a?c`Ki z$ju0NLmNC<-cR)KL`5CP6cb^7jWs+zD#5!+c7!oACTxT;%t&F_$ZzE=v@P&!%5kPy zz^xeYE_J}QiPD_QR+)oc5w1g%d$n?e9Efnd2A2)zs|v_BBbTx|nImiGnTh;VU)O;H^yqzIGMttxblf*M61MMRlx> z-;sHnU6)JRqTpr;4lgs75?f}e>SZQZyon1AEwKFpeBSJI-H^*UF1G5}Hc%$F6-&#X z6a{~_9ygoA;W*?z$Y{8c`50=CGdh4@LfdBtD*C~)!9mU-U2dFHns!P}zt~V_Kdw|F z&oA;8J`uO9S*(tIdQZT68`nWw<01QZv2|J$PUDC0Di*Pkccc7|u^xrK2R9qL$**D) z=wbxSZj4F*yM1l~XQP5&ixYegO8-#_UIg#mT~9uYO`w}m(7CBBRW$;8V0P0Un!vF$ zu{xk1c8%fbD+YADd&DUUgLpCtLs+nJ{tP38#<@3~Hay>yo*~$9zG8=todESK^{QR{ zPEHygxq;JaSg+9lp3Pix=zO>n?!RYMhM>J!y|X!+ZsWjLR;wRG*IPLCbJ8T|A#Ybx zU$)Rbh3t+`hRy{#p^#(oN%mA+-jYiL3h9@~@FT&ZM;##>S#xP+Xml>e8A@%RA8j?! z7v)I%(B}(LIh|Ge6z|ETZz$v?ZL)q_4ZW(63-QSdErsyOwru)|LjFr4!#-K`s1xQ{ zIUQ{?f8K7QW<8rUZWzs&psG1?rmfVg_BKy*CaqGy3QaJ-rG{=-z^!q?3oT8wUx9iU z6gI)aF3rU2ttRS`)p#^9r4D&mZ9-@>(NhWtnxNs{M*5rrJ`)$5FD`?>r|H6Zvq($J zyRF?s-;tvTnD_71QRdZo-#~Ct0k3OKIy|rN8DxrhbgAxeQIaq3Tn^$6E43)} zDv1u;Vf0e$Sg7zQcsoqAK~{8P{B=?B>ylLKDX-H+I~1~An|!5nobn3k&?aBrSw%ex zIThuHMPHI1i*OT%AoP|)YDM{FrUY%BkzkixV${`VGdx$NdkH*Td$FK2{eB zj(3`K!C&sZD+S+SP^LC=D-bRs;TL|5rSKXneuKrd$WCyT`~y-NodQSj9vqrnSnDN*xt5r^soOi#=dsqc$h5sJMpzQ#I3$z%t)7(6mLPRLO3Z--h4@dno) z{zqc{F6<(7FmV^}6nt!Kk72=I=dTHe*{?}ftY(yz6>Y3&hJopo9@f>*yJn?ce*U^& z>fo1PzXbXx_&oeiMb^KAck;us_&9%!e_T@L7iC$t0)%F!&5R0X@dhaPS@AY2*nL;{ zH!GyeXJFZ|%jJfTrvFMFhJ|CN=m%_^Dhy`fFW8waBKVOG)u_zExQBgq%Xg7I2MOcxd_wK^3 zndYAh@4nAD=X>rw@7%i+Pt#A1QfWv!@%NFRNPk*9-Kd&6ztX0eIP#4S&wI zl5a8NOlAy7`L?4ZDXV+WSF!@S0F~a6V&#*g5h$}b>e8aEn^8(*CcwFP$aJq?>+m@(`QdaG>4 zjjHeU{LNbRAqTPwv&kkHu1hAWs_zy_aOFz|IE3?Wb9Z&9?kzFu1u=_br55rxjr$-5 z_f_(l#@vm;SmCG3Y$O>x#pM!nRZQ+~aS!R%xXzf|%@P~gr*S^U#fMhiIT!k>a_*^_EwzJuliROC-6zC2 z<1=-i)3_hSoM83@^o@pP&JmNFT%JiD);JgA!t4Dh*BmbMH+apz9xn6Vs!TZ0 zzQCBJPNcIMB$nWH=;b-Hz^+z&0)ZgK+2!i5Ux z?^^h~>FWHHgZd;I$Twt*JQsV&At0_~as--c&J`X*uP5i!v=O3dZ3#$y#kYQ_Bs zpKx*Zv4^E_V-^h_NSbZ1Zgy;;rHnt4PF)h5DlC(_ zG5KmZ-maByl`2JTDc^s@LR)okLo_hdplOfJDbYB7Fx*+0Nx!Cp!wd`;d6mSPO1Q`? zxQ|dT52ZWBmrqCpGV0Crtmr?5J4!$NTi~zesDUp;2iH6D;iJTPVVR!KlR4OI#`B%6@J^KZR)o_FqRb_0&3M3v!4G1C zKU?d;Q$7sdjSePl&WH2sY&6-xzAPR)$-s6uEd0W~g2jm2A!;rOqU)+2OECtr(BCT(6rFX_~~5z>#}Te=l;x0va_RqI~V zeJ3Kuw5}U>?V_-26~eCFZ{&r*%oB~`XD*mq;qk4*)S;8P(Mh%!huUn^rIXd13>Vil zPbfZgjXce}P<-f)FrPhTh?fK-Ygu?nc%|J~IfaYvL!AeVSb%uChmJEZZ0l$t zN8wyYEo|vbg8z2p;!|#CDLrb0-)EHJQH3@^=v+$ZIU}BxnT9y*c#1)StB;i=on_wC zpHzDp2svF((%I%*e za}@^^iO?&m_ZMb*|Lv{>iQf1^-cNJs4$oEkndwgqYlm_O!SKh7cXKOl$gM3}Srg+%X9yVk!%EE?~Y^cM*Hx|FAyT?7S zzt8PuKid`NX;kk026r+lUmxZ6quh3s+l~66Fic9Lk+_U zkB8xjD=*@eO7XMdcWhucN986P-hoAjrpXAH{Lhm2aj{B_mzg#!Ab8IoApc~WutX~# zb}{00lBQgahg~BDaB(Q#atST)o;D#A`a<;Z7o3I~e;O1Gms67ozuje~G{s<2-3Pxj t{OmlMVq!(UI9dP$C?hNFxnptOUSB_666FFGJrs*ynM0p~6aF~T{6CSO@sa=l 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 f82e67ca7..d114840ef 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,7 +32,8 @@ 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) +.. math:: + PWM_{left} = PWM_{right} +--------------------------+-------------------------------+ | PWM of DC Motors | Direction | diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/overview.html b/ESP-IDF_Robot/tutorial/docs/build/html/overview.html index a78e51261..b382c041e 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/overview.html +++ b/ESP-IDF_Robot/tutorial/docs/build/html/overview.html @@ -12,6 +12,7 @@ + @@ -55,7 +56,8 @@ 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<sub>(left)</sub> = PWM<sub>(right)</sub>

+
+\[PWM_{left} = PWM_{right}\]

What is PWM?

PWM stands for Pulse Width Modulation. It is a technique used to simulate analog voltage levels using discrete digital signals. It works by diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js b/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js index 00383ac6b..bdda8ef08 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],"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":[],"stream":0,"string":5,"struct":[1,3,5,7],"structur":[0,2],"sub":3,"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,"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":[],"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/build/simplepdf/.buildinfo b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/.buildinfo index 96b0bac60..ddee5c916 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/.buildinfo +++ b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/.buildinfo @@ -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: ae6d2b15d9cc35defb8544ddc9e9e626 +config: 3359a20f11e23e33ba3c61a65537db20 tags: 62a1e7829a13fc7881b6498c52484ec0 diff --git a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html index cda885878..e18794fe8 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html +++ b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html @@ -15,6 +15,8 @@ + @@ -357,9 +359,9 @@ 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<sub>(left)</sub> = PWM<sub>(right)</sub> -

+
+ \[PWM_{left} = PWM_{right}\] +

What is PWM? diff --git a/ESP-IDF_Robot/tutorial/docs/source/overview.rst b/ESP-IDF_Robot/tutorial/docs/source/overview.rst index b8c3ac2c2..d114840ef 100644 --- a/ESP-IDF_Robot/tutorial/docs/source/overview.rst +++ b/ESP-IDF_Robot/tutorial/docs/source/overview.rst @@ -33,7 +33,7 @@ Based on this constraint, the RC car can only move front, back, and turn/rotate possible (i.e. diagonal or sideways). .. math:: - PWM(left) = PWM(right) + PWM_{left} = PWM_{right} +--------------------------+-------------------------------+ | PWM of DC Motors | Direction |