소스 검색

Fixes #108 production trigger mismatch

Signed-off-by: CapXilinx <melik-merkumians@acin.tuwien.ac.at>
CapXilinx 8 년 전
부모
커밋
3a97eb094d
2개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      source/src/cip/cipconnectionmanager.h
  2. 7 0
      source/src/cip/cipioconnection.c

+ 1 - 0
source/src/cip/cipconnectionmanager.h

@@ -102,6 +102,7 @@ typedef enum {
   kConnectionManagerExtendedStatusCodeMismatchedTToONetworkConnectionPriority =
     0x0136,
   kConnectionManagerExtendedStatusCodeMismatchedTransportClass = 0x0137,
+  kConnectionManagerExtendedStatusCodeMismatchedTToOProductionTrigger = 0x0138,
   kConnectionManagerExtendedStatusCodeMismatchedTToOProductionInhibitTimeSegment
     = 0x0139,
   kConnectionManagerExtendedStatusCodeConnectionTimedOut = 0x0203,

+ 7 - 0
source/src/cip/cipioconnection.c

@@ -230,6 +230,13 @@ EipUint16 SetupIoConnectionTargetToOriginatorConnectionPoint(
         return kConnectionManagerExtendedStatusCodeMismatchedTransportClass;
       }
 
+
+      if( GetProductionTrigger(io_connection_object) !=
+          GetProductionTrigger(iterator) ) {
+        return
+          kConnectionManagerExtendedStatusCodeMismatchedTToOProductionTrigger;
+      }
+
       if( GetProductionInhibitTime(io_connection_object) !=
           GetProductionInhibitTime(iterator) ) {
         return