From 1d7d908b7b65fd8819e82346ca7f6e93c07a8c5f Mon Sep 17 00:00:00 2001 From: Zhaoliang <zhz03@g.ucla.edu> Date: Fri, 15 Oct 2021 01:35:27 -0700 Subject: [PATCH] change teh code to receive PID values from the master --- .../simple_test/ESP32_slave/ESP32_slave.ino | 47 +++++++++++++++++-- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/Code/ESP32_communication/simple_test/ESP32_slave/ESP32_slave.ino b/Code/ESP32_communication/simple_test/ESP32_slave/ESP32_slave.ino index 9680137..ef40220 100644 --- a/Code/ESP32_communication/simple_test/ESP32_slave/ESP32_slave.ino +++ b/Code/ESP32_communication/simple_test/ESP32_slave/ESP32_slave.ino @@ -6,23 +6,31 @@ #include <Wire.h> //------------------------------------------------------------------------------------- - +String strData = ""; +double valData = 0.0; +double Kpx=2, Kix=0.1, Kdx=0.25; +double Kpy=1, Kiy=0.1, Kdy=0.25; //------------------------------------------------------------------------------------- typedef struct RxStruct { - int potVal; + String StrD; + double ValD; }RxStruct; RxStruct receivedData; //------------------------------------------------------------------------------------- void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) { memcpy(&receivedData, incomingData, sizeof(receivedData)); - Serial.println(receivedData.potVal); + Serial.print("data:"); + Serial.println(receivedData.StrD); + Serial.println(receivedData.ValD); + strData = receivedData.StrD; + valData = receivedData.ValD; } //====================================================================================== void setup() { - Serial.begin(11520); + Serial.begin(9600); WiFi.mode(WIFI_STA); if (esp_now_init() != ESP_OK) @@ -34,6 +42,35 @@ void setup() } //====================================================================================== void loop() -{ +{ + Kpx = getVal(strData,"kpx",valData,Kpx); + Kix = getVal(strData,"kix",valData,Kix); + Kdx = getVal(strData,"kdx",valData,Kdx); + Kpy = getVal(strData,"kpy",valData,Kpy); + Kiy = getVal(strData,"kiy",valData,Kiy); + Kdy = getVal(strData,"kdy",valData,Kdy); + + Serial.print("Kpx:"); + Serial.println(Kpx); + Serial.print("Kix:"); + Serial.println(Kix); + Serial.print("Kdx:"); + Serial.println(Kdx); + Serial.print("Kdy:"); + Serial.println(Kdy); + Serial.print("Kiy:"); + Serial.println(Kiy); + Serial.print("Kdy:"); + Serial.println(Kdy); } + +double getVal(String checkData,String Ans,double val,double ori_val){ + if (checkData == Ans){ + strData = ""; + valData = 0.0; + return val; + }else { + return ori_val; + } +} -- GitLab