CoptParams.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using PlcSiemens.O;
  2. namespace PlcSiemens.Protocol.Iso
  3. {
  4. public class CoptParams
  5. {
  6. public byte PduSizeCode { get; set; }
  7. public byte PduSizeLen { get; set; }
  8. public byte PduSizeVal { get; set; }
  9. public byte[] Tsap { get; set; }
  10. public int TsapLenth { get; set; }
  11. public CoptParams()
  12. {
  13. Tsap = new byte[245]; // We don't know in advance these fields....
  14. }
  15. public void GetByteBuffer(ByteBuffer buffer)
  16. {
  17. buffer.Push(PduSizeCode);
  18. buffer.Push(PduSizeLen);
  19. buffer.Push(PduSizeVal);
  20. buffer.Push(Tsap, 0, TsapLenth);
  21. }
  22. public void InitByBuffer(ByteBuffer buffer)
  23. {
  24. PduSizeCode = buffer.PopByte();
  25. PduSizeLen = buffer.PopByte();
  26. PduSizeVal = buffer.PopByte();
  27. TsapLenth = buffer.WriteIndex - buffer.ReadIndex;
  28. Tsap = buffer.PopBytes(TsapLenth);
  29. }
  30. }
  31. // COTP Header for DATA EXCHANGE
  32. }