etherlab/CommonEtherCATFunction.py
changeset 2374 aed3ca79a10a
parent 2373 73d35ba8f982
child 2375 cfa68a06a24d
equal deleted inserted replaced
2373:73d35ba8f982 2374:aed3ca79a10a
  1217         # word 6 : SysmanClass(reserved) and Flags
  1217         # word 6 : SysmanClass(reserved) and Flags
  1218         eeprom.append("00")  # reserved
  1218         eeprom.append("00")  # reserved
  1219         #  Flags
  1219         #  Flags
  1220         en_safeop = False
  1220         en_safeop = False
  1221         en_lrw = False
  1221         en_lrw = False
  1222         if device.getType().getTcCfgModeSafeOp() == True \
  1222         if device.getType().getTcCfgModeSafeOp() is True \
  1223         or device.getType().getTcCfgModeSafeOp() == 1:
  1223         or device.getType().getTcCfgModeSafeOp() == 1:
  1224             en_safeop = True
  1224             en_safeop = True
  1225         if device.getType().getUseLrdLwr() == True \
  1225         if device.getType().getUseLrdLwr() is True \
  1226         or device.getType().getUseLrdLwr() == 1:
  1226         or device.getType().getUseLrdLwr() == 1:
  1227             en_lrw = True
  1227             en_lrw = True
  1228 
  1228 
  1229         flags = "0b"+"000000"+str(int(en_lrw))+str(int(en_safeop))
  1229         flags = "0b"+"000000"+str(int(en_lrw))+str(int(en_safeop))
  1230         eeprom.append("{:0>2x}".format(int(flags, 2)))
  1230         eeprom.append("{:0>2x}".format(int(flags, 2)))
  1316                 if attr is not None:
  1316                 if attr is not None:
  1317                     data += "{:0>4x}".format(ExtractHexDecValue(attr))[2:4]
  1317                     data += "{:0>4x}".format(ExtractHexDecValue(attr))[2:4]
  1318                     data += "{:0>4x}".format(ExtractHexDecValue(attr))[0:2]
  1318                     data += "{:0>4x}".format(ExtractHexDecValue(attr))[0:2]
  1319                 else:
  1319                 else:
  1320                     data += "0000"
  1320                     data += "0000"
  1321             if sm.getEnable() == "1" or sm.getEnable() == True:
  1321             if sm.getEnable() == "1" or sm.getEnable() is True:
  1322                 data += "01"
  1322                 data += "01"
  1323             else:
  1323             else:
  1324                 data += "00"
  1324                 data += "00"
  1325             data += number[sm.getcontent()]
  1325             data += number[sm.getcontent()]
  1326 
  1326 
  1379                 data += "00"
  1379                 data += "00"
  1380             else:
  1380             else:
  1381                 data += "{:0>2x}".format(count)
  1381                 data += "{:0>2x}".format(count)
  1382             count = 0
  1382             count = 0
  1383             #  Flags; by Fixed, Mandatory, Virtual attributes ?
  1383             #  Flags; by Fixed, Mandatory, Virtual attributes ?
  1384             if element.getFixed() == True or 1:
  1384             if element.getFixed() is True or 1:
  1385                 en_fixed = True
  1385                 en_fixed = True
  1386             if element.getMandatory() == True or 1:
  1386             if element.getMandatory() is True or 1:
  1387                 en_mandatory = True
  1387                 en_mandatory = True
  1388             if element.getVirtual() == True or element.getVirtual():
  1388             if element.getVirtual() is True or element.getVirtual():
  1389                 en_virtual = True
  1389                 en_virtual = True
  1390             data += str(int(en_fixed)) + str(int(en_mandatory)) + str(int(en_virtual)) + "0"
  1390             data += str(int(en_fixed)) + str(int(en_mandatory)) + str(int(en_virtual)) + "0"
  1391 
  1391 
  1392             for entry in element.getEntry():
  1392             for entry in element.getEntry():
  1393                 #   Entry Index
  1393                 #   Entry Index
  1421                     data += "{:0>2x}".format(int(entry.getBitLen()))
  1421                     data += "{:0>2x}".format(int(entry.getBitLen()))
  1422                 else:
  1422                 else:
  1423                     data += "00"
  1423                     data += "00"
  1424                 #   Flags; by Fixed attributes ?
  1424                 #   Flags; by Fixed attributes ?
  1425                 en_fixed = False
  1425                 en_fixed = False
  1426                 if entry.getFixed() == True or entry.getFixed() == 1:
  1426                 if entry.getFixed() is True or entry.getFixed() == 1:
  1427                     en_fixed = True
  1427                     en_fixed = True
  1428                 data += str(int(en_fixed)) + "000"
  1428                 data += str(int(en_fixed)) + "000"
  1429 
  1429 
  1430         if data is not "":
  1430         if data is not "":
  1431             #  category header
  1431             #  category header