91 lines
2.3 KiB
C
91 lines
2.3 KiB
C
//==========================================================
|
|
// JOYSTIC
|
|
//==========================================================
|
|
|
|
// LIBRARY
|
|
#include "joystic.h"
|
|
|
|
// JOYSTIC PIN DEFINITION
|
|
#define X_AXIS_PIN 32 // ADC1_CH4 (Valid)
|
|
#define Y_AXIS_PIN 33 // ADC1_CH5 (Valid)
|
|
#define SWITCH_PIN 34 // Changed from 25 (now ADC1_CH6)
|
|
|
|
// DATA STRUCTURE
|
|
struct JoysticData {
|
|
uint8_t X;
|
|
uint8_t Y;
|
|
bool B;
|
|
};
|
|
|
|
// JOYSTIC OBJECT
|
|
Joystic JY;
|
|
|
|
// JOYSTIC DATA
|
|
JoysticData JD;
|
|
|
|
//==========================================================
|
|
// ESPNOW
|
|
//==========================================================
|
|
|
|
// LIBRARY
|
|
#include <esp_now.h>
|
|
#include <WiFi.h>
|
|
|
|
// THIS REMOTE MAC ADDRESS
|
|
// 88:13:BF:04:24:7C
|
|
// THE RECEIVER MAC ADDRESS
|
|
// 1C:69:20:E9:13:EC
|
|
|
|
// REPLACE WITH YOUR RECEIVER MAC ADDRESS - 1C:69:20:E9:13:EC
|
|
uint8_t receiverMacAddress[] = {0x1C, 0x69, 0x20, 0xE9, 0x13, 0xEC}; // 1C:69:20:E9:13:EC
|
|
|
|
// CALLBACK WHEN DATA IS SENT
|
|
void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {
|
|
Serial.print("\r\nLast Packet Send Status:\t ");
|
|
Serial.println(status);
|
|
Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Message sent" : "Message failed");
|
|
}
|
|
|
|
// SEND DATA
|
|
void SendData(JoysticData &JD) {
|
|
esp_err_t result = esp_now_send(receiverMacAddress, (uint8_t *) &JD, sizeof(JD));
|
|
if (result == ESP_OK) {
|
|
Serial.println("Sent with success");
|
|
} else {
|
|
Serial.println("Error sending the data");
|
|
}
|
|
}
|
|
|
|
// Starting WiFi ESP NOW
|
|
void StartWireless() {
|
|
|
|
// WiFi Station Mode
|
|
WiFi.mode(WIFI_MODE_STA);
|
|
|
|
// Init ESP-NOW
|
|
if (esp_now_init() != ESP_OK) {
|
|
Serial.println("Error initializing ESP-NOW");
|
|
return;
|
|
} else {
|
|
Serial.println("Succes: Initialized ESP-NOW");
|
|
}
|
|
|
|
esp_now_register_send_cb(OnDataSent);
|
|
|
|
// Register peer
|
|
esp_now_peer_info_t peerInfo;
|
|
memcpy(peerInfo.peer_addr, receiverMacAddress, 6);
|
|
peerInfo.channel = 0;
|
|
peerInfo.encrypt = false;
|
|
|
|
// Add peer
|
|
if (esp_now_add_peer(&peerInfo) != ESP_OK) {
|
|
Serial.println("Failed to add peer");
|
|
return;
|
|
} else {
|
|
Serial.println("Succes: Added peer");
|
|
}
|
|
|
|
}
|
|
|
|
//==========================================================
|