Gestión de librerias desde programa principal

Hola!

Estoy haciendo un proyecto sobre la fusión de los datos de una IMU GY80,para poder determinar su orientación.

He creado una librería para las operaciones de los sensores (estoy utilizando el método DCM).
Pero tengo problemas al diseñar el programa principal, es la primera vez que creo una librería y no se gestionarla.

quiero que imprima por pantalla los valores finales de los ángulos de Euler que he calculado.

Adjunto en este post el código y los errores que me he obtenido.

Muchas gracias de antemano!

//LIBRERIAS
  #include <Wire.h>
  #include <IMU_GY80.h>
//#include <Ethernet.h>
//#include <EthernetUdp.h>

GY80_IMU()

void setup()
{
  // Init serial output
     Serial.begin(OUTPUT_BAUD_RATE);
 
}

// Main loop
   void loop()
{
    // Init sensors
   delay(50);  // Give sensors enough time to start

  Iniciar();
  IniciaAcel();
  IniciaMagn();
  IniciaGiro();
  //Pressure_Init();
  
  // Read sensors, init DCM algorithm

     delay(20);  // Give sensors enough time to collect data
     reset_sensor_fusion();

        if ((millis() - timestamp) >= OUTPUT_DATA_INTERVAL) { // Time to read the sensors again?
        timestamp_old = timestamp;
        timestamp = millis();
           
        if (timestamp > timestamp_old)
        G_Dt = (float) (timestamp - timestamp_old) / 1000.0f; // Real time of loop run. We use this on the DCM algorithm (gyro integration time)
           
        else
        G_Dt = 0;

    ReadSensores();
    //PrintSensores();

    MatrizActualizada();
    Normalizar();
    CorrecionDrift();
    Angulos_Euler();
       
    Serial.print(TO_DEG(yaw));    Serial.print(";");
    Serial.print(TO_DEG(pitch));  Serial.print(";");
    Serial.print(TO_DEG(roll));   Serial.print(";");
   // Serial.print(temperature);    Serial.print(";");
   // Serial.print(pressure);       Serial.print(";");
   // Serial.print(altitude);       Serial.println();
  }
}

y aquí están mis herrores:

PRUEBA_FINAL:13: error: expected constructor, destructor, or type conversion before 'void'

 void setup()

 ^

C:\Users\Paula\Documents\Arduino\PRUEBA_FINAL\PRUEBA_FINAL.ino: In function 'void loop()':

PRUEBA_FINAL:26: error: 'Iniciar' was not declared in this scope

   Iniciar();

           ^

PRUEBA_FINAL:27: error: 'IniciaAcel' was not declared in this scope

   IniciaAcel();

              ^

y así con todas las funciones declaradas en el programa principal.

Bueno como no pones el enlace de la librería IMU_GY80 poca precisión puedo darte pero esta claro que

Iniciar();
  IniciaAcel();
  IniciaMagn();
  IniciaGiro();

esto debe existir en algun sitio. Se supone que has definido un objeto, IMU_GY80 pero solo pones esto

GY80_IMU()

y ademas no cierras con ;

Asi que estas comentiendo muchos errores normales para el comienzo en este mundo.
Mi consejo es que tomes un libro de Arduino y revises lo básico. Aprendas a ver como resolver errores simples.

luego mas seguro, retoma esto, busca la librería, compila algun ejemplo ajustado a la dirección de tu sensor y mira que responde.

Luego ADAPTA dicho ejemplo en un directorio propio (sino no podras salvarlo).

Eso que nos muestras tiene muchos errores y todos estan relacionados con el manejo del objeto. Asi que céntrate en eso.