Beispiel #1
0
def main():
    if len(sys.argv) < 2:
        print("Usage: {} <dtb_file>".format(sys.argv[0]))
        sys.exit(1)

    with open(sys.argv[1], mode='rb') as f:
        fdt = libfdt.FdtRo(f.read())

    batterydata = fdt.path_offset('/qcom,battery-data')

    for battery_subnode in fdt_for_each_subnode(fdt, batterydata):
        name = fdt.get_name(battery_subnode)
        print(name)
        fcc_temp_lut = find_subnode_by_name(fdt, battery_subnode, "qcom,fcc-temp-lut")

        fcc_lut_col_legend = fdt.getprop(fcc_temp_lut, "qcom,lut-col-legend")
        fcc_lut_data = fdt.getprop(fcc_temp_lut, "qcom,lut-data")

        fcc_lut_col_legend = fdt_as_int32_array(fcc_lut_col_legend)
        fcc_lut_data = fdt_as_int32_array(fcc_lut_data)
        # print(fcc_lut_col_legend)
        # print(fcc_lut_data)

        pc_temp_ocv_lut = find_subnode_by_name(fdt, battery_subnode, "qcom,pc-temp-ocv-lut")
        ocv_lut_col_legend = fdt.getprop(pc_temp_ocv_lut, "qcom,lut-col-legend")
        ocv_lut_row_legend = fdt.getprop(pc_temp_ocv_lut, "qcom,lut-row-legend")
        ocv_lut_data = fdt.getprop(pc_temp_ocv_lut, "qcom,lut-data")

        ocv_lut_col_legend = fdt_as_int32_array(ocv_lut_col_legend)
        ocv_lut_row_legend = fdt_as_int32_array(ocv_lut_row_legend)
        ocv_lut_data = fdt_as_int32_array(ocv_lut_data)

        # print(ocv_lut_col_legend)
        # print(ocv_lut_row_legend)
        # print(ocv_lut_data)

        print("bms@4000 {")
        print("\tstatus = \"okay\";")

        print("\n\t/* bms old */")
        print_for_bms_old(fcc_lut_col_legend, fcc_lut_data, ocv_lut_row_legend, ocv_lut_col_legend, ocv_lut_data)
        print("\n\t/* bms current */")
        print_for_bms_current(fcc_lut_col_legend, fcc_lut_data, ocv_lut_row_legend, ocv_lut_col_legend, ocv_lut_data)
        print("\n\t/* bms next */")
        print_for_bms_next(fcc_lut_col_legend, fcc_lut_data, ocv_lut_row_legend, ocv_lut_col_legend, ocv_lut_data)

        print("};")
Beispiel #2
0
 def setUp(self):
     """Read in the device tree we use for testing"""
     self.fdt = libfdt.FdtRo(open('test_tree1.dtb').read())
Beispiel #3
0
 def setUp(self):
     """Read in the device tree we use for testing"""
     with open('test_tree1.dtb', mode='rb') as f:
         self.fdt = libfdt.FdtRo(f.read())