ER ev3_motor_steer()

in ev3-api/src/ev3api_motor.c [365:391]


ER ev3_motor_steer(motor_port_t left_motor, motor_port_t right_motor, int power, int turn_ratio) {
	ER ercd;

//	lazy_initialize();

	CHECK_PORT(left_motor);
	CHECK_PORT_CONN(left_motor);
	CHECK_PORT(right_motor);
	CHECK_PORT_CONN(right_motor);

	if (right_motor < left_motor)
		turn_ratio = turn_ratio * (-1);

    STEPSYNC ts;
    ts.Cmd = opOUTPUT_STEP_SYNC;
    ts.Nos = (1 << left_motor) | (1 << right_motor);
    ts.Speed = power;
    ts.Turn = turn_ratio * 2;
    ts.Step = 0;
    ts.Brake = false;
    motor_command(&ts, sizeof(ts));

    ercd = E_OK;

error_exit:
	return ercd;
}