/// <summary> /// Servo polled event /// </summary> /// <param name="servo"></param> public virtual void OnHerkulexServoInformation(Servo servo) { OnHerkulexServoInformationEvent?.Invoke(this, new HerkulexServoInformationArgs { Servo = servo }); }
/// <summary> /// Error occured event /// </summary> /// <param name="servo"></param> public virtual void OnHerkulexError(Servo servo) { //Ne doit être appelé que si il y a une erreur HerkulexErrorEvent?.Invoke(this, new HerkulexManagerNS.HerkulexEventArgs.HerkulexErrorArgs { Servo = servo }); }
/// <summary> /// Adds a servo to the controller /// </summary> /// <param name="ID">Servo ID</param> /// <param name="mode">JOG mode</param> public void AddServo(ServoId ID, HerkulexDescription.JOG_MODE mode) { Servo servo = new Servo(ID, mode); while (!Servos.TryAdd(ID, servo)) { ; //ON tente l'ajout tant qu'il n'est pas validé } //reply to all packets RAM_WRITE(ID, HerkulexDescription.RAM_ADDR.ACK_Policy, 1, 0x02); //reply to I_JOG / S_JOG RecoverErrors(ID); }