Value

#include <esp_now.h>

#include <WiFi.h>


#define SIGNAL_TIMEOUT 1000


unsigned long lastRecvTime = 0;


struct PacketData

{

  byte lxAxisValue;

  byte lyAxisValue;

  byte rxAxisValue;

  byte ryAxisValue;


  byte switch1Value;

  byte switch2Value;

  byte switch3Value;

  byte switch4Value;

  byte switch5Value;

  byte switch6Value;

  byte switch7Value;

  byte switch8Value;

};


PacketData receiverData;



// NEW ESP32 RECEIVE CALLBACK

void OnDataRecv(const esp_now_recv_info_t *info, const uint8_t *incomingData, int len)

{

  if (len == 0) return;


  memcpy(&receiverData, incomingData, sizeof(receiverData));


  char inputValuesString[120];


  sprintf(inputValuesString,

          "%3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d,%3d",

          receiverData.lxAxisValue,

          receiverData.lyAxisValue,

          receiverData.rxAxisValue,

          receiverData.ryAxisValue,

          receiverData.switch1Value,

          receiverData.switch2Value,

          receiverData.switch3Value,

          receiverData.switch4Value,

          receiverData.switch5Value,

          receiverData.switch6Value,

          receiverData.switch7Value,

          receiverData.switch8Value);


  Serial.println(inputValuesString);


  lastRecvTime = millis();

}



void setup()

{

  Serial.begin(115200);


  WiFi.mode(WIFI_STA);


  if (esp_now_init() != ESP_OK)

  {

    Serial.println("Error initializing ESP-NOW");

    return;

  }


  Serial.println("ESP-NOW Ready");


  esp_now_register_recv_cb(OnDataRecv);

}



void loop()

{

  unsigned long now = millis();


  if (now - lastRecvTime > SIGNAL_TIMEOUT)

  {

    Serial.println("No Signal");

  }

}

Post a Comment

Previous Post Next Post

Contact Form