Send accel data from M5Stack Core 2 to TouchDesigner via OSC



  • Hi, I'm a complete beginner with programming, and as well as, using M5Stack Core 2 and TouchDesiger.
    Does anyone know how to send accel data from M5Stack Core 2 to TouchDesigner via OSC?

    Below is the code that I copied from several sources.
    I could connect to the WiFi, but no response from TouchDesigner.
    I am not sure what's missing..
    Can someone teach me?

    #include <M5Core2.h>
    #include <WiFi.h>
    #include <WiFiUdp.h>
    #include <OSCBundle.h>
    
    const char *ssid = "***";
    const char *password = "***";
    
    const char *udpAddress ="***";
    const int udpPort = 10000;
    
    WiFiUDP udp;
    
    float accX = 0.0F;
    float accY = 0.0F;
    float accZ = 0.0F;
    
    float gyroX = 0.0F;
    float gyroY = 0.0F;
    float gyroZ = 0.0F;
    
    float pitch = 0.0F;
    float roll = 0.0F;
    float yaw = 0.0F;
    
    float temp = 0.0F;
    
    uint32_t Now = 0;
    uint32_t lastUpdate = 0;
    float deltat = 0.0f;
    
    
    void setup(){
      M5.begin();
      M5.IMU.Init();
      delay(2000);
      Serial.println("*** setup *** aaa ***");
      delay(1000);
    
      WiFi.begin(ssid, password);
      while(WiFi.status() != WL_CONNECTED){
        delay(500);
        M5.Lcd.print(".");
      }
    
      M5.Lcd.println("WiFi Connected");
      M5.Lcd.print("IP address= ");
      M5.Lcd.println(WiFi.localIP());
    }
    
    void loop(){
      M5.update();
      if(WiFi.status() == WL_CONNECTED){
    
        OSCBundle bndl;
    
    
        udp.beginPacket(udpAddress, udpPort);
        bndl.send(udp);
        udp.endPacket();
        bndl.empty();
      }
    
      delay(10);
    
      M5.IMU.getAccelData(&accX,&accY, &accZ);
      M5.IMU.getTempData(&temp);
      deltat = ((Now - lastUpdate)/1000000.0f);
      lastUpdate = Now;
    
      MahonyAHRSupdateIMU(gyroX, gyroY, gyroZ, accX, accY, accZ, &pitch, &roll, &yaw);
      
    }