Unverified Commit 3efdbef1 authored by Daniel Friesel's avatar Daniel Friesel
Browse files

add conversion efficiency plot

parent faa17cdf
Loading
Loading
Loading
Loading
+29 −3
Original line number Original line Diff line number Diff line
@@ -451,7 +451,7 @@ def measure_data(
    return output
    return output




def plot_data(data, mode):
def plot_data(data, mode, output_power=None):
    import matplotlib.pyplot as plt
    import matplotlib.pyplot as plt


    plt.style.use(matplotlib_theme)
    plt.style.use(matplotlib_theme)
@@ -517,6 +517,26 @@ def plot_data(data, mode):
        plt.xlabel("Current [A]")
        plt.xlabel("Current [A]")
        plt.ylabel("Power [W]")
        plt.ylabel("Power [W]")


    elif mode == "Up" and output_power:
        plt.plot(
            data[:, 1],
            output_power * 100 / (data[:, 1] * data[:, 2]),
            "bs",
            markersize=2,
        )
        plt.xlabel("Voltage [V]")
        plt.ylabel("Conversion Efficiency [%]")

    elif mode == "Ip" and output_power:
        plt.plot(
            data[:, 2],
            output_power * 100 / (data[:, 1] * data[:, 2]),
            "bs",
            markersize=2,
        )
        plt.xlabel("Current [A]")
        plt.ylabel("Conversion Efficiency [%]")

    plt.show()
    plt.show()




@@ -685,9 +705,15 @@ def main():
    parser.add_argument(
    parser.add_argument(
        "--plot",
        "--plot",
        metavar="UNIT",
        metavar="UNIT",
        choices=["U", "I", "P", "UI", "UP", "IU", "IP"],
        choices=["U", "I", "P", "UI", "UP", "Up", "IU", "IP", "Ip"],
        help="Plot voltage / current / power over time or voltage vs current / current vs voltage",
        help="Plot voltage / current / power over time or voltage vs current / current vs voltage",
    )
    )
    parser.add_argument(
        "--converter-output-power",
        type=int,
        metavar="WATTS",
        help="Output power for conversion efficiency calculation (--plot=Up / --plot=Ip)",
    )
    parser.add_argument(
    parser.add_argument(
        "--dark-mode", action="store_true", help="Show plots on a dark background"
        "--dark-mode", action="store_true", help="Show plots on a dark background"
    )
    )
@@ -740,7 +766,7 @@ def main():
    data = parse_data(log_data, skip=args.skip, limit=args.limit)
    data = parse_data(log_data, skip=args.skip, limit=args.limit)


    if args.plot:
    if args.plot:
        plot_data(data, args.plot)
        plot_data(data, args.plot, args.converter_output_power)




if __name__ == "__main__":
if __name__ == "__main__":