Commit 8c6bc063 authored by Pieter Van Trappen's avatar Pieter Van Trappen

converted to python3

parent ddf02977
#! /usr/bin/env python2
#! /usr/bin/env python3
# coding: utf8
# Copyright CERN, 2011
......@@ -14,7 +14,7 @@ import os
def dump_file_to_eeprom(filename):
eeprom_content = []
eeprom_addr = []
print filename
print(filename)
f = open(filename,"r+")
for line in f:
addr,data=line.split()
......@@ -34,14 +34,14 @@ def main (default_directory = '.'):
for line in f_in:
addr,data=line.split()
print "%d 0x%X"%(int(addr,2), int(data,2))
print("%d 0x%X"%(int(addr,2), int(data,2)))
eeprom_content.append(int(data,2))
eeprom_addr.append(int(addr,2))
print "\nCONTENT"
print eeprom_content
print "\nADDR"
print eeprom_addr
print("\nCONTENT")
print(eeprom_content)
print("\nADDR")
print(eeprom_addr)
if __name__ == '__main__' :
main()
#!/usr/bin/env python2
#!/usr/bin/env python3
from ctypes import cdll, Structure, POINTER, cast, c_int, \
c_char_p, c_void_p, c_ubyte, c_ushort, byref
......@@ -79,7 +79,7 @@ class InternalUseArea:
self.set_data(data)
def set_data(self, data):
self.struct.data = c_char_p(array.array('B', data).tostring())
self.struct.data = c_char_p(array.array('B', data).tobytes())
self.struct.len = c_int(len(data))
class CommonHeader:
......@@ -121,24 +121,24 @@ class BoardInfoArea:
self.struct.mfg_date0 = c_ubyte(val[3])
def set_manufacturer(self, data):
self.struct.mfgr_data = c_char_p(data)
self.struct.mfgr_typelen = (len(bytearray(data)) & 0x3f) | (0x3 << 6)
self.struct.mfgr_data = c_char_p(data.encode())
self.struct.mfgr_typelen = (len(bytearray(data, 'utf-8')) & 0x3f) | (0x3 << 6)
def set_product_name(self, data):
self.struct.product_data = c_char_p(data)
self.struct.product_typelen = (len(bytearray(data)) & 0x3f) | (0x3 << 6)
self.struct.product_data = c_char_p(data.encode())
self.struct.product_typelen = (len(bytearray(data, 'utf-8')) & 0x3f) | (0x3 << 6)
def set_serial_number(self, data):
self.struct.serial_data = c_char_p(data)
self.struct.serial_typelen = (len(bytearray(data)) & 0x3f) | (0x3 << 6)
self.struct.serial_data = c_char_p(data.encode())
self.struct.serial_typelen = (len(bytearray(data, 'utf-8')) & 0x3f) | (0x3 << 6)
def set_part_number(self, data):
self.struct.partnum_data = c_char_p(data)
self.struct.partnum_typelen = (len(bytearray(data)) & 0x3f) | (0x3 << 6)
self.struct.partnum_data = c_char_p(data.encode())
self.struct.partnum_typelen = (len(bytearray(data, 'utf-8')) & 0x3f) | (0x3 << 6)
def set_fru_file_id(self, data):
self.struct.fru_fid_data = c_char_p(data)
self.struct.fru_fid_typelen = (len(bytearray(data)) & 0x3f) | (0x3 << 6)
self.struct.fru_fid_data = c_char_p(data.encode())
self.struct.fru_fid_typelen = (len(bytearray(data,'utf-8')) & 0x3f) | (0x3 << 6)
class DCLoadRecord:
......@@ -308,7 +308,7 @@ class OEMRecord:
def ipmi_open_file(name):
lib.ipmi_file_open(c_char_p(name))
lib.ipmi_file_open(c_char_p(name.encode()))
def ipmi_close_file():
lib.ipmi_file_close()
......@@ -369,10 +369,10 @@ def main():
with open('test.out', 'rb') as testf:
test = testf.read()
print ipmi_get_mfg_date(test)
print(ipmi_get_mfg_date(test))
d = ipmi_get_internal_use_data(test)
for v in d:
print hex(v)
print(hex(v))
if __name__ == "__main__":
main()
......
#! /usr/bin/env python2
#! /usr/bin/env python3
# coding: utf8
# Copyright CERN, 2011
......@@ -32,7 +32,7 @@ def main (default_directory='.'):
#==================================================
# Serial number
serial = SERIAL
print "Board's serial number: %s\n" % serial
print("Board's serial number: %s\n" % serial)
#==================================================
# Calculate number of minutes since 0:00 1/1/96
......@@ -41,17 +41,17 @@ def main (default_directory='.'):
diff_date = now_date - ref_date
total_seconds = diff_date.days * 86400 + diff_date.seconds
current_date = int(total_seconds//60)
print "Current date/time: %d minutes (since 0:00 1/1/96)\n" % current_date
print("Current date/time: %d minutes (since 0:00 1/1/96)\n" % current_date)
# Manufacturiing date = current date
print "Manufacturing date : %d 0x%06X" % (current_date, current_date)
print("Manufacturing date : %d 0x%06X" % (current_date, current_date))
mfg_date = current_date
#==================================================
# Create Board Info Area
# FRU field is used to store the date of generation of the eeprom content
# This could be used later to determine if the content has to be udated (bug fix, ...)
print "EEPROM content generated: %s\n" % now_date
print("EEPROM content generated: %s\n" % now_date)
fru = "%s" % now_date
bia = BoardInfoArea(mfg_date, "CERN", "FmcAdc100m14b4cha", serial, PART_NUMBER, fru)
......@@ -107,30 +107,30 @@ def main (default_directory='.'):
byte = f_eeprom.read(1) # reads one byte
f_eeprom.close()
print "Raw EEPROM data:"
print("Raw EEPROM data:")
i = 0
for data in eeprom_data:
if i%8 == 0:
print "0x%02X (%3d) : %02X" % (i, i, data),
print("0x%02X (%3d) : %02X" % (i, i, data), end=' ')
else:
print "%02X" % (data),
print("%02X" % (data), end=' ')
i += 1
if i%8 == 0:
print ""
print("")
print("\n")
dsum = 0
for data in eeprom_data[158:162]:
dsum += data
print("0x%02X 0x%X" % (data, dsum))
print("\n\nsum: 0x%02X" % dsum)
print(("0x%02X 0x%X" % (data, dsum)))
print(("\n\nsum: 0x%02X" % dsum))
checksum = (0xff & (1 + ~dsum))
print("calculated checksum: 0x%02X" % checksum)
print("data checksum : 0x%02X" % eeprom_data[162])
print(("calculated checksum: 0x%02X" % checksum))
print(("data checksum : 0x%02X" % eeprom_data[162]))
print("")
print("check data: 0x%02X" % (dsum + eeprom_data[162]))
print("check data: 0x%02X" % (dsum + checksum))
print(("check data: 0x%02X" % (dsum + eeprom_data[162])))
print(("check data: 0x%02X" % (dsum + checksum)))
if __name__ == '__main__' :
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment