public BioloidRegister GetAX12Register(AX12RegisterAdd add) { if (ax12Registers.ContainsKey((byte)add) == true) { return ax12Registers[(byte)add]; } else { throw new Exception("Non encore implémentée"); } }
protected virtual void OnWritingError(AX12RegisterAdd add, UInt16 value) { // Une copie temporaire est effectuée afin d'éviter une "race condition" si le dernier abonné se désabonne // immédiatement après le control du null et avant levé de l'évènement RefreshValue handler = WritingError; if (handler != null) { handler(add, value); } }
private Arduino.Communication.DataAccess.ArduinoBus.currentSysexCallback WriteCallback(AX12RegisterAdd add) { return new Arduino.Communication.DataAccess.ArduinoBus.currentSysexCallback( (x, y) => { if (y[2] != 0) { OnWritingError(add, y[2]); } }); }
/// <summary> /// /// </summary> /// <param name="add"></param> /// <param name="val"></param> /// <param name="callback"></param> protected internal void SetXVal(AX12RegisterAdd add, int val, Arduino.Communication.DataAccess.ArduinoBus.currentSysexCallback callback) { lock (this.lockref) { if (_re == null) { _busarduino.SendWriteInstructionMessage(_identifiant_dynamixel, _busarduino.GetAX12Register(add), new byte[] { (byte)(val & 0xFF), (byte)((val >> 8) & 0xFF) }, callback); } else { _busarduino.SendWriteInstructionMessage(_identifiant_dynamixel, _busarduino.GetAX12Register(add), new byte[] { (byte)(val & 0xFF), (byte)((val >> 8) & 0xFF) }); } } }
protected internal void SetXVal(AX12RegisterAdd add, byte val, Arduino.Communication.DataAccess.ArduinoBus.currentSysexCallback callback) { lock (lockref) { if (callback == null) { _busarduino.SendWriteInstructionMessage(_identifiant_dynamixel, _busarduino.GetAX12Register(add), new byte[] { val }); } else { _busarduino.SendWriteInstructionMessage(_identifiant_dynamixel, _busarduino.GetAX12Register(add), new byte[] { val }, callback); } } }
protected internal void GetXVal(AX12RegisterAdd add, Arduino.Communication.DataAccess.ArduinoBus.currentSysexCallback callback) { lock (this.lockref) { _busarduino.SendReadInstructionMessage(_identifiant_dynamixel, _busarduino.GetAX12Register(add), 0, callback); } }
protected override void OnWritingError(AX12RegisterAdd add, ushort value) { // Do any circle-specific processing here // call the base class event invocation method base.OnWritingError(add, value); }
public BioloidRegister GetAX12Register(AX12RegisterAdd register) { return this.registersActuatorDynamixel.GetAX12Register(register); }