Ejemplo n.º 1
0
/*reset sensors*/
imu_status_t imu_sensor_reset(void)
{

    if(LSM6DS3_IO_Init() != imu_status_ok)
    {
        printf("lsm6ds3 io init error\n");
        return imu_status_fail;
    }
    /* Configure interrupt lines */
    LSM6DS3_IO_ITConfig();
    /*Config LSM303AGR interrupt lines*/
    LSM303AGR_IO_ITConfig();

    printf("IT IO Config\n");

    if(lsm6ds3_fifo_sensor_enable() != imu_status_ok)
    {
        printf("sensor fifoenable error\n");
        return imu_status_fail;
    }
    printf("sensor enable\n");
    
    if(imu_sensor_magneto_interrupt_enable() != imu_status_ok)
    {
        printf("imu_sensor_magneto_interrupt_enable\n");
        return imu_status_fail;
    }

    return imu_status_ok;

}
Ejemplo n.º 2
0
/*reset sensors*/
imu_status_t imu_sensor_reset(void)
{
     uint8_t tempReg[2] = {0,0};
 
    if(LSM6DS3_IO_Init() != imu_status_ok)
    {
        printf("lsm6ds3 io init error\n");
        return imu_status_fail;
    }
    /* Configure interrupt lines */
    LSM6DS3_IO_ITConfig();
    printf("IT IO Config\n");
    
    /*soft reset*/
    if(imu_sensor_lsm6ds3_soft_reset() != imu_status_ok)
    {
        printf("lsm6ds3 reset error\n");
        return imu_status_fail;
    }

    printf("sensor reset\n");
    
    imu_sensor_read_fifo_status();
    /*clear fifo data*/
    imu_sensor_clear_fifo();
    imu_sensor_read_fifo_status();
    
    /*set fifo water mark level*/
    if(imu_sensor_fifo_threshold_level(2046) != imu_status_ok) { //1.2kBytes
        printf("sensor fifo water mark setting error\n");
        return imu_status_fail;
    }

    printf("fifo water mark level set over\n");
   
    /*enable fifo interrupt*/
    if(imu_sensor_fifo_threshold_interrupt() != imu_status_ok ) {
        printf("sensor fifo interrupt setting error\n");
        return imu_status_fail;
    }

    printf("fifo threshold interrupt set over\n");

    if(lsm6ds3_fifo_sensor_enable() != imu_status_ok)
    {
        printf("sensor fifoenable error\n");
        return imu_status_fail;
    }
    printf("sensor enable\n");
    return imu_status_ok;

}