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();
        }