mirror of
https://github.com/alexandrebobkov/ESP-Nodes.git
synced 2025-08-08 03:22:21 +00:00
52 lines
1.9 KiB
Plaintext
52 lines
1.9 KiB
Plaintext
#include "driver/adc.h"
|
|
#include "esp_adc/adc_oneshot.h"
|
|
#include "esp_err.h"
|
|
#include "esp_log.h"
|
|
#include "esp_now.h"
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/semphr.h"
|
|
#include "freertos/timers.h"
|
|
#include "esp_event.h"
|
|
#include "config.h"
|
|
#include "joystick.h"
|
|
|
|
int x, y; // Joystick x and y positions
|
|
adc_oneshot_unit_handle_t adc_xy_handle;
|
|
sensors_data_t buffer;
|
|
|
|
// Function for sending the data to the receiver
|
|
void sendData (void)
|
|
{
|
|
buffer.crc = 0;
|
|
buffer.x_axis = 240;
|
|
buffer.y_axis = 256;
|
|
buffer.nav_bttn = 0;
|
|
buffer.motor1_rpm_pcm = 0; //10;
|
|
buffer.motor2_rpm_pcm = 0;
|
|
buffer.motor3_rpm_pcm = 0;
|
|
buffer.motor4_rpm_pcm = 0;
|
|
|
|
get_joystick_xy(&x, &y);
|
|
//ESP_LOGI("(x, y)", "[ %d, %d ]", x, y);
|
|
buffer.x_axis = x;
|
|
buffer.y_axis = y;
|
|
|
|
// Display brief summary of data being sent.
|
|
ESP_LOGI(TAG, "Joystick (x,y) position ( %d, %d )", buffer.x_axis, buffer.y_axis);
|
|
ESP_LOGI(TAG, "pcm 1, pcm 2 [ 0x%04X, 0x%04X ]", (uint8_t)buffer.motor1_rpm_pcm, (uint8_t)buffer.motor2_rpm_pcm);
|
|
ESP_LOGI(TAG, "pcm 3, pcm 4 [ 0x%04X, 0x%04X ]", (uint8_t)buffer.motor3_rpm_pcm, (uint8_t)buffer.motor4_rpm_pcm);
|
|
|
|
// Call ESP-NOW function to send data (MAC address of receiver, pointer to the memory holding data & data length)
|
|
uint8_t result = esp_now_send(receiver_mac, (uint8_t *)&buffer, sizeof(buffer));
|
|
|
|
// If status is NOT OK, display error message and error code (in hexadecimal).
|
|
if (result != 0) {
|
|
ESP_LOGE("sendData()", "Error sending data! Error code: 0x%04X", result);
|
|
ESP_LOGE("sendData()", "esp_now_send() failed: %s", esp_err_to_name(result));
|
|
ESP_LOGE("sendData()", "Ensure that receiver is powered-on.");
|
|
ESP_LOGE("sendData()", "Ensure that received MAC is: %02X:%02X:%02X:%02X:%02X:%02X",
|
|
receiver_mac[0], receiver_mac[1], receiver_mac[2],
|
|
receiver_mac[3], receiver_mac[4], receiver_mac[5]);
|
|
deletePeer();
|
|
}
|
|
} |