public bool InitAxes()
        {
            int idxSetup = -1;

            foreach (var motor in motors.Values)
            {
                idxSetup = InitAxis(motor.id, motor.file);
                if (idxSetup == -1)
                {
                    return(false);
                }
            }
            if (motors.Count > 1)
            {
                if (!TMLLib.TS_SetupBroadcast(idxSetup))
                {
                    return(false);
                }

                if (!TMLLib.TS_SelectBroadcast())
                {
                    return(false);
                }
            }

            if (!TMLLib.TS_Power(TMLLib.POWER_ON))
            {
                return(false);
            }

            foreach (var motor in motors.Values)
            {
                UInt16 sAxiOn_flag = 0;
                while (sAxiOn_flag == 0)
                {
                    if (!TMLLib.TS_SelectAxis(motor.id))
                    {
                        return(false);
                    }
                    if (!TMLLib.TS_ReadStatus(TMLLib.REG_SRL, out sAxiOn_flag))
                    {
                        return(false);
                    }
                    sAxiOn_flag = (UInt16)((sAxiOn_flag & 1 << 15) != 0 ? 1 : 0);
                }
            }
            return(true);
        }