public C_Packet(C_Motor _mot, byte _instructionByte, List <byte> _lsParameters = null) { byteId = _mot.id; rotMotor = _mot.rotMotor; returnStatusLevel = _mot.StatusReturnLevel; byteInstructionOrError = _instructionByte; Par = _lsParameters; }
public C_Packet(C_Packet packet) { byteId = packet.byteId; byteInstructionOrError = packet.ByteInstructionOrError; byteLength = packet.byteLength; byteCheckSum = packet.byteCheckSum; Par = packet.Par; returnStatusLevel = packet.returnStatusLevel; motorDataType = packet.motorDataType; }
public void ACTUALIZE_registerBinding(byte addressByte) { // after change in register this is called // react only on high bytes // -> as I always send command to actualize both L and H // -> I only need to react on the second one written to register (H) switch (addressByte) { case (C_DynAdd.PRESENT_POS_H): ACTUALIZE_valueAndLogIt(ref angleSeen, C_DynAdd.PRESENT_POS_L, C_DynAdd.PRESENT_POS_H, e_regByteType.seenValue); break; case (C_DynAdd.GOAL_POS_H): ACTUALIZE_valueAndLogIt(ref angleSent, C_DynAdd.GOAL_POS_L, C_DynAdd.GOAL_POS_H, e_regByteType.sentValue); break; case (C_DynAdd.PRESENT_SPEED_H): ACTUALIZE_valueAndLogIt(ref speedSeen, C_DynAdd.PRESENT_SPEED_L, C_DynAdd.PRESENT_SPEED_H, e_regByteType.seenValue); break; case (C_DynAdd.MOV_SPEED_H): ACTUALIZE_valueAndLogIt(ref speedSent, C_DynAdd.MOV_SPEED_L, C_DynAdd.MOV_SPEED_H, e_regByteType.sentValue); break; case (C_DynAdd.LED_ENABLE): LedValue = (e_ledValue)(reg.GET(C_DynAdd.LED_ENABLE, e_regByteType.sentValue).Val); LOG_reg("[LED sent] actualized form motor!"); LedValueSeen = (e_ledValue)(reg.GET(C_DynAdd.LED_ENABLE, e_regByteType.seenValue).Val); LOG_reg("[LED seen] actualized form motor!"); break; case (C_DynAdd.STATUS_RETURN_LEVEL): statusReturnLevel = (e_statusReturnLevel)(ACTUALIZE_byteAndLogIt(C_DynAdd.STATUS_RETURN_LEVEL, e_regByteType.sentValue)); break; case (C_DynAdd.TORQUE_ENABLE): torqueEnable = (e_enabled)(ACTUALIZE_byteAndLogIt(C_DynAdd.TORQUE_ENABLE, e_regByteType.sentValue)); break; case (C_DynAdd.IS_MOVING): isMoving = (e_bool)(ACTUALIZE_byteAndLogIt(C_DynAdd.TORQUE_ENABLE, e_regByteType.sentValue)); break; case (C_DynAdd.RETURN_DELAY_TIME): returnDelayTime = ACTUALIZE_byteAndLogIt(C_DynAdd.RETURN_DELAY_TIME, e_regByteType.sentValue); break; } }