diff --git a/scripts/airbrakes/coeffs.py b/scripts/airbrakes/coeffs.py index fa2de47fa3f969fa180181e1edc46ef6c1b527ea..e9a2dfb1c98239e37423789a81e9c68867483d7c 100644 --- a/scripts/airbrakes/coeffs.py +++ b/scripts/airbrakes/coeffs.py @@ -5,7 +5,8 @@ import sys fieldname = "coeffs" if len(sys.argv) < 2: - print("\nError, missing path to file \nUsage : python3 coeffs.py <path_to_mat_file>\n") + print("\nError, missing path to file") + print("Usage : python3 coeffs.py <path_to_mat_file>\n") mat = sio.loadmat(sys.argv[1]) @@ -17,4 +18,7 @@ coeffs = {} for coeff, name in zip(data, names): coeffs[name] = coeff.item() -print(coeffs) +print("struct Coefficients\n{") +for name in coeffs: # coeff name = dict key + print("\tfloat " + name + " = " + str(coeffs[name]) + ";") +print("};") diff --git a/scripts/airbrakes/trajectories.py b/scripts/airbrakes/trajectories.py index 3202be92c24d966bc8a6e81b0d5cb8d251e801e2..8f2b9e3279795120ef8ed77394b9ce09774ab1b8 100644 --- a/scripts/airbrakes/trajectories.py +++ b/scripts/airbrakes/trajectories.py @@ -2,16 +2,28 @@ import scipy.io as sio import sys #filename = "Trajectories.mat" +outfilename = "Trajectories_data.h" fieldname = "trajectories_saving" if len(sys.argv) < 2: - print("\nError, missing path to file \nUsage : python3 coeffs.py <path_to_mat_file>\n") + print("\nError, missing path to file") + print("Usage : python3 coeffs.py <path_to_mat_file>\n") mat = sio.loadmat(sys.argv[1]) trajectories = mat[fieldname][0] -with open("Trajectories_data.h", "w") as f: - f.write("{\n") +with open(outfilename, "w") as f: + num_trajectories = len(trajectories) + max_trajectory_len = 0 + for t in trajectories: + # check length of first column for each trajectory + if len(t[0]) > max_trajectory_len: + max_trajectory_len = len(t[0]) + + f.write("static const unsigned int TOT_TRAJECTORIES = " + str(num_trajectories) + ";\n") + f.write("static const unsigned int TRAJECTORY_MAX_LENGTH = " + str(max_trajectory_len) + ";\n\n") + + f.write("const trajectory_t TRAJECTORIES_DATA[TOT_TRAJECTORIES] = {\n") for trajectory in trajectories: zs, vzs, xs, vxs, ys, vys, sbar = trajectory f.write("\t{\n") @@ -19,4 +31,6 @@ with open("Trajectories_data.h", "w") as f: for z, vz in zip(zs, vzs): f.write("\t\t\t{%f, %f},\n" % (z, vz)) f.write("\t\t}\n\t},\n") - f.write("}") + f.write("};") + +print("\nFile " + outfilename + " written")