public bool MoveAbsAsync(char axis, int position) { if (position > motors[axis].limit || position < 0) { return(false); } int rot = MicronToRotation(axis, position); mutex.WaitOne(); if (!SelectChannel()) { return(false); } if (!TMLLib.TS_SelectAxis(motors[axis].id)) { return(false); } if (!TMLLib.TS_MoveAbsolute(rot, speed, acceleration, TMLLib.UPDATE_IMMEDIATE, TMLLib.FROM_REFERENCE)) { return(false); } return(true); mutex.ReleaseMutex(); }