45 lines
889 B
C
45 lines
889 B
C
|
|
// ESPNOW
|
|
#include <esp_now.h>
|
|
#include <WiFi.h>
|
|
|
|
// Packet Data Structure
|
|
struct PacketData {
|
|
uint8_t X; // Steering (left/right)
|
|
uint8_t Y; // Throttle (forward/backward)
|
|
bool B; // Button
|
|
};
|
|
|
|
// Data Received From Remote
|
|
PacketData data;
|
|
|
|
// ESP-NOW callback
|
|
void OnDataRecv(const esp_now_recv_info *info, const uint8_t *data, int len) {
|
|
if (len == sizeof(PacketData)) {
|
|
memcpy(&data, data, sizeof(PacketData));
|
|
}
|
|
}
|
|
|
|
// Function To Start ESPNOW
|
|
void espnow_begin() {
|
|
|
|
// ESP-NOW setup
|
|
WiFi.mode(WIFI_STA);
|
|
if (esp_now_init() != ESP_OK) {
|
|
Serial.println("ESP-NOW init failed");
|
|
return;
|
|
}
|
|
|
|
delay(100);
|
|
|
|
// Print MAC Address
|
|
Serial.println(WiFi.macAddress());
|
|
|
|
delay(2000);
|
|
|
|
// When Receive Data Execute OnDataRecv Function
|
|
esp_now_register_recv_cb(OnDataRecv);
|
|
|
|
}
|
|
|