예제 #1
0
def parse_fmc_subtype_0(data):
    assert len(data) == 8, 'Invalid VITA FMC length'
    result = ini_file.Section('FMC IO')
    result['module size'] = data[1] >> 6
    result['p1 size'] = (data[1] >> 4) & 0x3
    result['p2 size'] = (data[1] >> 2) & 0x3  # Note: 3 => not fitted!
    result['clkx bidir'] = bool(data[1] & 2)
    result['p1 a'] = data[2]
    result['p1 b'] = data[3]
    result['p2 a'] = data[4]
    result['p2 b'] = data[5]
    result['p1 gbt'] = data[6] >> 4
    result['p2 gbt'] = data[6] & 0xf
    result['max tck'] = data[7]
    return result
예제 #2
0
def parse_product_area(data):
    data = parse_area_header(data, 'Product')
    lang_code = data[2]

    product = ini_file.Section('Product')
    reader = StringReader(data[3:], lang_code)
    product['manufacturer'] = reader.next()
    product['product name'] = reader.next()
    product['part number'] = reader.next()
    product['version'] = reader.next()
    product['serial number'] = reader.next(0)
    product['asset tag'] = reader.next()
    product['fru file id'] = reader.next(0)
    parse_extra_strings(product, reader)
    return product
예제 #3
0
def parse_board_area(data):
    data = parse_area_header(data, 'Board')
    lang_code = data[2]
    date_mins = as_int(data[3:6])

    board = ini_file.Section('Board')
    if date_mins:
        board['manufacture date'] = date_string(date_mins)

    reader = StringReader(data[6:], lang_code)
    board['manufacturer'] = reader.next()
    board['product name'] = reader.next()
    board['serial number'] = reader.next(0)
    board['part number'] = reader.next()
    board['fru file id'] = reader.next(0)
    parse_extra_strings(board, reader)
    return board
예제 #4
0
def parse_fmc_subtype_1(data):
    result = ini_file.Section('FMC Device')
    result['device'] = decode_6bit_ascii(data[1:])
    return result
예제 #5
0
def parse_dc_output(data):
    output = data[0] & 0xf
    result = ini_file.Section(dc_output_names[output])
    parse_dc_common(result, data)
    result['standby'] = bool(data[0] & 0x80)
    return result
예제 #6
0
def parse_dc_load(data):
    output = data[0] & 0xf
    result = ini_file.Section(dc_load_names[output])
    parse_dc_common(result, data)
    return result