diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle
index ab0022ccd..a0faa5996 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/index.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/index.doctree
index c0544831b..20ca53b84 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/index.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/index.doctree differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/intro.doctree
index 0fdc69e25..89d259aac 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/doctrees/overview.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree
index 67b6f8d2c..0f39931a3 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/overview.doctree differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/progress.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/progress.doctree
index 50b5d899c..abc6cfa67 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/progress.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/progress.doctree differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt
index 2def04059..514fd9c3b 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/index.rst.txt
@@ -6,12 +6,11 @@
ByteRider documentation
=======================
-.. image:: _static/ESP-IDF_Robot.jpg
-
-
.. toctree::
:maxdepth: 2
intro
overview
progress
+
+.. image:: _static/ESP-IDF_Robot.jpg
\ No newline at end of file
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 7ea05f386..11c3ee7db 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
@@ -115,6 +115,7 @@ The function for updating motors' PWM values.
The onDataReceived() and onDataSent() are two call-bacl functions that get evoked on each corresponding event.
.. code-block:: c
+
// Call-back for the event when data is being received
void onDataReceived (uint8_t *mac_addr, uint8_t *data, uint8_t data_len) {
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/index.html b/ESP-IDF_Robot/tutorial/docs/build/html/index.html
index bdd44a1f2..0d7bf47e9 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/html/index.html
+++ b/ESP-IDF_Robot/tutorial/docs/build/html/index.html
@@ -34,7 +34,6 @@
ByteRider documentationΒΆ
-
The onDataReceived() and onDataSent() are two call-bacl functions that get evoked on each corresponding event.
+// Call-back for the event when data is being received
+void onDataReceived (uint8_t *mac_addr, uint8_t *data, uint8_t data_len) {
+
+ buf = (sensors_data_t*)data; // Allocate memory for buffer to store data being received
+ ESP_LOGW(TAG, "Data was received");
+ ESP_LOGI(TAG, "x-axis: 0x%04x", buf->x_axis);
+ ESP_LOGI(TAG, "x-axis: 0x%04x", buf->y_axis);
+ ESP_LOGI(TAG, "PWM 1: 0x%04x", buf->motor1_rpm_pwm);
+}
+
+// Call-back for the event when data is being sent
+void onDataSent (uint8_t *mac_addr, esp_now_send_status_t status) {
+ ESP_LOGW(TAG, "Packet send status: 0x%04X", status);
+}
+
The rc_send_data_task() function runs every 0.1 second to transmit the data to the receiver.
// Continous, periodic task that sends data.
static void rc_send_data_task (void *arg) {
diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js b/ESP-IDF_Robot/tutorial/docs/build/html/searchindex.js
index 26b1ecd63..44de38964 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":{"ByteRider documentation":[[0,null]],"Chassis":[[3,"chassis"]],"Direction and Speed":[[2,"direction-and-speed"]],"Finished Work":[[3,"finished-work"]],"Fusion of Software with Hardware":[[2,"fusion-of-software-with-hardware"]],"HOW DOES IT WORK?":[[2,null]],"INTRODUCTION":[[1,null]],"Motor Wires Harness":[[3,"motor-wires-harness"]],"Reserved Pins & GPIOs":[[2,"reserved-pins-gpios"]],"Schematic":[[2,"schematic"]],"WORK-IN-PROGRESS WALK THROUGH":[[3,null]],"Wiring":[[3,"wiring"]],"x- and y- axis":[[2,"x-and-y-axis"]]},"docnames":["index","intro","overview","progress"],"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":["index.rst","intro.rst","overview.rst","progress.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"0":2,"04x":2,"0x":2,"1":2,"100":2,"15":2,"16":2,"2":2,"3":2,"4":2,"47":2,"48":2,"5":2,"50":[],"6":2,"7":2,"8":2,"90":2,"91":2,"95":[],"A":2,"IN":0,"IT":0,"If":2,"In":2,"NOT":2,"The":2,"__gpio6__":[],"_static":[],"adapt":2,"adc1_ch0":2,"adc1_ch1":2,"add":[],"address":2,"ani":2,"ar":2,"arg":2,"assign":2,"axi":[],"back":2,"bacl":2,"base":2,"being":2,"below":[],"bitbyterid":2,"board":2,"breadboard":2,"brief":2,"buffer":2,"button":2,"c3":2,"call":2,"can":2,"car":2,"chang":2,"channel":2,"chassi":0,"clockwis":2,"code":2,"column":[],"complet":3,"consequ":2,"constraint":2,"content":[],"contin":2,"control":[2,3],"correspond":2,"counter":2,"crc":2,"cycl":2,"data":2,"dc":[2,3],"declar":2,"dedic":2,"defin":2,"deletep":2,"detail":[],"determin":2,"devboard":2,"develop":2,"developmemt":2,"diagon":2,"direct":[],"displai":2,"doe":0,"duti":2,"e":2,"each":2,"els":2,"error":2,"esp":2,"esp32":2,"esp_log":2,"esp_logi":2,"esp_logw":2,"esp_now_is_peer_exist":2,"esp_now_send":2,"event":2,"everi":2,"evok":2,"exist":[],"finish":0,"follow":2,"four":2,"front":2,"function":2,"fusion":0,"get":2,"gpio":0,"gpio0":2,"gpio1":2,"gpio4":2,"gpio5":2,"gpio6":2,"gpio7":2,"group":2,"har":0,"hardwar":0,"harn":3,"hexadecim":2,"hold":2,"how":0,"i":2,"idf_robot_schemat":[],"illustr":2,"imag":2,"insid":3,"instal":3,"int":2,"introduct":0,"joystick":2,"lastli":2,"ledc_channel_0":2,"ledc_channel_1":2,"ledc_channel_2":2,"ledc_channel_3":2,"left":2,"length":2,"mac":2,"mean":2,"measur":2,"memori":2,"messag":2,"microcontrol":2,"motor":[0,2],"motor1_rpm_pcm":[],"motor1_rpm_pwm":2,"motor2_rpm_pcm":[],"motor2_rpm_pwm":2,"motor3_rpm_pcm":[],"motor3_rpm_pwm":2,"motor4_rpm_pcm":[],"motor4_rpm_pwm":2,"motors_rpm":2,"move":2,"movement":2,"nav_bttn":2,"note":2,"now":2,"number":2,"ok":2,"ondatareceiv":2,"ondatas":2,"onli":[2,3],"oper":2,"oscilloscop":2,"other":2,"pair":2,"particular":2,"period":2,"pin":0,"png":[],"pointer":2,"porttick_period_m":2,"posit":2,"possibl":2,"power":2,"progress":0,"provid":2,"purpos":2,"push":2,"pwm":2,"rc":2,"rc_send_data_task":2,"receiv":2,"receiver_mac":2,"record":[],"regist":2,"requir":2,"reserv":0,"resp":2,"respons":2,"restructuredtext":[],"result":2,"right":2,"rotat":2,"row":[],"run":2,"same":[],"schemat":0,"second":2,"secur":3,"see":[],"send":2,"senddata":2,"sensors_data_t":2,"sent":2,"side":2,"sidewai":2,"similarli":2,"sizeof":2,"softwar":0,"speed":[],"static":2,"statu":2,"store":2,"struct":2,"suffici":2,"summar":2,"summari":2,"syntax":[],"tabl":2,"tag":2,"task":2,"thi":2,"those":2,"through":0,"transmit":2,"true":2,"turn":2,"two":2,"uint8_t":2,"updat":2,"us":[],"valu":2,"variou":2,"void":2,"voltag":2,"vtaskdelai":2,"wa":2,"walk":0,"well":[],"while":2,"wire":[0,2],"work":0,"wroom":2,"x":[],"x_axi":2,"y":[],"y_axi":2,"your":[]},"titles":["ByteRider documentation","INTRODUCTION","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH"],"titleterms":{"IN":3,"IT":2,"axi":2,"byterid":0,"chassi":3,"direct":2,"document":0,"doe":2,"finish":3,"fusion":2,"gpio":2,"har":3,"hardwar":2,"how":2,"introduct":1,"motor":3,"pin":2,"progress":3,"reserv":2,"schemat":2,"softwar":2,"speed":2,"through":3,"walk":3,"wire":3,"work":[2,3],"x":2,"y":2}})
\ No newline at end of file
+Search.setIndex({"alltitles":{"ByteRider documentation":[[0,null]],"Chassis":[[3,"chassis"]],"Direction and Speed":[[2,"direction-and-speed"]],"Finished Work":[[3,"finished-work"]],"Fusion of Software with Hardware":[[2,"fusion-of-software-with-hardware"]],"HOW DOES IT WORK?":[[2,null]],"INTRODUCTION":[[1,null]],"Motor Wires Harness":[[3,"motor-wires-harness"]],"Reserved Pins & GPIOs":[[2,"reserved-pins-gpios"]],"Schematic":[[2,"schematic"]],"WORK-IN-PROGRESS WALK THROUGH":[[3,null]],"Wiring":[[3,"wiring"]],"x- and y- axis":[[2,"x-and-y-axis"]]},"docnames":["index","intro","overview","progress"],"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":["index.rst","intro.rst","overview.rst","progress.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"0":2,"04x":2,"0x":2,"1":2,"100":2,"15":2,"16":2,"2":2,"3":2,"4":2,"47":2,"48":2,"5":2,"50":[],"6":2,"7":2,"8":2,"90":2,"91":2,"95":[],"A":2,"IN":0,"IT":0,"If":2,"In":2,"NOT":2,"The":2,"__gpio6__":[],"_static":[],"adapt":2,"adc1_ch0":2,"adc1_ch1":2,"add":[],"address":2,"alloc":2,"ani":2,"ar":2,"arg":2,"assign":2,"axi":[],"back":2,"bacl":2,"base":2,"being":2,"below":[],"bitbyterid":2,"board":2,"breadboard":2,"brief":2,"buf":2,"buffer":2,"button":2,"c3":2,"call":2,"can":2,"car":2,"chang":2,"channel":2,"chassi":0,"clockwis":2,"code":2,"column":[],"complet":3,"consequ":2,"constraint":2,"content":[],"contin":2,"control":[2,3],"correspond":2,"counter":2,"crc":2,"cycl":2,"data":2,"data_len":2,"dc":[2,3],"declar":2,"dedic":2,"defin":2,"deletep":2,"detail":[],"determin":2,"devboard":2,"develop":2,"developmemt":2,"diagon":2,"direct":[],"displai":2,"doe":0,"duti":2,"e":2,"each":2,"els":2,"error":2,"esp":2,"esp32":2,"esp_log":2,"esp_logi":2,"esp_logw":2,"esp_now_is_peer_exist":2,"esp_now_send":2,"esp_now_send_status_t":2,"event":2,"everi":2,"evok":2,"exist":[],"finish":0,"follow":2,"four":2,"front":2,"function":2,"fusion":0,"get":2,"gpio":0,"gpio0":2,"gpio1":2,"gpio4":2,"gpio5":2,"gpio6":2,"gpio7":2,"group":2,"har":0,"hardwar":0,"harn":3,"hexadecim":2,"hold":2,"how":0,"i":2,"idf_robot_schemat":[],"illustr":2,"imag":2,"insid":3,"instal":3,"int":2,"introduct":0,"joystick":2,"lastli":2,"ledc_channel_0":2,"ledc_channel_1":2,"ledc_channel_2":2,"ledc_channel_3":2,"left":2,"length":2,"mac":2,"mac_addr":2,"mean":2,"measur":2,"memori":2,"messag":2,"microcontrol":2,"motor":[0,2],"motor1_rpm_pcm":[],"motor1_rpm_pwm":2,"motor2_rpm_pcm":[],"motor2_rpm_pwm":2,"motor3_rpm_pcm":[],"motor3_rpm_pwm":2,"motor4_rpm_pcm":[],"motor4_rpm_pwm":2,"motors_rpm":2,"move":2,"movement":2,"nav_bttn":2,"note":2,"now":2,"number":2,"ok":2,"ondatareceiv":2,"ondatas":2,"onli":[2,3],"oper":2,"oscilloscop":2,"other":2,"packet":2,"pair":2,"particular":2,"period":2,"pin":0,"png":[],"pointer":2,"porttick_period_m":2,"posit":2,"possibl":2,"power":2,"progress":0,"provid":2,"purpos":2,"push":2,"pwm":2,"rc":2,"rc_send_data_task":2,"receiv":2,"receiver_mac":2,"record":[],"regist":2,"requir":2,"reserv":0,"resp":2,"respons":2,"restructuredtext":[],"result":2,"right":2,"rotat":2,"row":[],"run":2,"same":[],"schemat":0,"second":2,"secur":3,"see":[],"send":2,"senddata":2,"sensors_data_t":2,"sent":2,"side":2,"sidewai":2,"similarli":2,"sizeof":2,"softwar":0,"speed":[],"static":2,"statu":2,"store":2,"struct":2,"suffici":2,"summar":2,"summari":2,"syntax":[],"tabl":2,"tag":2,"task":2,"thi":2,"those":2,"through":0,"transmit":2,"true":2,"turn":2,"two":2,"uint8_t":2,"updat":2,"us":[],"valu":2,"variou":2,"void":2,"voltag":2,"vtaskdelai":2,"wa":2,"walk":0,"well":[],"when":2,"while":2,"wire":[0,2],"work":0,"wroom":2,"x":[],"x_axi":2,"y":[],"y_axi":2,"your":[]},"titles":["ByteRider documentation","INTRODUCTION","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH"],"titleterms":{"IN":3,"IT":2,"axi":2,"byterid":0,"chassi":3,"direct":2,"document":0,"doe":2,"finish":3,"fusion":2,"gpio":2,"har":3,"hardwar":2,"how":2,"introduct":1,"motor":3,"pin":2,"progress":3,"reserv":2,"schemat":2,"softwar":2,"speed":2,"through":3,"walk":3,"wire":3,"work":[2,3],"x":2,"y":2}})
\ 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 c878fe945..805a02b92 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: 5e6bca6a151764629086846c253fef4a
+config: a01f64f1690ced7e52ab4527f1b3f3e8
tags: 62a1e7829a13fc7881b6498c52484ec0
diff --git a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/esp-idf_espnow_rc-car.pdf b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/esp-idf_espnow_rc-car.pdf
index 3e5444132..e6dd785f3 100644
Binary files a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/esp-idf_espnow_rc-car.pdf and b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/esp-idf_espnow_rc-car.pdf differ
diff --git a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html
index 2a8b0fd2c..c75d8d9ab 100644
--- a/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html
+++ b/ESP-IDF_Robot/tutorial/docs/build/simplepdf/index.html
@@ -129,19 +129,6 @@
¶
-
- Add your content using
-
-
- reStructuredText
-
-
- syntax. See the
-
- reStructuredText
-
- documentation for details.
-
@@ -535,6 +522,25 @@ Changing PWM on each channel determines the speed and direction of the RC car.
The onDataReceived() and onDataSent() are two call-bacl functions that get evoked on each corresponding event.
+
+
+ // Call-back for the event when data is being received
+void onDataReceived (uint8_t *mac_addr, uint8_t *data, uint8_t data_len) {
+
+ buf = (sensors_data_t*)data; // Allocate memory for buffer to store data being received
+ ESP_LOGW(TAG, "Data was received");
+ ESP_LOGI(TAG, "x-axis: 0x%04x", buf->x_axis);
+ ESP_LOGI(TAG, "x-axis: 0x%04x", buf->y_axis);
+ ESP_LOGI(TAG, "PWM 1: 0x%04x", buf->motor1_rpm_pwm);
+}
+
+// Call-back for the event when data is being sent
+void onDataSent (uint8_t *mac_addr, esp_now_send_status_t status) {
+ ESP_LOGW(TAG, "Packet send status: 0x%04X", status);
+}
+
+
+
The rc_send_data_task() function runs every 0.1 second to transmit the data to the receiver.
@@ -650,6 +656,7 @@ Changing PWM on each channel determines the speed and direction of the RC car.
+
diff --git a/ESP-IDF_Robot/tutorial/docs/source/index.rst b/ESP-IDF_Robot/tutorial/docs/source/index.rst
index 2def04059..514fd9c3b 100644
--- a/ESP-IDF_Robot/tutorial/docs/source/index.rst
+++ b/ESP-IDF_Robot/tutorial/docs/source/index.rst
@@ -6,12 +6,11 @@
ByteRider documentation
=======================
-.. image:: _static/ESP-IDF_Robot.jpg
-
-
.. toctree::
:maxdepth: 2
intro
overview
progress
+
+.. image:: _static/ESP-IDF_Robot.jpg
\ 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 7ea05f386..11c3ee7db 100644
--- a/ESP-IDF_Robot/tutorial/docs/source/overview.rst
+++ b/ESP-IDF_Robot/tutorial/docs/source/overview.rst
@@ -115,6 +115,7 @@ The function for updating motors' PWM values.
The onDataReceived() and onDataSent() are two call-bacl functions that get evoked on each corresponding event.
.. code-block:: c
+
// Call-back for the event when data is being received
void onDataReceived (uint8_t *mac_addr, uint8_t *data, uint8_t data_len) {