targets/typemapping.py
changeset 1784 64beb9e9c749
parent 1783 3311eea28d56
child 1835 7533061a6d82
--- a/targets/typemapping.py	Mon Aug 21 20:17:19 2017 +0000
+++ b/targets/typemapping.py	Mon Aug 21 23:22:58 2017 +0300
@@ -23,13 +23,13 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 import ctypes
+from ctypes import *
+from datetime import timedelta as td
+
 ctypes.pythonapi.PyString_AsString.argtypes = (ctypes.c_void_p,)
 ctypes.pythonapi.PyString_AsString.restype = ctypes.POINTER(ctypes.c_char)
 
 
-from ctypes import *
-from datetime import timedelta as td
-
 class IEC_STRING(Structure):
     """
     Must be changed according to changes in iec_types.h
@@ -37,68 +37,73 @@
     _fields_ = [("len", c_uint8),
                 ("body", c_char * 126)]
 
+
 class IEC_TIME(Structure):
     """
     Must be changed according to changes in iec_types.h
     """
-    _fields_ = [("s", c_long), #tv_sec
-                ("ns", c_long)] #tv_nsec
+    _fields_ = [("s", c_long),   # tv_sec
+                ("ns", c_long)]  # tv_nsec
 
-def _t(t, u=lambda x:x.value, p=lambda t,x:t(x)): return  (t, u, p)
+
+def _t(t, u=lambda x: x.value, p=lambda t, x: t(x)): return (t, u, p)
+
+
 def _ttime(): return (IEC_TIME,
-                      lambda x:td(0, x.s, x.ns/1000),
-                      lambda t,x:t(x.days * 24 * 3600 + x.seconds, x.microseconds*1000))
+                      lambda x: td(0, x.s, x.ns/1000),
+                      lambda t, x: t(x.days * 24 * 3600 + x.seconds, x.microseconds*1000))
+
 
 SameEndianessTypeTranslator = {
-    "BOOL" :       _t(c_uint8,  lambda x:x.value!=0),
-    "STEP" :       _t(c_uint8),
-    "TRANSITION" : _t(c_uint8),
-    "ACTION" :     _t(c_uint8),
-    "SINT" :       _t(c_int8),
-    "USINT" :      _t(c_uint8),
-    "BYTE" :       _t(c_uint8),
-    "STRING" :     (IEC_STRING,
-                      lambda x:x.body[:x.len],
-                      lambda t,x:t(len(x),x)),
-    "INT" :        _t(c_int16),
-    "UINT" :       _t(c_uint16),
-    "WORD" :       _t(c_uint16),
-    "DINT" :       _t(c_int32),
-    "UDINT" :      _t(c_uint32),
-    "DWORD" :      _t(c_uint32),
-    "LINT" :       _t(c_int64),
-    "ULINT" :      _t(c_uint64),
-    "LWORD" :      _t(c_uint64),
-    "REAL" :       _t(c_float),
-    "LREAL" :      _t(c_double),
-    "TIME" :       _ttime(),
-    "TOD" :        _ttime(),
-    "DATE" :       _ttime(),
-    "DT" :         _ttime(),
+    "BOOL":       _t(c_uint8, lambda x: x.value != 0),
+    "STEP":       _t(c_uint8),
+    "TRANSITION": _t(c_uint8),
+    "ACTION":     _t(c_uint8),
+    "SINT":       _t(c_int8),
+    "USINT":      _t(c_uint8),
+    "BYTE":       _t(c_uint8),
+    "STRING":     (IEC_STRING,
+                   lambda x: x.body[:x.len],
+                   lambda t, x: t(len(x), x)),
+    "INT":        _t(c_int16),
+    "UINT":       _t(c_uint16),
+    "WORD":       _t(c_uint16),
+    "DINT":       _t(c_int32),
+    "UDINT":      _t(c_uint32),
+    "DWORD":      _t(c_uint32),
+    "LINT":       _t(c_int64),
+    "ULINT":      _t(c_uint64),
+    "LWORD":      _t(c_uint64),
+    "REAL":       _t(c_float),
+    "LREAL":      _t(c_double),
+    "TIME":       _ttime(),
+    "TOD":        _ttime(),
+    "DATE":       _ttime(),
+    "DT":         _ttime(),
     }
 
 SwapedEndianessTypeTranslator = {
-    #TODO
+    # TODO
     }
 
-TypeTranslator=SameEndianessTypeTranslator
+TypeTranslator = SameEndianessTypeTranslator
 
 # Construct debugger natively supported types
-DebugTypesSize =  dict([(key,sizeof(t)) for key,(t,p,u) in SameEndianessTypeTranslator.iteritems() if t is not None])
+DebugTypesSize = dict([(key, sizeof(t)) for key, (t, p, u) in SameEndianessTypeTranslator.iteritems() if t is not None])
+
 
 def UnpackDebugBuffer(buff, indexes):
-    res =  []
+    res = []
     buffoffset = 0
     buffsize = len(buff)
-    buffptr = cast(ctypes.pythonapi.PyString_AsString(id(buff)),c_void_p).value
+    buffptr = cast(ctypes.pythonapi.PyString_AsString(id(buff)), c_void_p).value
     for iectype in indexes:
-        c_type,unpack_func, pack_func = \
-            TypeTranslator.get(iectype,
-                                    (None,None,None))
+        c_type, unpack_func, pack_func = \
+            TypeTranslator.get(iectype, (None, None, None))
         if c_type is not None and buffoffset < buffsize:
-            cursor = c_void_p( buffptr + buffoffset)
-            value = unpack_func( cast(cursor,
-                         POINTER(c_type)).contents)
+            cursor = c_void_p(buffptr + buffoffset)
+            value = unpack_func(cast(cursor,
+                                     POINTER(c_type)).contents)
             buffoffset += sizeof(c_type) if iectype != "STRING" else len(value)+1
             res.append(value)
         else:
@@ -108,9 +113,7 @@
     return None
 
 
-
-LogLevels = ["CRITICAL","WARNING","INFO","DEBUG"]
+LogLevels = ["CRITICAL", "WARNING", "INFO", "DEBUG"]
 LogLevelsCount = len(LogLevels)
-LogLevelsDict = dict(zip(LogLevels,range(LogLevelsCount)))
+LogLevelsDict = dict(zip(LogLevels, range(LogLevelsCount)))
 LogLevelsDefault = LogLevelsDict["DEBUG"]
-