Explorar el Código

Fixes #108 production trigger mismatch

Signed-off-by: CapXilinx <melik-merkumians@acin.tuwien.ac.at>
CapXilinx hace 8 años
padre
commit
3a97eb094d
Se han modificado 2 ficheros con 8 adiciones y 0 borrados
  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