equal
deleted
inserted
replaced
7 # Copyright (C) 2013: Real-Time & Embedded Systems (RTES) Lab. University of Seoul, Korea |
7 # Copyright (C) 2013: Real-Time & Embedded Systems (RTES) Lab. University of Seoul, Korea |
8 # |
8 # |
9 # See COPYING file for copyrights details. |
9 # See COPYING file for copyrights details. |
10 |
10 |
11 from __future__ import absolute_import |
11 from __future__ import absolute_import |
|
12 from __future__ import division |
12 from builtins import str as text |
13 from builtins import str as text |
13 import wx |
14 import wx |
14 |
15 |
15 |
16 |
16 mailbox_protocols = ["AoE", "EoE", "CoE", "FoE", "SoE", "VoE"] |
17 mailbox_protocols = ["AoE", "EoE", "CoE", "FoE", "SoE", "VoE"] |
549 value = "%x" % decnum |
550 value = "%x" % decnum |
550 value_len = len(value) |
551 value_len = len(value) |
551 if (value_len % 2) == 0: |
552 if (value_len % 2) == 0: |
552 hex_len = value_len |
553 hex_len = value_len |
553 else: |
554 else: |
554 hex_len = (value_len / 2) * 2 + 2 |
555 hex_len = (value_len // 2) * 2 + 2 |
555 |
556 |
556 hex_data = ("{:0>"+str(hex_len)+"x}").format(decnum) |
557 hex_data = ("{:0>"+str(hex_len)+"x}").format(decnum) |
557 |
558 |
558 return hex_data |
559 return hex_data |
559 |
560 |
648 @return eeprom_list : reconstructed list data structure |
649 @return eeprom_list : reconstructed list data structure |
649 """ |
650 """ |
650 eeprom_list = [] |
651 eeprom_list = [] |
651 |
652 |
652 if direction is 0 or 1: |
653 if direction is 0 or 1: |
653 for dummy in range(length/2): |
654 for dummy in range(length//2): |
654 if data == "": |
655 if data == "": |
655 eeprom_list.append("00") |
656 eeprom_list.append("00") |
656 else: |
657 else: |
657 eeprom_list.append(data[direction*(length-2):direction*(length-2)+2]) |
658 eeprom_list.append(data[direction*(length-2):direction*(length-2)+2]) |
658 data = data[(1-direction)*2:length-direction*2] |
659 data = data[(1-direction)*2:length-direction*2] |
808 # get EEPROM size for EEPROM offset 0x007c-0x007d; |
809 # get EEPROM size for EEPROM offset 0x007c-0x007d; |
809 data = "" |
810 data = "" |
810 for eeprom_element in device.getEeprom().getcontent(): |
811 for eeprom_element in device.getEeprom().getcontent(): |
811 if eeprom_element["name"] == "ByteSize": |
812 if eeprom_element["name"] == "ByteSize": |
812 eeprom_size = int(str(eeprom_element)) |
813 eeprom_size = int(str(eeprom_element)) |
813 data = "{:0>4x}".format(int(eeprom_element)/1024*8-1) |
814 data = "{:0>4x}".format(int(eeprom_element)//1024*8-1) |
814 |
815 |
815 if data == "": |
816 if data == "": |
816 eeprom.append("00") |
817 eeprom.append("00") |
817 eeprom.append("00") |
818 eeprom.append("00") |
818 else: |
819 else: |
1132 if length % 4 == 0: |
1133 if length % 4 == 0: |
1133 pass |
1134 pass |
1134 else: |
1135 else: |
1135 length += length % 4 |
1136 length += length % 4 |
1136 padflag = True |
1137 padflag = True |
1137 eeprom.append("{:0>4x}".format(length/4)[2:4]) |
1138 eeprom.append("{:0>4x}".format(length//4)[2:4]) |
1138 eeprom.append("{:0>4x}".format(length/4)[0:2]) |
1139 eeprom.append("{:0>4x}".format(length//4)[0:2]) |
1139 # total numbers of strings |
1140 # total numbers of strings |
1140 eeprom.append("{:0>2x}".format(count)) |
1141 eeprom.append("{:0>2x}".format(count)) |
1141 for element in [vendor_specific_data, |
1142 for element in [vendor_specific_data, |
1142 dc_related_elements, |
1143 dc_related_elements, |
1143 input_elements, |
1144 input_elements, |
1144 output_elements]: |
1145 output_elements]: |
1145 for dummy in range(len(element)/2): |
1146 for dummy in range(len(element)//2): |
1146 if element == "": |
1147 if element == "": |
1147 eeprom.append("00") |
1148 eeprom.append("00") |
1148 else: |
1149 else: |
1149 eeprom.append(element[0:2]) |
1150 eeprom.append(element[0:2]) |
1150 element = element[2:len(element)] |
1151 element = element[2:len(element)] |
1285 eeprom.append("28") |
1286 eeprom.append("28") |
1286 eeprom.append("00") |
1287 eeprom.append("00") |
1287 # category length |
1288 # category length |
1288 if count % 2 == 1: |
1289 if count % 2 == 1: |
1289 padflag = True |
1290 padflag = True |
1290 eeprom.append("{:0>4x}".format((count+1)/2)[2:4]) |
1291 eeprom.append("{:0>4x}".format((count+1)//2)[2:4]) |
1291 eeprom.append("{:0>4x}".format((count+1)/2)[0:2]) |
1292 eeprom.append("{:0>4x}".format((count+1)//2)[0:2]) |
1292 else: |
1293 else: |
1293 eeprom.append("{:0>4x}".format((count)/2)[2:4]) |
1294 eeprom.append("{:0>4x}".format((count)//2)[2:4]) |
1294 eeprom.append("{:0>4x}".format((count)/2)[0:2]) |
1295 eeprom.append("{:0>4x}".format((count)//2)[0:2]) |
1295 for dummy in range(count): |
1296 for dummy in range(count): |
1296 if data == "": |
1297 if data == "": |
1297 eeprom.append("00") |
1298 eeprom.append("00") |
1298 else: |
1299 else: |
1299 eeprom.append(data[0:2]) |
1300 eeprom.append(data[0:2]) |
1332 if data != "": |
1333 if data != "": |
1333 # category header |
1334 # category header |
1334 eeprom.append("29") |
1335 eeprom.append("29") |
1335 eeprom.append("00") |
1336 eeprom.append("00") |
1336 # category length |
1337 # category length |
1337 eeprom.append("{:0>4x}".format(len(data)/4)[2:4]) |
1338 eeprom.append("{:0>4x}".format(len(data)//4)[2:4]) |
1338 eeprom.append("{:0>4x}".format(len(data)/4)[0:2]) |
1339 eeprom.append("{:0>4x}".format(len(data)//4)[0:2]) |
1339 for dummy in range(len(data)/2): |
1340 for dummy in range(len(data)//2): |
1340 if data == "": |
1341 if data == "": |
1341 eeprom.append("00") |
1342 eeprom.append("00") |
1342 else: |
1343 else: |
1343 eeprom.append(data[0:2]) |
1344 eeprom.append(data[0:2]) |
1344 data = data[2:len(data)] |
1345 data = data[2:len(data)] |
1440 eeprom.append("33") |
1441 eeprom.append("33") |
1441 else: |
1442 else: |
1442 eeprom.append("00") |
1443 eeprom.append("00") |
1443 eeprom.append("00") |
1444 eeprom.append("00") |
1444 # category length |
1445 # category length |
1445 eeprom.append("{:0>4x}".format(len(data)/4)[2:4]) |
1446 eeprom.append("{:0>4x}".format(len(data)//4)[2:4]) |
1446 eeprom.append("{:0>4x}".format(len(data)/4)[0:2]) |
1447 eeprom.append("{:0>4x}".format(len(data)//4)[0:2]) |
1447 data = str(data.lower()) |
1448 data = str(data.lower()) |
1448 for dummy in range(len(data)/2): |
1449 for dummy in range(len(data)//2): |
1449 if data == "": |
1450 if data == "": |
1450 eeprom.append("00") |
1451 eeprom.append("00") |
1451 else: |
1452 else: |
1452 eeprom.append(data[0:2]) |
1453 eeprom.append(data[0:2]) |
1453 data = data[2:len(data)] |
1454 data = data[2:len(data)] |
1514 if data != "": |
1515 if data != "": |
1515 # category header |
1516 # category header |
1516 eeprom.append("3c") |
1517 eeprom.append("3c") |
1517 eeprom.append("00") |
1518 eeprom.append("00") |
1518 # category length |
1519 # category length |
1519 eeprom.append("{:0>4x}".format(len(data)/4)[2:4]) |
1520 eeprom.append("{:0>4x}".format(len(data)//4)[2:4]) |
1520 eeprom.append("{:0>4x}".format(len(data)/4)[0:2]) |
1521 eeprom.append("{:0>4x}".format(len(data)//4)[0:2]) |
1521 data = str(data.lower()) |
1522 data = str(data.lower()) |
1522 for dummy in range(len(data)/2): |
1523 for dummy in range(len(data)//2): |
1523 if data == "": |
1524 if data == "": |
1524 eeprom.append("00") |
1525 eeprom.append("00") |
1525 else: |
1526 else: |
1526 eeprom.append(data[0:2]) |
1527 eeprom.append(data[0:2]) |
1527 data = data[2:len(data)] |
1528 data = data[2:len(data)] |