// #include <string.h>
// struct feedback{
// int16_t encoder;
// bool ls1;
// bool ls2;
// float current;
// };
// // struct feedback fb1={-12,0,1,22.4};
// struct feedback fb1;
// uint8_t data[8];
// struct feedback fb2;
// void setup() {
// // put your setup code here, to run once:
// fb1.encoder=-12;
// fb1.ls1=0;
// fb1.ls2=1;
// fb1.current=12.2;
// memcpy(&fb1,&data,sizeof(fb1));
// memcpy(&data,&fb2,sizeof(data));
// Serial.begin(115200);
// Serial.println("Hello, ESP32!");
// Serial.println(sizeof(feedback));
// Serial.println(sizeof(int16_t));
// Serial.println(sizeof(bool));
// Serial.println(sizeof(float));
// Serial.println("-------------------------------------------------");
// Serial.print(fb2.encoder);
// Serial.print(",");
// Serial.print(fb2.ls1);
// Serial.print(",");
// Serial.print(fb2.ls2);
// Serial.print(",");
// Serial.println(fb2.current);
// Serial.println("--------------------------------------------------");
// Serial.print(data[0]);
// }
// void loop() {
// // put your main code here, to run repeatedly:
// delay(10); // this speeds up the simulation
// }
#include <string.h>
struct feedback {
int16_t encoder;
bool ls1;
bool ls2;
float current;
};
struct feedback fb1;
uint8_t data[8];
struct feedback fb2;
void setup() {
Serial.begin(115200);
// Initialize fb1
fb1.encoder = 12;
fb1.ls1 = 0;
fb1.ls2 = 1;
fb1.current = 12.2;
// Copy fb1 into data
memcpy(data, &fb1, sizeof(fb1));
// Copy data into fb2
memcpy(&fb2, data, sizeof(fb2));
// Debugging output
Serial.println("Hello, ESP32!");
Serial.println(sizeof(feedback));
Serial.println(sizeof(int16_t));
Serial.println(sizeof(bool));
Serial.println(sizeof(float));
Serial.println("-------------------------------------------------");
Serial.print("fb2.encoder: "); Serial.println(fb2.encoder);
Serial.print("fb2.ls1: "); Serial.println(fb2.ls1);
Serial.print("fb2.ls2: "); Serial.println(fb2.ls2);
Serial.print("fb2.current: "); Serial.println(fb2.current);
Serial.println("--------------------------------------------------");
for (int i=0; i<8;i++){
Serial.print("data[0]: "); Serial.println(data[i]);
}
}
void loop() {
// Main loop code here
delay(10);
}