diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/data.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/data.doctree
index 7386ba9c9..2c0dacf21 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/data.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/data.doctree differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle
index b203e2345..cd2f46cc9 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree
index 4e0dbcd47..528577e97 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/data.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/data.rst.txt
index 843e5874c..ba235a801 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/data.rst.txt
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/data.rst.txt
@@ -1,7 +1,7 @@
DATA STRUCTS
============
-The struct serves as the data payload for sending control signals from transmitting device to the receiver using ESP-NOW.
+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 is designed as a data payload that encapsulates all control commands and sensor states relevant to the vehicle's operation.
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 c8a0470af..e4f20c148 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
@@ -1,32 +1,28 @@
OVERVIEW
============
-At the heart of this project is a customizable remote-controlled car that responds to real-time control inputs — capable of handling speed adjustments,
+At the heart of this project is a customizable remote-controlled car that responds to real-time control inputs, capable of handling speed adjustments,
directional changes, and even extended features like lights or sensors. The foundational setup uses ESP-NOW for transmitter and receiver devices,
-allowing you to wirelessly guide the car's behavior. While the design and physical appearance of the RC car can vary wildly depending on your
+allowing you to wirelessly guide the car's behaviour. While the design and physical appearance of the RC car can vary wildly depending on your
creativity and available hardware, the control system remains elegantly efficient. To facilitate wireless communication between devices, the system employs
-ESP-NOW, a lightweight and connection-free protocol ideal for fast, low-latency data transmission between ESP32 microcontrollers. Though ESP-NOW is used under
+ESP-NOW is a lightweight and connection-free protocol ideal for fast, low-latency data transmission between ESP32 microcontrollers. Though ESP-NOW is used under
the hood, the spotlight remains on the RC car itself: how it moves, adapts, and evolves with your ideas.
-An ESP-NOW-based remote-controller sends control data wirelessly using the ESP-NOW protocol to the remote-controlled car. ESP-NOW enables fast and
-efficient communication between ESP32 devices without the need for Wi-Fi router, network nor pairing. The provided tutorial demonstrates a functional
-setup where a transmitter sends data to a receiver to define the car's speed and direction — forming the core communication loop. While the baseline
+An ESP-NOW-based remote controller sends control data wirelessly using the ESP-NOW protocol to the remote-controlled car. ESP-NOW enables fast and
+efficient communication between ESP32 devices without the need for a Wi-Fi router, network, or pairing. The provided tutorial demonstrates a functional
+setup where a transmitter sends data to a receiver to define the car's speed and direction, forming the core communication loop. While the baseline
implementation focuses on movement, additional features like lights, sensors, or telemetry can easily be integrated by expanding the source code. This
-modular design gives users the freedom to customize both the appearance and behavior of their RC car, resulting in endless creative possibilities.
+modular design gives users the freedom to customize both the appearance and behaviour 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.
+To enable real-time remote operation of the RC car, the system translates joystick inputs into PWM (Pulse Width Modulation) signals that control the DC motors.
+These PWM values are stored in a predefined data structure, which is then transmitted wirelessly using ESP-NOW — a low-latency, connectionless
+communication protocol developed by Espressif. Both the transmitter and receiver modules are based on ESP32-C3 microcontrollers.
-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, the joystick's X and Y coordinates are continuously monitored and converted into PWM parameters. These values are packed into the
+data structure and sent via ESP-NOW to the receiver.
-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
+The receiver module listens for incoming ESP-NOW packets, extracts the PWM control data, and applies it directly to the DC motors. This communication flow
+allows the RC car to respond instantly to user input, managing speed and direction without any physical connection between the devices.
\ No newline at end of file
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/data.html b/ESP-IDF_Robot/tutorial/docs/build/html/data.html
index b43a2ae45..dbfaf7314 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/data.html
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/data.html
@@ -35,7 +35,7 @@
DATA STRUCTS
-The struct serves as the data payload for sending control signals from transmitting device to the receiver using ESP-NOW.
+
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 is designed as a data payload that 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 or master controller) to a receiver (such as a microcontroller onboard the vehicle).
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/intro.html b/ESP-IDF_Robot/tutorial/docs/build/html/intro.html
index 9a7370534..26ce3c829 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/intro.html
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/intro.html
@@ -35,29 +35,26 @@
OVERVIEW
-At the heart of this project is a customizable remote-controlled car that responds to real-time control inputs — capable of handling speed adjustments,
+
At the heart of this project is a customizable remote-controlled car that responds to real-time control inputs, capable of handling speed adjustments,
directional changes, and even extended features like lights or sensors. The foundational setup uses ESP-NOW for transmitter and receiver devices,
-allowing you to wirelessly guide the car’s behavior. While the design and physical appearance of the RC car can vary wildly depending on your
+allowing you to wirelessly guide the car’s behaviour. While the design and physical appearance of the RC car can vary wildly depending on your
creativity and available hardware, the control system remains elegantly efficient. To facilitate wireless communication between devices, the system employs
-ESP-NOW, a lightweight and connection-free protocol ideal for fast, low-latency data transmission between ESP32 microcontrollers. Though ESP-NOW is used under
+ESP-NOW is a lightweight and connection-free protocol ideal for fast, low-latency data transmission between ESP32 microcontrollers. Though ESP-NOW is used under
the hood, the spotlight remains on the RC car itself: how it moves, adapts, and evolves with your ideas.
-An ESP-NOW-based remote-controller sends control data wirelessly using the ESP-NOW protocol to the remote-controlled car. ESP-NOW enables fast and
-efficient communication between ESP32 devices without the need for Wi-Fi router, network nor pairing. The provided tutorial demonstrates a functional
-setup where a transmitter sends data to a receiver to define the car’s speed and direction — forming the core communication loop. While the baseline
+
An ESP-NOW-based remote controller sends control data wirelessly using the ESP-NOW protocol to the remote-controlled car. ESP-NOW enables fast and
+efficient communication between ESP32 devices without the need for a Wi-Fi router, network, or pairing. The provided tutorial demonstrates a functional
+setup where a transmitter sends data to a receiver to define the car’s speed and direction, forming the core communication loop. While the baseline
implementation focuses on movement, additional features like lights, sensors, or telemetry can easily be integrated by expanding the source code. This
-modular design gives users the freedom to customize both the appearance and behavior of their RC car, resulting in endless creative possibilities.
+modular design gives users the freedom to customize both the appearance and behaviour 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.
+To enable real-time remote operation of the RC car, the system translates joystick inputs into PWM (Pulse Width Modulation) signals that control the DC motors.
+These PWM values are stored in a predefined data structure, which is then transmitted wirelessly using ESP-NOW — a low-latency, connectionless
+communication protocol developed by Espressif. Both the transmitter and receiver modules are based on ESP32-C3 microcontrollers.
+On the transmitter side, the joystick’s X and Y coordinates are continuously monitored and converted into PWM parameters. These values are packed into the
+data structure and sent via ESP-NOW to the receiver.
+The receiver module listens for incoming ESP-NOW packets, extracts the PWM control data, and applies it directly to the DC motors. This communication flow
+allows the RC car to respond instantly to user input, managing speed and direction without any physical connection between the devices.
@@ -93,7 +90,7 @@ These signals are then used to control the speed and direction of the DC motors,
HOW DOES IT WORK?
-DATA STRUCT
+DATA STRUCTS
TRANSMITTER
RECEIVER
WORK-IN-PROGRESS WALK THROUGH
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js b/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js
index ce96220a8..e6d76aaf1 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 STRUCTS":[[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]],"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"]],"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]],"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],"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,"__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,3],"an":[0,2],"analog":[0,3],"ani":[0,3],"app_main":[5,7],"appear":2,"ar":[2,3],"architectur":[],"arg":3,"assign":3,"attribut":0,"avail":[2,3],"axi":1,"back":3,"bacl":3,"bandwidth":0,"base":[2,3],"baselin":2,"batteri":0,"behavior":2,"being":3,"below":3,"between":[0,2,3],"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,"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":2,"declar":3,"decod":0,"decreas":3,"dedic":3,"defin":[2,3],"deletep":3,"deliv":3,"demonstr":2,"depend":2,"descript":3,"design":[0,2,6],"detail":[],"determin":[0,3],"devboard":3,"develop":[2,3],"developmemt":3,"devic":[0,2,3],"diagon":3,"differenti":0,"digit":3,"direct":[0,2],"discret":3,"displai":3,"doe":1,"drive":0,"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,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,"extract":1,"facilit":2,"fals":5,"fast":2,"featur":2,"fi":2,"field":0,"file":6,"final":0,"fine":[0,3],"finish":1,"fix":[0,3],"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":3,"guid":2,"h":[5,7],"handl":2,"har":1,"hardwar":[0,1,2],"harn":4,"heart":2,"hexadecim":3,"high":3,"higher":3,"hold":[3,7],"hood":2,"how":[1,2],"http":[3,6],"i":[0,2],"idea":2,"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,"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":[],"itself":2,"joystick":[0,1,2,3,5],"joystick_adc_init":7,"khz":3,"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],"level":3,"li":2,"light":2,"lightweight":2,"like":[0,2],"listen":2,"loop":2,"low":[0,2,3],"lower":3,"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,3],"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":[0,3,5],"move":[2,3],"movement":[2,3],"multi":0,"nav_btn":7,"nav_bttn":[0,3,5],"need":[2,3],"network":2,"node":6,"nor":2,"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],"oscilloscop":3,"other":3,"over":0,"overview":1,"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,"per":3,"percentag":3,"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,3],"purpos":3,"push":[0,3,5,7],"pwm":[0,2,5,7],"rapidli":3,"rc":[2,3],"rc_send_data_task":3,"read":[1,2],"readm":6,"real":2,"receiv":[0,1,2,3,7],"receiver_mac":[3,7],"record":[],"refer":1,"regist":3,"regul":3,"regular":0,"relev":0,"remain":2,"remot":[0,2,3],"remov":0,"repres":0,"requir":[],"reserv":1,"resp":3,"respond":2,"respons":[0,3],"restructuredtext":[],"result":[2,3,7],"ret":[5,7],"revers":3,"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,3],"similarli":3,"simul":3,"size":0,"sizeof":[3,5,7],"softwar":1,"sourc":[2,6],"specif":2,"speed":[0,2],"spin":3,"spotlight":2,"stand":3,"state":[0,3,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,"switch":3,"synchron":2,"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],"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,3],"user":[0,2],"valu":[1,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":[],"what":[],"wheel":0,"when":[0,3],"where":2,"which":2,"while":[2,3],"why":[],"wi":2,"width":[2,3],"wifi":5,"wifi_init":[5,7],"wildli":2,"wire":[1,3],"wireless":2,"wirelessli":2,"without":[2,3],"work":1,"wroom":3,"x":[0,1,5],"x_axi":[0,3,5,7],"y":[0,1,5],"y_axi":[0,3,5,7],"you":[0,2],"your":2},"titles":["DATA STRUCTS","ByteRider documentation","OVERVIEW","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH","RECEIVER","REFERENCES","TRANSMITTER"],"titleterms":{"IN":4,"IT":3,"__attribut":0,"abstract":2,"axi":[3,7],"byterid":1,"chassi":4,"configur":[5,7],"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":3,"introduct":[],"joystick":7,"main":[5,7],"motor":4,"overview":2,"pack":0,"payload":0,"pin":3,"progress":4,"pwm":3,"read":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":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"]],"DATA STRUCTS":[[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]],"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"]],"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]],"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],"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,"__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,3],"an":[0,2],"analog":[0,3],"ani":[0,2,3],"app_main":[5,7],"appear":2,"appli":2,"ar":[2,3],"architectur":[],"arg":3,"assign":3,"attribut":0,"avail":[2,3],"axi":1,"back":3,"bacl":3,"bandwidth":0,"base":[2,3],"baselin":2,"batteri":0,"behavior":[],"behaviour":2,"being":3,"below":3,"between":[0,2,3],"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":[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,"connectionless":2,"consequ":3,"consist":[],"const":5,"constraint":3,"contain":0,"content":[],"contin":3,"continu":2,"control":[0,2,3,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":[],"declar":3,"decod":0,"decreas":3,"dedic":3,"defin":[2,3],"deletep":3,"deliv":3,"demonstr":2,"depend":2,"descript":3,"design":[0,2,6],"detail":[],"determin":[0,3],"devboard":3,"develop":[2,3],"developmemt":3,"devic":[0,2,3],"diagon":3,"differenti":0,"digit":3,"direct":[0,2],"directli":2,"discret":3,"displai":3,"doe":1,"drive":0,"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,"espressif":2,"etc":0,"even":[0,2],"event":3,"everi":3,"evok":3,"evolv":2,"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":3,"guid":2,"h":[5,7],"handl":2,"har":1,"hardwar":[0,1,2],"harn":4,"heart":2,"hexadecim":3,"high":3,"higher":3,"hold":[3,7],"hood":2,"how":[1,2],"http":[3,6],"i":[0,2],"idea":2,"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,"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,"joystick":[0,1,2,3,5],"joystick_adc_init":7,"khz":3,"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],"level":3,"li":[],"light":2,"lightweight":2,"like":[0,2],"listen":2,"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":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,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":[2,3],"movement":[2,3],"multi":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],"oscilloscop":3,"other":3,"over":0,"overview":1,"pack":[2,5,7],"packet":[0,2,3],"pad":0,"pair":[0,2,3],"paramet":2,"particular":3,"payload":1,"pcb":[3,6],"peer_addr":5,"per":3,"percentag":3,"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,3],"purpos":3,"push":[0,3,5,7],"pwm":[0,2,5,7],"rapidli":3,"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,"relev":0,"remain":2,"remot":[0,2,3],"remov":0,"repres":0,"requir":[],"reserv":1,"resp":3,"respond":2,"respons":[0,3],"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,"setup":2,"share":[],"side":[2,3],"sidewai":3,"signal":[0,2,3],"similarli":3,"simul":3,"size":0,"sizeof":[3,5,7],"softwar":1,"sourc":[2,6],"specif":[],"speed":[0,2],"spin":3,"spotlight":2,"stand":3,"state":[0,3,5,7],"static":3,"statu":[0,3],"store":[2,3],"stream":0,"string":5,"struct":[1,3,5,7],"structur":2,"suffici":3,"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],"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":[],"up":0,"updat":3,"us":[2,3],"user":[0,2],"valu":[1,2,3],"vari":2,"variabl":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":[],"wi":2,"width":[2,3],"wifi":5,"wifi_init":[5,7],"wildli":2,"wire":[1,3],"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":["DATA STRUCTS","ByteRider documentation","OVERVIEW","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH","RECEIVER","REFERENCES","TRANSMITTER"],"titleterms":{"IN":4,"IT":3,"__attribut":0,"abstract":2,"axi":[3,7],"byterid":1,"chassi":4,"configur":[5,7],"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":3,"introduct":[],"joystick":7,"main":[5,7],"motor":4,"overview":2,"pack":0,"payload":0,"pin":3,"progress":4,"pwm":3,"read":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":3,"why":0,"wire":4,"work":[3,4],"x":[3,7],"y":[3,7]}})
\ No newline at end of file