Пример #1
0
    private static string UID  = "XYZ";    // Change XYZ to the UID of your IMU Bricklet 3.0

    // Callback function for all data callback
    static void AllDataCB(BrickletIMUV3 sender, short[] acceleration,
                          short[] magneticField, short[] angularVelocity,
                          short[] eulerAngle, short[] quaternion,
                          short[] linearAcceleration, short[] gravityVector,
                          short temperature, byte calibrationStatus)
    {
        Console.WriteLine("Acceleration [X]: " + acceleration[0] / 100.0 + " m/s²");
        Console.WriteLine("Acceleration [Y]: " + acceleration[1] / 100.0 + " m/s²");
        Console.WriteLine("Acceleration [Z]: " + acceleration[2] / 100.0 + " m/s²");
        Console.WriteLine("Magnetic Field [X]: " + magneticField[0] / 16.0 + " µT");
        Console.WriteLine("Magnetic Field [Y]: " + magneticField[1] / 16.0 + " µT");
        Console.WriteLine("Magnetic Field [Z]: " + magneticField[2] / 16.0 + " µT");
        Console.WriteLine("Angular Velocity [X]: " + angularVelocity[0] / 16.0 + " °/s");
        Console.WriteLine("Angular Velocity [Y]: " + angularVelocity[1] / 16.0 + " °/s");
        Console.WriteLine("Angular Velocity [Z]: " + angularVelocity[2] / 16.0 + " °/s");
        Console.WriteLine("Euler Angle [Heading]: " + eulerAngle[0] / 16.0 + " °");
        Console.WriteLine("Euler Angle [Roll]: " + eulerAngle[1] / 16.0 + " °");
        Console.WriteLine("Euler Angle [Pitch]: " + eulerAngle[2] / 16.0 + " °");
        Console.WriteLine("Quaternion [W]: " + quaternion[0] / 16383.0);
        Console.WriteLine("Quaternion [X]: " + quaternion[1] / 16383.0);
        Console.WriteLine("Quaternion [Y]: " + quaternion[2] / 16383.0);
        Console.WriteLine("Quaternion [Z]: " + quaternion[3] / 16383.0);
        Console.WriteLine("Linear Acceleration [X]: " + linearAcceleration[0] / 100.0 + " m/s²");
        Console.WriteLine("Linear Acceleration [Y]: " + linearAcceleration[1] / 100.0 + " m/s²");
        Console.WriteLine("Linear Acceleration [Z]: " + linearAcceleration[2] / 100.0 + " m/s²");
        Console.WriteLine("Gravity Vector [X]: " + gravityVector[0] / 100.0 + " m/s²");
        Console.WriteLine("Gravity Vector [Y]: " + gravityVector[1] / 100.0 + " m/s²");
        Console.WriteLine("Gravity Vector [Z]: " + gravityVector[2] / 100.0 + " m/s²");
        Console.WriteLine("Temperature: " + temperature + " °C");
        Console.WriteLine("Calibration Status: " + Convert.ToString(calibrationStatus, 2));
        Console.WriteLine("");
    }
Пример #2
0
    private static string UID  = "XYZ";    // Change XYZ to the UID of your IMU Bricklet 3.0

    // Callback function for quaternion callback
    static void QuaternionCB(BrickletIMUV3 sender, short w, short x, short y, short z)
    {
        Console.WriteLine("Quaternion [W]: " + w / 16383.0);
        Console.WriteLine("Quaternion [X]: " + x / 16383.0);
        Console.WriteLine("Quaternion [Y]: " + y / 16383.0);
        Console.WriteLine("Quaternion [Z]: " + z / 16383.0);
        Console.WriteLine("");
    }
Пример #3
0
    static void Main()
    {
        IPConnection  ipcon = new IPConnection();            // Create IP connection
        BrickletIMUV3 imu   = new BrickletIMUV3(UID, ipcon); // Create device object

        ipcon.Connect(HOST, PORT);                           // Connect to brickd
        // Don't use device before ipcon is connected

        // Register quaternion callback to function QuaternionCB
        imu.QuaternionCallback += QuaternionCB;

        // Set period for quaternion callback to 0.1s (100ms)
        imu.SetQuaternionCallbackConfiguration(100, false);

        Console.WriteLine("Press enter to exit");
        Console.ReadLine();
        ipcon.Disconnect();
    }
Пример #4
0
    private static string UID  = "XYZ";    // Change XYZ to the UID of your IMU Bricklet 3.0

    static void Main()
    {
        IPConnection  ipcon = new IPConnection();            // Create IP connection
        BrickletIMUV3 imu   = new BrickletIMUV3(UID, ipcon); // Create device object

        ipcon.Connect(HOST, PORT);                           // Connect to brickd
        // Don't use device before ipcon is connected

        // Get current quaternion
        short w, x, y, z;

        imu.GetQuaternion(out w, out x, out y, out z);

        Console.WriteLine("Quaternion [W]: " + w / 16383.0);
        Console.WriteLine("Quaternion [X]: " + x / 16383.0);
        Console.WriteLine("Quaternion [Y]: " + y / 16383.0);
        Console.WriteLine("Quaternion [Z]: " + z / 16383.0);

        Console.WriteLine("Press enter to exit");
        Console.ReadLine();
        ipcon.Disconnect();
    }