// ESPNOW #include #include // 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); }