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