Search code examples
fusion

List of functions to access data in SensorStudio blocks


Where can I find a list of functions that allow me to access data from SensorStudio blocks?

For example game_rotation_vector_data_event()


Solution

  • The list of available sensor data event callbacks the device can support is pre-written (as comment) from the default implementation source code of CustomSensorDesigner block. These functions are ready to implement after un-commenting them.

    For information, the function will not have any effects if the given CustomSensorDesigner block is not well attached to the corresponding sensor of the callback function.

    Example of this list (ICM-30670):

    static void accelerometer_data_event(uint32_t timestamp, void* data, uint16_tlen) { 
    
        VSensorDataAccelerometer* in = (VSensorDataAccelerometer*) data; 
        /* implement here */
    }
    
    static void magnetometer_data_event(uint32_t timestamp, void* data, uint16_tlen) { 
        VSensorDataMagnetometer* in = (VSensorDataMagnetometer*) data; 
        /* implement here */ 
    }
    
    static void orientation_data_event(uint32_t timestamp, void* data, uint16_tlen) { 
        VSensorDataOrientation* in = (VSensorDataOrientation*) data;
        /* implement here */
    }
    
    static void gyroscope_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataGyroscope* in = (VSensorDataGyroscope*) data;
        /* implement here */
    }
    
    static void pressure_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataPressure* in = (VSensorDataPressure*) data;
        /* implement here */
    }
    
    static void proximity_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataProximity* in = (VSensorDataProximity*) data;
        /* implement here */ 
    }
    
    static void gravity_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataGravity* in = (VSensorDataGravity*) data;
        /* implement here */ 
    }
    
    static void linear_acceleration_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataLinearAcc* in = (VSensorDataLinearAcc*) data;
        /* implement here */ 
    }
    
    static void rotation_vector_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataQuaternion* in = (VSensorDataQuaternion*) data;
        /* implement here */ 
    }
    
    static void ambient_temperature_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataTemperature* in = (VSensorDataTemperature*) data;
        /* implement here */
    }
    
    static void uncal_magnetometer_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataMagnetometerUncal* in = (VSensorDataMagnetometerUncal*) data; 
        /* implement here */ 
    }
    
    static void game_rotation_vector_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataQuaternion* in = (VSensorDataQuaternion*) data; 
        /* implement here */
    }
    
    static void uncal_gyroscope_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataGyroscopeUncal* in = (VSensorDataGyroscopeUncal*) data;
        /* implement here */ 
    }
    
    static void smd_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        /* implement here */ 
    }
    
    static void step_detector_data_event(uint32_t timestamp, void* data, uint16_tlen) { 
        /* implement here */ 
    }
    
    static void step_counter_data_event(uint32_t timestamp, void* data, uint16_tlen) { 
        VSensorDataStepCount* in = (VSensorDataStepCount*) data;
        /* implement here */ 
    }
    
    static void geomag_rotation_vector_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataQuaternion* in = (VSensorDataQuaternion*) data;
        /* implement here */ 
    }
    
    static void tilt_detector_data_event(uint32_t timestamp, void* data, uint16_tlen) { 
        /* implement here */ 
    }
    
    static void pick_up_gesture_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        /* implement here */ 
    }
    
    static void bac_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        VSensorDataBAC* in = (VSensorDataBAC*) data;
        /* implement here */ 
    }
    
    static void custom0_data_event(uint32_t timestamp, void* data, uint16_t len) { 
        /* implement here */ 
    }
    
    static void custom1_data_event(uint32_t timestamp, void* data, uint16_t len) {
        /* implement here */ 
    }
    
    static void custom2_data_event(uint32_t timestamp, void* data, uint16_t len) {
        /* implement here */ 
    }
    
    static void custom3_data_event(uint32_t timestamp, void* data, uint16_t len) {
        /* implement here */ 
    }