targets/typemapping.py
changeset 1739 ec153828ded2
parent 1738 d2e979738700
child 1740 b789b695b5c6
equal deleted inserted replaced
1738:d2e979738700 1739:ec153828ded2
    53 def _ttime(): return (IEC_TIME,
    53 def _ttime(): return (IEC_TIME,
    54                       lambda x:td(0, x.s, x.ns/1000),
    54                       lambda x:td(0, x.s, x.ns/1000),
    55                       lambda t,x:t(x.days * 24 * 3600 + x.seconds, x.microseconds*1000))
    55                       lambda t,x:t(x.days * 24 * 3600 + x.seconds, x.microseconds*1000))
    56 
    56 
    57 SameEndianessTypeTranslator = {
    57 SameEndianessTypeTranslator = {
    58     "BOOL" :       _t(c_uint8,  lambda x:x.value!=0),
    58     "BOOL":       _t(c_uint8,  lambda x:x.value!=0),
    59     "STEP" :       _t(c_uint8),
    59     "STEP":       _t(c_uint8),
    60     "TRANSITION" : _t(c_uint8),
    60     "TRANSITION": _t(c_uint8),
    61     "ACTION" :     _t(c_uint8),
    61     "ACTION":     _t(c_uint8),
    62     "SINT" :       _t(c_int8),
    62     "SINT":       _t(c_int8),
    63     "USINT" :      _t(c_uint8),
    63     "USINT":      _t(c_uint8),
    64     "BYTE" :       _t(c_uint8),
    64     "BYTE":       _t(c_uint8),
    65     "STRING" :     (IEC_STRING,
    65     "STRING":     (IEC_STRING,
    66                       lambda x:x.body[:x.len],
    66                    lambda x:x.body[:x.len],
    67                       lambda t,x:t(len(x),x)),
    67                    lambda t,x:t(len(x),x)),
    68     "INT" :        _t(c_int16),
    68     "INT":        _t(c_int16),
    69     "UINT" :       _t(c_uint16),
    69     "UINT":       _t(c_uint16),
    70     "WORD" :       _t(c_uint16),
    70     "WORD":       _t(c_uint16),
    71     "DINT" :       _t(c_int32),
    71     "DINT":       _t(c_int32),
    72     "UDINT" :      _t(c_uint32),
    72     "UDINT":      _t(c_uint32),
    73     "DWORD" :      _t(c_uint32),
    73     "DWORD":      _t(c_uint32),
    74     "LINT" :       _t(c_int64),
    74     "LINT":       _t(c_int64),
    75     "ULINT" :      _t(c_uint64),
    75     "ULINT":      _t(c_uint64),
    76     "LWORD" :      _t(c_uint64),
    76     "LWORD":      _t(c_uint64),
    77     "REAL" :       _t(c_float),
    77     "REAL":       _t(c_float),
    78     "LREAL" :      _t(c_double),
    78     "LREAL":      _t(c_double),
    79     "TIME" :       _ttime(),
    79     "TIME":       _ttime(),
    80     "TOD" :        _ttime(),
    80     "TOD":        _ttime(),
    81     "DATE" :       _ttime(),
    81     "DATE":       _ttime(),
    82     "DT" :         _ttime(),
    82     "DT":         _ttime(),
    83     }
    83     }
    84 
    84 
    85 SwapedEndianessTypeTranslator = {
    85 SwapedEndianessTypeTranslator = {
    86     # TODO
    86     # TODO
    87     }
    87     }