From 72a190aa16c835dff1b90ec6ad8d6a5a711e41d0 Mon Sep 17 00:00:00 2001
From: Alexandre Bobkov
Date: Sat, 5 Jul 2025 22:40:32 -0400
Subject: [PATCH] manual
---
.../docs/build/doctrees/environment.pickle | Bin 27596 -> 27789 bytes
.../docs/build/doctrees/intro.doctree | Bin 6100 -> 8765 bytes
.../docs/build/html/_sources/intro.rst.txt | 16 +++++++++++++++-
.../tutorial/docs/build/html/intro.html | 10 ++++++++++
.../tutorial/docs/build/html/searchindex.js | 2 +-
.../tutorial/docs/build/simplepdf/.buildinfo | 2 +-
.../tutorial/docs/build/simplepdf/index.html | 18 ++++++++++++++++++
7 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle
index 318c55b33f01056f7cdf51dbb668e63c857fa941..1dd3c8e892a148fcaa30459237320a02b5572320 100644
GIT binary patch
literal 27789
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
LMg@jLTpavA^4OU;
literal 27596
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
diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree
index f2c3cd96b8a514ee98c60b3c09ac8497b48f592d..2720dd053f23236cd8e1d21bdb0ef24c66980908 100644
GIT binary patch
delta 2517
zcmd6p-%C_M6vs2Oatnp95VJb=q_Dez^we9WFM&TGMIj1i?>*~`-aB)dnY-Hta_hkd
z!M9z(7r}oae2o5sda6I5za%;{ch@yFL{aELSebk8%=wO%Y6jfvAdrMNz{o
z3JqFWW`&Y&4MS5b)VT;a(AM-?=(h+VHA1eyd>R>qB@tQjJ@Q8pdJ_7$=cx7?^%NUz(j;DiW%Zs+U}WGH4WCPbFbYXhdin0CAj3V$M@Wj9V2D
zsUg-dQVD5NX~480DvWt5sztC0sw@zZAW9JGLZknT9|L?Ja3)ujzaMHI$;AV&*t}sJ;sAha^I0J`K%m_pJa}(B(0oO{353V&bq_MH|h-2N)Bpw;Q
z0-Y`A8Vs`dczFkCo+w#%8Je9zvVK2X|DR@E3WZ~jkIwQ3vuTC#hwH88w}G*2_#`a1
ze#{;72{0nWBCHagRs?HgI7v#j<6X!KnX1%~@o8kCN5MNxKA6OWI&h;Ji&6&@K~IKP
z%lyBdCgM#VcHhu>nsRnkAc8}z3P~s(v1~_O*UUnw3Dy}NM?1ZI%-jAdE^E8sSYU
zQ6El`=*$Xr5!-Nx-G0=>I)jP4rcli$APPh7{yE8QsH2#9Nx5;-l
SQx5L3w##qv?fvZDV$UB?shJ!A
delta 79
zcmdn%az&rDfpzLh@r|s^{F6EP^B5C1Kal*##5i^HeVGT$ni(0X83`G&r9GT^iMgpI
il?AEAQ);JZWMp(^By^T$D1g|h8QdAMn_nn|G6Dd(mma79
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/intro.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/intro.rst.txt
index 37113c3c6..cbdef4fbf 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/intro.rst.txt
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/intro.rst.txt
@@ -15,4 +15,18 @@ implementation focuses on movement, additional features like lights, sensors, or
modular design gives users the freedom to customize both the appearance and behavior of their RC car, resulting in endless creative possibilities.
ABSTRACT
---------
\ No newline at end of file
+--------
+
+At the core of this project lies a shared data structure that encapsulates the control parameters for the DC motors, specifically their rotation speeds,
+which are modulated using Pulse Width Modulation (PWM). This structure ensures consistent interpretation of control signals between the transmitter
+and receiver.
+
+The system employs ESP-NOW, a low-latency, connectionless communication protocol developed by Espressif, to facilitate wireless data exchange between
+the transmitter and receiver modules. Both devices are based on ESP32 microcontrollers and maintain a synchronized understanding of the data structure
+to ensure seamless communication.
+
+On the transmitter side, joystick input is continuously read and translated into control values. These values are then encapsulated into the
+predefined data structure and transmitted via ESP-NOW to the receiver.
+
+The receiver module listens for incoming ESP-NOW packets, de-encapsulates the joystick data, and converts the received values into PWM signals.
+These signals are then used to control the speed and direction of the DC motors, enabling real-time remote operation of the vehicle.
\ No newline at end of file
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/intro.html b/ESP-IDF_Robot/tutorial/docs/build/html/intro.html
index 2d657a5e7..a48241ac6 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/intro.html
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/intro.html
@@ -48,6 +48,16 @@ implementation focuses on movement, additional features like lights, sensors, or
modular design gives users the freedom to customize both the appearance and behavior of their RC car, resulting in endless creative possibilities.
ABSTRACT
+At the core of this project lies a shared data structure that encapsulates the control parameters for the DC motors, specifically their rotation speeds,
+which are modulated using Pulse Width Modulation (PWM). This structure ensures consistent interpretation of control signals between the transmitter
+and receiver.
+The system employs ESP-NOW, a low-latency, connectionless communication protocol developed by Espressif, to facilitate wireless data exchange between
+the transmitter and receiver modules. Both devices are based on ESP32 microcontrollers and maintain a synchronized understanding of the data structure
+to ensure seamless communication.
+On the transmitter side, joystick input is continuously read and translated into control values. These values are then encapsulated into the
+predefined data structure and transmitted via ESP-NOW to the receiver.
+The receiver module listens for incoming ESP-NOW packets, de-encapsulates the joystick data, and converts the received values into PWM signals.
+These signals are then used to control the speed and direction of the DC motors, enabling real-time remote operation of the vehicle.
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js b/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js
index cc2bb3099..f40cf35d5 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"]],"DATA STRUCT":[[0,null]],"Data Payload":[[0,"data-payload"]],"Direction and Speed":[[3,"direction-and-speed"]],"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]],"INTRODUCTION":[[2,null]],"Main Function":[[5,"main-function"],[7,"main-function"]],"Motor Wires Harness":[[4,"motor-wires-harness"]],"RECEIVER":[[5,null]],"REFERENCES":[[6,null]],"Receiving & De-Ecapsulating Data":[[5,"receiving-de-ecapsulating-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]],"Why use __attribute((packed))?":[[0,"why-use-attribute-packed"]],"Wiring":[[4,"wiring"]],"x- and y- axis":[[3,"x-and-y-axis"]]},"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,7],"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,"NOT":3,"ON":[0,5,7],"The":[0,2,3],"To":2,"__attribut":[],"__attribute__":[0,5,7],"__gpio6__":[],"_gitbub":[],"_static":[],"abstract":1,"across":0,"ad":0,"adapt":[2,3,6],"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],"an":[0,2],"analog":0,"ani":[0,3],"app_main":[5,7],"appear":2,"ar":3,"architectur":[],"arg":3,"assign":3,"attribut":0,"avail":[2,3],"axi":[],"back":3,"bacl":3,"bandwidth":0,"base":[2,3],"baselin":2,"batteri":0,"behavior":2,"being":3,"below":[],"between":[0,2],"bitbyterid":3,"blob":6,"board":3,"bool":[0,5,7],"both":2,"breadboard":3,"brief":3,"buf":[3,5],"buffer":[3,7],"button":[0,3,5,7],"byte":0,"c3":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,"consequ":3,"const":5,"constraint":3,"contain":0,"content":[],"contin":3,"control":[0,2,3,4],"core":2,"correspond":3,"counter":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,3,4,5,7],"de":1,"declar":3,"decod":0,"dedic":3,"defin":[2,3],"deletep":3,"demonstr":2,"depend":2,"design":[0,2,6],"detail":[],"determin":[0,3],"devboard":3,"develop":3,"developmemt":3,"devic":[0,2],"diagon":3,"differenti":0,"direct":[0,2],"displai":3,"doe":1,"drive":0,"duti":3,"e":[0,3],"each":3,"easili":2,"ecapsul":1,"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,"etc":0,"even":[0,2],"event":3,"everi":3,"evok":3,"evolv":2,"exact":0,"exist":[],"expand":2,"expect":0,"extend":2,"facilit":2,"fals":5,"fast":2,"featur":2,"fi":2,"field":0,"file":6,"final":0,"fine":0,"finish":1,"fix":0,"focus":2,"follow":3,"form":2,"foundat":2,"four":[0,3],"free":2,"freedom":2,"freerto":[5,7],"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,"group":3,"guid":2,"h":[5,7],"handl":2,"har":1,"hardwar":[0,1,2],"harn":4,"heart":2,"hexadecim":3,"hold":[3,7],"hood":2,"how":[1,2],"http":[3,6],"i":[0,2,3],"idea":2,"ideal":[0,2],"idf_robot":6,"idf_robot_schemat":[],"ifidx":5,"illustr":3,"imag":3,"implement":2,"includ":[5,7],"indic":0,"individu":0,"initi":[5,7],"input":[0,2],"insid":4,"instal":4,"int":[0,3,5,7],"integr":2,"intend":0,"intern":7,"interpret":0,"interv":0,"introduct":1,"itself":2,"joystick":[0,3,5,7],"joystick_adc_init":7,"kicad":[3,6],"lastli":3,"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],"light":2,"lightweight":2,"like":[0,2],"loop":2,"low":[0,2],"mac":[3,7],"mac_addr":[3,5],"mai":0,"main":[1,6],"make":0,"maneuv":0,"master":0,"maxim":0,"md":6,"mean":3,"measur":3,"memcpi":5,"memori":[0,3,7],"messag":3,"microcontrol":[0,2,3],"minim":0,"modular":2,"motor":[0,1,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":3,"move":[2,3],"movement":[2,3],"multi":0,"nav_bttn":[0,3,5,7],"need":2,"network":2,"node":6,"nor":2,"note":3,"now":[0,2,3,7],"number":3,"nv":[5,7],"nvs_flash":[5,7],"nvs_flash_eras":[5,7],"nvs_flash_init":[5,7],"off":[0,5,7],"ok":3,"omni":0,"onboard":0,"ondatareceiv":[3,5],"ondatas":3,"onli":[3,4],"oper":[0,3],"oscilloscop":3,"other":3,"over":0,"pack":[5,7],"packet":[0,3],"pad":0,"pair":[0,2,3],"particular":3,"payload":1,"pcb":[3,6],"peer_addr":5,"period":3,"physic":2,"pin":1,"platform":0,"png":[],"pointer":[3,7],"porttick_period_m":3,"posit":[0,3,5,7],"possibl":[2,3],"power":3,"precis":0,"predict":0,"progress":1,"project":2,"protocol":[0,2],"provid":[0,2,3],"purpos":3,"push":[0,3,5,7],"pwm":[0,3,5,7],"rc":[2,3],"rc_send_data_task":3,"readm":6,"real":2,"receiv":[0,1,2,3,7],"receiver_mac":[3,7],"record":[],"refer":1,"regist":3,"regular":0,"relev":0,"remain":2,"remot":[0,2],"remov":0,"repres":0,"requir":3,"reserv":1,"resp":3,"respond":2,"respons":[0,3],"restructuredtext":[],"result":[2,3,7],"ret":[5,7],"right":3,"robot":0,"rotat":3,"router":2,"row":[],"run":3,"same":[],"schemat":[1,6],"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,3],"serial":0,"serv":0,"setup":2,"side":3,"sidewai":3,"signal":0,"similarli":3,"size":0,"sizeof":[3,5,7],"softwar":1,"sourc":[2,6],"speed":[0,2],"spotlight":2,"state":[0,5,7],"static":3,"statu":[0,3],"store":3,"stream":0,"string":5,"struct":[1,3,5,7],"suffici":3,"summar":3,"summari":3,"support":0,"syntax":[],"system":[0,2],"system_led_init":[5,7],"tabl":3,"tag":[3,5],"task":3,"telemetri":[0,2],"tell":0,"temperatur":7,"thi":[0,2,3],"those":3,"though":2,"through":1,"time":2,"toggl":0,"transmiss":[0,2],"transmission_init":7,"transmit":[0,3],"transmitt":[0,1,2],"transmitter_mac":5,"transmitterinfo":5,"true":3,"turn":3,"tutori":2,"two":3,"typedef":[0,5,7],"uart":0,"uint8_t":[0,3,5,7],"under":2,"up":0,"updat":3,"us":2,"user":[0,2],"valu":3,"vari":2,"variabl":1,"variou":3,"vehicl":0,"void":[3,5,7],"voltag":3,"vtaskdelai":3,"wa":3,"walk":1,"walkthrough":[],"warn":0,"well":[],"wheel":0,"when":[0,3],"where":2,"which":[],"while":[2,3],"why":[],"wi":2,"wifi":5,"wifi_init":[5,7],"wildli":2,"wire":[1,3],"wireless":2,"wirelessli":2,"without":2,"work":1,"wroom":3,"x":[0,5,7],"x_axi":[0,3,5,7],"y":[0,5,7],"y_axi":[0,3,5,7],"you":[0,2],"your":2},"titles":["DATA STRUCT","ByteRider documentation","INTRODUCTION","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH","RECEIVER","REFERENCES","TRANSMITTER"],"titleterms":{"IN":4,"IT":3,"__attribut":0,"abstract":2,"axi":3,"byterid":1,"chassi":4,"configur":[5,7],"data":[0,5,7],"de":5,"direct":3,"document":1,"doe":3,"ecapsul":[5,7],"encapsul":[],"finish":4,"function":[5,7],"fusion":3,"github":6,"gpio":3,"har":4,"hardwar":3,"how":3,"introduct":2,"main":[5,7],"motor":4,"pack":0,"payload":0,"pin":3,"progress":4,"receiv":5,"refer":6,"reserv":3,"schemat":3,"send":7,"softwar":3,"speed":3,"struct":0,"through":4,"transmitt":7,"us":0,"variabl":[5,7],"walk":4,"walkthrough":[],"why":0,"wire":4,"work":[3,4],"x":3,"y":3}})
\ 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"]],"DATA STRUCT":[[0,null]],"Data Payload":[[0,"data-payload"]],"Direction and Speed":[[3,"direction-and-speed"]],"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]],"INTRODUCTION":[[2,null]],"Main Function":[[5,"main-function"],[7,"main-function"]],"Motor Wires Harness":[[4,"motor-wires-harness"]],"RECEIVER":[[5,null]],"REFERENCES":[[6,null]],"Receiving & De-Ecapsulating Data":[[5,"receiving-de-ecapsulating-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]],"Why use __attribute((packed))?":[[0,"why-use-attribute-packed"]],"Wiring":[[4,"wiring"]],"x- and y- axis":[[3,"x-and-y-axis"]]},"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,7],"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,"NOT":3,"ON":[0,5,7],"On":2,"The":[0,2,3],"These":2,"To":2,"__attribut":[],"__attribute__":[0,5,7],"__gpio6__":[],"_gitbub":[],"_static":[],"abstract":1,"across":0,"ad":0,"adapt":[2,3,6],"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],"an":[0,2],"analog":0,"ani":[0,3],"app_main":[5,7],"appear":2,"ar":[2,3],"architectur":[],"arg":3,"assign":3,"attribut":0,"avail":[2,3],"axi":[],"back":3,"bacl":3,"bandwidth":0,"base":[2,3],"baselin":2,"batteri":0,"behavior":2,"being":3,"below":[],"between":[0,2],"bitbyterid":3,"blob":6,"board":3,"bool":[0,5,7],"both":2,"breadboard":3,"brief":3,"buf":[3,5],"buffer":[3,7],"button":[0,3,5,7],"byte":0,"c3":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,"connectionless":2,"consequ":3,"consist":2,"const":5,"constraint":3,"contain":0,"content":[],"contin":3,"continu":2,"control":[0,2,3,4],"convert":2,"core":2,"correspond":3,"counter":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],"de":[1,2],"declar":3,"decod":0,"dedic":3,"defin":[2,3],"deletep":3,"demonstr":2,"depend":2,"design":[0,2,6],"detail":[],"determin":[0,3],"devboard":3,"develop":[2,3],"developmemt":3,"devic":[0,2],"diagon":3,"differenti":0,"direct":[0,2],"displai":3,"doe":1,"drive":0,"duti":3,"e":[0,3],"each":3,"easili":2,"ecapsul":1,"effici":2,"elegantli":2,"els":3,"embed":0,"emploi":2,"enabl":[0,2],"encapsul":[0,2],"encod":0,"encrypt":5,"end":0,"endless":2,"ensur":[0,2],"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,"espressif":2,"etc":0,"even":[0,2],"event":3,"everi":3,"evok":3,"evolv":2,"exact":0,"exchang":2,"exist":[],"expand":2,"expect":0,"extend":2,"facilit":2,"fals":5,"fast":2,"featur":2,"fi":2,"field":0,"file":6,"final":0,"fine":0,"finish":1,"fix":0,"focus":2,"follow":3,"form":2,"foundat":2,"four":[0,3],"free":2,"freedom":2,"freerto":[5,7],"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,"group":3,"guid":2,"h":[5,7],"handl":2,"har":1,"hardwar":[0,1,2],"harn":4,"heart":2,"hexadecim":3,"hold":[3,7],"hood":2,"how":[1,2],"http":[3,6],"i":[0,2,3],"idea":2,"ideal":[0,2],"idf_robot":6,"idf_robot_schemat":[],"ifidx":5,"illustr":3,"imag":3,"implement":2,"includ":[5,7],"incom":2,"indic":0,"individu":0,"initi":[5,7],"input":[0,2],"insid":4,"instal":4,"int":[0,3,5,7],"integr":2,"intend":0,"intern":7,"interpret":[0,2],"interv":0,"introduct":1,"itself":2,"joystick":[0,2,3,5,7],"joystick_adc_init":7,"kicad":[3,6],"lastli":3,"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],"li":2,"light":2,"lightweight":2,"like":[0,2],"listen":2,"loop":2,"low":[0,2],"mac":[3,7],"mac_addr":[3,5],"mai":0,"main":[1,6],"maintain":2,"make":0,"maneuv":0,"master":0,"maxim":0,"md":6,"mean":3,"measur":3,"memcpi":5,"memori":[0,3,7],"messag":3,"microcontrol":[0,2,3],"minim":0,"modul":2,"modular":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":3,"move":[2,3],"movement":[2,3],"multi":0,"nav_bttn":[0,3,5,7],"need":2,"network":2,"node":6,"nor":2,"note":3,"now":[0,2,3,7],"number":3,"nv":[5,7],"nvs_flash":[5,7],"nvs_flash_eras":[5,7],"nvs_flash_init":[5,7],"off":[0,5,7],"ok":3,"omni":0,"onboard":0,"ondatareceiv":[3,5],"ondatas":3,"onli":[3,4],"oper":[0,2,3],"oscilloscop":3,"other":3,"over":0,"pack":[5,7],"packet":[0,2,3],"pad":0,"pair":[0,2,3],"paramet":2,"particular":3,"payload":1,"pcb":[3,6],"peer_addr":5,"period":3,"physic":2,"pin":1,"platform":0,"png":[],"pointer":[3,7],"porttick_period_m":3,"posit":[0,3,5,7],"possibl":[2,3],"power":3,"precis":0,"predefin":2,"predict":0,"progress":1,"project":2,"protocol":[0,2],"provid":[0,2,3],"puls":2,"purpos":3,"push":[0,3,5,7],"pwm":[0,2,3,5,7],"rc":[2,3],"rc_send_data_task":3,"read":2,"readm":6,"real":2,"receiv":[0,1,2,3,7],"receiver_mac":[3,7],"record":[],"refer":1,"regist":3,"regular":0,"relev":0,"remain":2,"remot":[0,2],"remov":0,"repres":0,"requir":3,"reserv":1,"resp":3,"respond":2,"respons":[0,3],"restructuredtext":[],"result":[2,3,7],"ret":[5,7],"right":3,"robot":0,"rotat":[2,3],"router":2,"row":[],"run":3,"same":[],"schemat":[1,6],"seamless":2,"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,3],"serial":0,"serv":0,"setup":2,"share":2,"side":[2,3],"sidewai":3,"signal":[0,2],"similarli":3,"size":0,"sizeof":[3,5,7],"softwar":1,"sourc":[2,6],"specif":2,"speed":[0,2],"spotlight":2,"state":[0,5,7],"static":3,"statu":[0,3],"store":3,"stream":0,"string":5,"struct":[1,3,5,7],"structur":2,"suffici":3,"summar":3,"summari":3,"support":0,"synchron":2,"syntax":[],"system":[0,2],"system_led_init":[5,7],"tabl":3,"tag":[3,5],"task":3,"telemetri":[0,2],"tell":0,"temperatur":7,"thi":[0,2,3],"those":3,"though":2,"through":1,"time":2,"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,"typedef":[0,5,7],"uart":0,"uint8_t":[0,3,5,7],"under":2,"understand":2,"up":0,"updat":3,"us":2,"user":[0,2],"valu":[2,3],"vari":2,"variabl":1,"variou":3,"vehicl":[0,2],"via":2,"void":[3,5,7],"voltag":3,"vtaskdelai":3,"wa":3,"walk":1,"walkthrough":[],"warn":0,"well":[],"wheel":0,"when":[0,3],"where":2,"which":2,"while":[2,3],"why":[],"wi":2,"width":2,"wifi":5,"wifi_init":[5,7],"wildli":2,"wire":[1,3],"wireless":2,"wirelessli":2,"without":2,"work":1,"wroom":3,"x":[0,5,7],"x_axi":[0,3,5,7],"y":[0,5,7],"y_axi":[0,3,5,7],"you":[0,2],"your":2},"titles":["DATA STRUCT","ByteRider documentation","INTRODUCTION","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH","RECEIVER","REFERENCES","TRANSMITTER"],"titleterms":{"IN":4,"IT":3,"__attribut":0,"abstract":2,"axi":3,"byterid":1,"chassi":4,"configur":[5,7],"data":[0,5,7],"de":5,"direct":3,"document":1,"doe":3,"ecapsul":[5,7],"encapsul":[],"finish":4,"function":[5,7],"fusion":3,"github":6,"gpio":3,"har":4,"hardwar":3,"how":3,"introduct":2,"main":[5,7],"motor":4,"pack":0,"payload":0,"pin":3,"progress":4,"receiv":5,"refer":6,"reserv":3,"schemat":3,"send":7,"softwar":3,"speed":3,"struct":0,"through":4,"transmitt":7,"us":0,"variabl":[5,7],"walk":4,"walkthrough":[],"why":0,"wire":4,"work":[3,4],"x":3,"y":3}})
\ 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 fd03819a0..62f3a6c0b 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: 9a6a760a17c59ce2724ac88b748b4785
+config: 4e4561c741c8b5e01a115ab6f3cc20f3
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 ce7fb1c79..5a33ec269 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html
+++ b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html
@@ -237,6 +237,24 @@ modular design gives users the freedom to customize both the appearance and beha
¶
+
+ At the core of this project lies a shared data structure that encapsulates the control parameters for the DC motors, specifically their rotation speeds,
+which are modulated using Pulse Width Modulation (PWM). This structure ensures consistent interpretation of control signals between the transmitter
+and receiver.
+
+
+ The system employs ESP-NOW, a low-latency, connectionless communication protocol developed by Espressif, to facilitate wireless data exchange between
+the transmitter and receiver modules. Both devices are based on ESP32 microcontrollers and maintain a synchronized understanding of the data structure
+to ensure seamless communication.
+
+
+ On the transmitter side, joystick input is continuously read and translated into control values. These values are then encapsulated into the
+predefined data structure and transmitted via ESP-NOW to the receiver.
+
+
+ The receiver module listens for incoming ESP-NOW packets, de-encapsulates the joystick data, and converts the received values into PWM signals.
+These signals are then used to control the speed and direction of the DC motors, enabling real-time remote operation of the vehicle.
+