runtime/PLCObject.py
changeset 239 112b4bc523b3
parent 238 02d0daed3e46
child 269 d29c5f71574f
equal deleted inserted replaced
238:02d0daed3e46 239:112b4bc523b3
   300             typename = ctypes.c_char_p()
   300             typename = ctypes.c_char_p()
   301             res = []
   301             res = []
   302     
   302     
   303             for given_idx in self._Idxs:
   303             for given_idx in self._Idxs:
   304                 buffer=self._IterDebugData(ctypes.byref(idx), ctypes.byref(typename))
   304                 buffer=self._IterDebugData(ctypes.byref(idx), ctypes.byref(typename))
   305                 c_type,unpack_func = self.TypeTranslator.get(typename.value, None)
   305                 c_type,unpack_func = self.TypeTranslator.get(typename.value, (None,None))
   306                 if c_type is not None and given_idx == idx.value:
   306                 if c_type is not None and given_idx == idx.value:
   307                     res.append(unpack_func(ctypes.cast(buffer, 
   307                     res.append(unpack_func(ctypes.cast(buffer,
   308                                                        ctypes.POINTER(c_type)).contents))
   308                                                        ctypes.POINTER(c_type)).contents))
   309                 else:
   309                 else:
   310                     print "Debug error idx : %d, expected_idx %d, type : %s"%(idx.value, given_idx,typename.value)
   310                     print "Debug error idx : %d, expected_idx %d, type : %s"%(idx.value, given_idx,typename.value)
   311                     res.append(None)
   311                     res.append(None)
   312         self._FreeDebugData()
   312         self._FreeDebugData()