diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle b/ESP-IDF_Robot/tutorial/docs/build/doctrees/environment.pickle index 91b9fafd2..8c63e4d79 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/receiver.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/receiver.doctree index ee95db3a8..cb09e39a9 100644 Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/receiver.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/receiver.doctree differ diff --git a/ESP-IDF_Robot/tutorial/docs/build/doctrees/transmitter.doctree b/ESP-IDF_Robot/tutorial/docs/build/doctrees/transmitter.doctree index cdd55e52e..8f7a08de9 100644 Binary files a/ESP-IDF_Robot/tutorial/docs/build/doctrees/transmitter.doctree and b/ESP-IDF_Robot/tutorial/docs/build/doctrees/transmitter.doctree differ diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/receiver.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/receiver.rst.txt index ae5da737f..52e0c1b36 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/receiver.rst.txt +++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/receiver.rst.txt @@ -1,2 +1,52 @@ RECEIVER -======== \ No newline at end of file +======== + +Configuration Variables +----------------------- + +.. code-block:: c + + uint8_t transmitter_mac[ESP_NOW_ETH_ALEN] = {0x9C, 0x9E, 0x6E, 0x14, 0xB5, 0x54}; + +Receiving Data +-------------- + +.. code-block:: c + + void onDataReceived (const uint8_t *mac_addr, const uint8_t *data, uint8_t data_len) { + ESP_LOGI(TAG, "Data received from: %02x:%02x:%02x:%02x:%02x:%02x, len=%d", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5], data_len); + memcpy(&buf, data, sizeof(buf)); + } + +Main Function +------------- + +.. code-block:: c + + #include + #include "freertos/FreeRTOS.h" + #include "nvs_flash.h" + #include "esp_err.h" + + void app_main(void) { + // Initialize NVS + esp_err_t ret = nvs_flash_init(); + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + ESP_ERROR_CHECK( nvs_flash_erase() ); + ret = nvs_flash_init(); + } + ESP_ERROR_CHECK( ret ); + wifi_init(); + ESP_ERROR_CHECK(esp_now_init()); + + esp_now_peer_info_t transmitterInfo = {0}; + memcpy(transmitterInfo.peer_addr, transmitter_mac, ESP_NOW_ETH_ALEN); + transmitterInfo.channel = 0; // Current WiFi channel + transmitterInfo.ifidx = ESP_IF_WIFI_STA; + transmitterInfo.encrypt = false; + ESP_ERROR_CHECK(esp_now_add_peer(&transmitterInfo)); + + ESP_ERROR_CHECK(esp_now_register_recv_cb((void*)onDataReceived)); + + system_led_init(); + } \ No newline at end of file diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/transmitter.rst.txt b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/transmitter.rst.txt index f4e7fc2ac..c27bb7622 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/_sources/transmitter.rst.txt +++ b/ESP-IDF_Robot/tutorial/docs/build/html/_sources/transmitter.rst.txt @@ -2,4 +2,30 @@ TRANSMITTER =========== Data Encapsulation ------------------- \ No newline at end of file +------------------ + +Main Function +------------- + +.. code-block:: c + + #include "freertos/FreeRTOS.h" + #include "nvs_flash.h" + #include "esp_err.h" + + void app_main(void) { + // Initialize internal temperature sensor + chip_sensor_init(); + + // Initialize NVS + esp_err_t ret = nvs_flash_init(); + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + ESP_ERROR_CHECK( nvs_flash_erase() ); + ret = nvs_flash_init(); + } + ESP_ERROR_CHECK( ret ); + wifi_init(); + joystick_adc_init(); + transmission_init(); + system_led_init(); + } \ No newline at end of file diff --git a/ESP-IDF_Robot/tutorial/docs/build/html/index.html b/ESP-IDF_Robot/tutorial/docs/build/html/index.html index 053c56bcb..fe5357463 100644 --- a/ESP-IDF_Robot/tutorial/docs/build/html/index.html +++ b/ESP-IDF_Robot/tutorial/docs/build/html/index.html @@ -50,9 +50,15 @@
  • TRANSMITTER +
  • +
  • RECEIVER
  • -
  • RECEIVER
  • WORK-IN-PROGRESS WALK THROUGH
  • RECEIVER +
  • @@ -753,6 +775,39 @@ This enables fine-grained speed control, supports differential drive configurati +
    +

    + Main Function + + ¶ + +

    +
    +
    +
    #include "freertos/FreeRTOS.h"
    +#include "nvs_flash.h"
    +#include "esp_err.h"
    +
    +void app_main(void) {
    +    // Initialize internal temperature sensor
    +    chip_sensor_init();
    +
    +    // Initialize NVS
    +    esp_err_t ret = nvs_flash_init();
    +    if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
    +        ESP_ERROR_CHECK( nvs_flash_erase() );
    +        ret = nvs_flash_init();
    +    }
    +    ESP_ERROR_CHECK( ret );
    +    wifi_init();
    +    joystick_adc_init();
    +    transmission_init();
    +    system_led_init();
    +}
    +
    +
    +
    +
    @@ -763,6 +818,77 @@ This enables fine-grained speed control, supports differential drive configurati ¶ +
    +

    + Configuration Variables + + ¶ + +

    +
    +
    +
    uint8_t transmitter_mac[ESP_NOW_ETH_ALEN] = {0x9C, 0x9E, 0x6E, 0x14, 0xB5, 0x54};
    +
    +
    +
    +
    +
    +

    + Receiving Data + + ¶ + +

    +
    +
    +
    void onDataReceived (const uint8_t *mac_addr, const uint8_t *data, uint8_t data_len) {
    +    ESP_LOGI(TAG, "Data received from: %02x:%02x:%02x:%02x:%02x:%02x, len=%d", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5], data_len);
    +    memcpy(&buf, data, sizeof(buf));
    +}
    +
    +
    +
    +
    +
    +

    + Main Function + + ¶ + +

    +
    +
    +
    #include <string.h>
    +#include "freertos/FreeRTOS.h"
    +#include "nvs_flash.h"
    +#include "esp_err.h"
    +
    +void app_main(void) {
    +    // Initialize NVS
    +    esp_err_t ret = nvs_flash_init();
    +    if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
    +        ESP_ERROR_CHECK( nvs_flash_erase() );
    +        ret = nvs_flash_init();
    +    }
    +    ESP_ERROR_CHECK( ret );
    +    wifi_init();
    +    ESP_ERROR_CHECK(esp_now_init());
    +
    +    esp_now_peer_info_t transmitterInfo = {0};
    +    memcpy(transmitterInfo.peer_addr, transmitter_mac, ESP_NOW_ETH_ALEN);
    +    transmitterInfo.channel = 0; // Current WiFi channel
    +    transmitterInfo.ifidx = ESP_IF_WIFI_STA;
    +    transmitterInfo.encrypt = false;
    +    ESP_ERROR_CHECK(esp_now_add_peer(&transmitterInfo));
    +
    +    ESP_ERROR_CHECK(esp_now_register_recv_cb((void*)onDataReceived));
    +
    +    system_led_init();
    +}
    +
    +
    +
    +
    diff --git a/ESP-IDF_Robot/tutorial/docs/source/receiver.rst b/ESP-IDF_Robot/tutorial/docs/source/receiver.rst index ae5da737f..52e0c1b36 100644 --- a/ESP-IDF_Robot/tutorial/docs/source/receiver.rst +++ b/ESP-IDF_Robot/tutorial/docs/source/receiver.rst @@ -1,2 +1,52 @@ RECEIVER -======== \ No newline at end of file +======== + +Configuration Variables +----------------------- + +.. code-block:: c + + uint8_t transmitter_mac[ESP_NOW_ETH_ALEN] = {0x9C, 0x9E, 0x6E, 0x14, 0xB5, 0x54}; + +Receiving Data +-------------- + +.. code-block:: c + + void onDataReceived (const uint8_t *mac_addr, const uint8_t *data, uint8_t data_len) { + ESP_LOGI(TAG, "Data received from: %02x:%02x:%02x:%02x:%02x:%02x, len=%d", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5], data_len); + memcpy(&buf, data, sizeof(buf)); + } + +Main Function +------------- + +.. code-block:: c + + #include + #include "freertos/FreeRTOS.h" + #include "nvs_flash.h" + #include "esp_err.h" + + void app_main(void) { + // Initialize NVS + esp_err_t ret = nvs_flash_init(); + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + ESP_ERROR_CHECK( nvs_flash_erase() ); + ret = nvs_flash_init(); + } + ESP_ERROR_CHECK( ret ); + wifi_init(); + ESP_ERROR_CHECK(esp_now_init()); + + esp_now_peer_info_t transmitterInfo = {0}; + memcpy(transmitterInfo.peer_addr, transmitter_mac, ESP_NOW_ETH_ALEN); + transmitterInfo.channel = 0; // Current WiFi channel + transmitterInfo.ifidx = ESP_IF_WIFI_STA; + transmitterInfo.encrypt = false; + ESP_ERROR_CHECK(esp_now_add_peer(&transmitterInfo)); + + ESP_ERROR_CHECK(esp_now_register_recv_cb((void*)onDataReceived)); + + system_led_init(); + } \ No newline at end of file diff --git a/ESP-IDF_Robot/tutorial/docs/source/transmitter.rst b/ESP-IDF_Robot/tutorial/docs/source/transmitter.rst index f4e7fc2ac..c27bb7622 100644 --- a/ESP-IDF_Robot/tutorial/docs/source/transmitter.rst +++ b/ESP-IDF_Robot/tutorial/docs/source/transmitter.rst @@ -2,4 +2,30 @@ TRANSMITTER =========== Data Encapsulation ------------------- \ No newline at end of file +------------------ + +Main Function +------------- + +.. code-block:: c + + #include "freertos/FreeRTOS.h" + #include "nvs_flash.h" + #include "esp_err.h" + + void app_main(void) { + // Initialize internal temperature sensor + chip_sensor_init(); + + // Initialize NVS + esp_err_t ret = nvs_flash_init(); + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + ESP_ERROR_CHECK( nvs_flash_erase() ); + ret = nvs_flash_init(); + } + ESP_ERROR_CHECK( ret ); + wifi_init(); + joystick_adc_init(); + transmission_init(); + system_led_init(); + } \ No newline at end of file