int pifly_controller_init(pifly_global_t *gl) { int rv = 0; if ((rv = __pifly_timer_event_init(gl)) < 0) return rv; if ((rv = imu_device_init(gl)) < 0) goto imu_error; if ((rv = pifly_pid_init(gl)) < 0) goto pid_error; if ((rv = pifly_motor_init(&(gl->motor_dev))) < 0) goto motor_error; return rv; motor_error: pifly_pid_exit(gl); pid_error: imu_device_exit(gl); imu_error: __pifly_timer_event_exit(gl); return rv; }
int imu_init(LoggerConfig *loggerConfig) { imu_device_init(); init_filters(loggerConfig); return 1; }