]> rtime.felk.cvut.cz Git - CanFestival-3.git/commitdiff
Bug on gen_cfile.py valueRangeTest generation fixed
authorlbessard <lbessard>
Thu, 27 Sep 2007 07:42:51 +0000 (07:42 +0000)
committerlbessard <lbessard>
Thu, 27 Sep 2007 07:42:51 +0000 (07:42 +0000)
examples/TestMasterMicroMod/TestMaster.c
examples/TestMasterSlave/TestMaster.c
examples/TestMasterSlave/TestSlave.c
objdictgen/gen_cfile.py

index a55be961ca82ff2d0393f747eeb4537dfebd2a94..a95147677733a166820eab62a342de04a6dc924e 100644 (file)
@@ -20,9 +20,14 @@ UNS8 DI8 = 0x0;              /* Mapped at index 0x2016, subindex 0x00 */
 /* Declaration of the value range types                                   */
 /**************************************************************************/
 
+#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */
 UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void * value)
 {
   switch (typeValue) {
+    case valueRange_EMC:
+      if (*(UNS8*)value < (UNS8)0) return OD_VALUE_TOO_LOW;
+      if (*(UNS8*)value > (UNS8)0) return OD_VALUE_TOO_HIGH;
+      break;
   }
   return 0;
 }
@@ -75,7 +80,7 @@ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                      };
                     subindex TestMaster_Index1003[] = 
                      {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1003 },
+                       { RW, valueRange_EMC, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1003 },
                        { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1003[0] }
                      };
 
index c4c11a2b66bf3a797168e86d48622f641cca5258..1f54340e174260b08ee79bd7bb5d507f5a309649 100644 (file)
@@ -24,9 +24,14 @@ INTEGER16 MasterMap13 = 0x0;         /* Mapped at index 0x200C, subindex 0x00 */
 /* Declaration of the value range types                                   */
 /**************************************************************************/
 
+#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */
 UNS32 TestMaster_valueRangeTest (UNS8 typeValue, void * value)
 {
   switch (typeValue) {
+    case valueRange_EMC:
+      if (*(UNS8*)value < (UNS8)0) return OD_VALUE_TOO_LOW;
+      if (*(UNS8*)value > (UNS8)0) return OD_VALUE_TOO_HIGH;
+      break;
   }
   return 0;
 }
@@ -79,7 +84,7 @@ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                      };
                     subindex TestMaster_Index1003[] = 
                      {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1003 },
+                       { RW, valueRange_EMC, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1003 },
                        { RO, uint32, sizeof (UNS32), (void*)&TestMaster_obj1003[0] }
                      };
 
index 83a40eb2f75ae7a60d1eb5f153407f54e36120c6..de1afabc6a7d1222b31f1259d55e02514f0e403e 100644 (file)
@@ -24,9 +24,14 @@ INTEGER16 SlaveMap13 = 0x4D2;                /* Mapped at index 0x200C, subindex 0x00 */
 /* Declaration of the value range types                                   */
 /**************************************************************************/
 
+#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */
 UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void * value)
 {
   switch (typeValue) {
+    case valueRange_EMC:
+      if (*(UNS8*)value < (UNS8)0) return OD_VALUE_TOO_LOW;
+      if (*(UNS8*)value > (UNS8)0) return OD_VALUE_TOO_HIGH;
+      break;
   }
   return 0;
 }
@@ -67,7 +72,7 @@ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                      };
 
 /* index 0x1003 :   Pre-defined Error Field. */
-                    UNS8 TestSlave_highestSubIndex_obj1003 = 8; /* number of subindex - 1*/
+                    UNS8 TestSlave_highestSubIndex_obj1003 = 0; /* number of subindex - 1*/
                     UNS32 TestSlave_obj1003[] = 
                     {
                       0x0,     /* 0 */
@@ -93,7 +98,7 @@ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                      };
                     subindex TestSlave_Index1003[] = 
                      {
-                       { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1003 },
+                       { RW, valueRange_EMC, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1003 },
                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[0] },
                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[1] },
                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[2] },
index a89857a9c6a0a94a97a6ceed65c0093c29dedef6..2c3c420ebfc1a446d57f6571202d7c1c1457f48e 100644 (file)
@@ -107,8 +107,8 @@ def GenerateFileContent(Node, headerfilepath):
     valueRangeContent = ""
     strDefine = "\n#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */"
     strSwitch = """    case valueRange_EMC:
-      if (*(UNS8*)Value < (UNS8)0) return OD_VALUE_TOO_LOW;
-      if (*(UNS8*)Value > (UNS8)0) return OD_VALUE_TOO_HIGH;
+      if (*(UNS8*)value < (UNS8)0) return OD_VALUE_TOO_LOW;
+      if (*(UNS8*)value > (UNS8)0) return OD_VALUE_TOO_HIGH;
       break;\n"""
     internal_types["valueRange_EMC"] = ("UNS8", "", "valueRange_EMC")
     num = 0
@@ -125,8 +125,8 @@ def GenerateFileContent(Node, headerfilepath):
             maxvalue = str(Node.GetEntry(index, 3))
             strDefine += "\n#define valueRange_%d 0x%02X /* Type %s, %s < value < %s */"%(num,index,typeinfos[0],minvalue,maxvalue)
             strSwitch += """    case valueRange_%d:
-      if (*(%s*)Value < (%s)%s) return OD_VALUE_TOO_LOW;
-      if (*(%s*)Value > (%s)%s) return OD_VALUE_TOO_HIGH;
+      if (*(%s*)value < (%s)%s) return OD_VALUE_TOO_LOW;
+      if (*(%s*)value > (%s)%s) return OD_VALUE_TOO_HIGH;
       break;\n"""%(num,typeinfos[0],typeinfos[0],minvalue,typeinfos[0],typeinfos[0],maxvalue)
 
     valueRangeContent += strDefine