etherlab/runtime_etherlab.py
changeset 2363 9c7da6ff6a34
parent 2360 2a3d022a7dac
child 2365 bc07b9910cdb
equal deleted inserted replaced
2362:6d31ef14f396 2363:9c7da6ff6a34
    45 
    45 
    46     SDOAnswered()
    46     SDOAnswered()
    47     if res != 0 :
    47     if res != 0 :
    48         PLCObject.LogMessage(
    48         PLCObject.LogMessage(
    49             LogLevelsDict["WARNING"],
    49             LogLevelsDict["WARNING"],
    50             "%s : %s" % (command,output))
    50             "%s : %s" % (command, output))
    51 
    51 
    52 
    52 
    53 def EthercatSDOUpload(pos, index, subindex, var_type):
    53 def EthercatSDOUpload(pos, index, subindex, var_type):
    54     global SDOThread
    54     global SDOThread
    55     SDOThread = Thread(target=SDOThreadProc, args=["upload", pos, var_type, index, subindex])
    55     SDOThread = Thread(target=SDOThreadProc, args=["upload", pos, var_type, index, subindex])
    83     klog.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_int]
    83     klog.argtypes = [ctypes.c_int, ctypes.c_char_p, ctypes.c_int]
    84     klog.restype = ctypes.c_int
    84     klog.restype = ctypes.c_int
    85     s=ctypes.create_string_buffer(4*1024)
    85     s=ctypes.create_string_buffer(4*1024)
    86     last = None
    86     last = None
    87     while not StopKMSGThread:
    87     while not StopKMSGThread:
    88         l = klog(3,s,len(s)-1)
    88         l = klog(3, s, len(s)-1)
    89         log = s.value[:l-1]
    89         log = s.value[:l-1]
    90         if last :
    90         if last :
    91             log = log.rpartition(last)[2]
    91             log = log.rpartition(last)[2]
    92         if log :
    92         if log :
    93             last = log.rpartition('\n')[2]
    93             last = log.rpartition('\n')[2]
    94             for lvl,msg in re.findall(
    94             for lvl, msg in re.findall(
    95                             r'<(\d)>\[\s*\d*\.\d*\]\s*(EtherCAT\s*.*)$',
    95                             r'<(\d)>\[\s*\d*\.\d*\]\s*(EtherCAT\s*.*)$',
    96                             log, re.MULTILINE):
    96                             log, re.MULTILINE):
    97                 PLCObject.LogMessage(
    97                 PLCObject.LogMessage(
    98                     LogLevelsDict[{
    98                     LogLevelsDict[{
    99                         "4":"WARNING",
    99                         "4": "WARNING",
   100                         "3":"CRITICAL"}.get(lvl,"DEBUG")],
   100                         "3": "CRITICAL"}.get(lvl, "DEBUG")],
   101                     msg)
   101                     msg)
   102         time.sleep(0.5)
   102         time.sleep(0.5)
   103 
   103 
   104 
   104 
   105 def _runtime_etherlab_init():
   105 def _runtime_etherlab_init():