diff --git a/conf/tools/fc_rotor.xml b/conf/tools/fc_rotor.xml new file mode 100644 index 0000000000..b47328afc6 --- /dev/null +++ b/conf/tools/fc_rotor.xml @@ -0,0 +1,2 @@ + + diff --git a/sw/airborne/modules/multi/fc_rotor/fc_rotor.c b/sw/airborne/modules/multi/fc_rotor/fc_rotor.c index 2ac3fe666a..a948a62df6 100644 --- a/sw/airborne/modules/multi/fc_rotor/fc_rotor.c +++ b/sw/airborne/modules/multi/fc_rotor/fc_rotor.c @@ -20,7 +20,7 @@ */ #include "math/pprz_algebra_float.h" #include "subsystems/abi.h" -//#include "subsystems/datalink/datalink.h" // dl_buffer +#include "subsystems/datalink/datalink.h" #include "autopilot.h" #include "modules/multi/fc_rotor/fc_rotor.h" #include "firmwares/rotorcraft/navigation.h" @@ -32,7 +32,7 @@ void fc_rotor_init(void) void fc_read_msg(uint8_t *buf) { struct FloatVect3 u; - uint8_t ac_id = DL_DESIRED_SETPOINT_ac_id(); + uint8_t ac_id = DL_DESIRED_SETPOINT_ac_id(buf); if (ac_id == AC_ID) { // 0: 2D control, 1: 3D control diff --git a/sw/ground_segment/python/multi/fc_rotor/fc_rotor.py b/sw/ground_segment/python/multi/fc_rotor/fc_rotor.py index 374114ce78..d5e712ff99 100755 --- a/sw/ground_segment/python/multi/fc_rotor/fc_rotor.py +++ b/sw/ground_segment/python/multi/fc_rotor/fc_rotor.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Copyright (C) 2017 Hector Garcia de Marina # Gautier Hattenberger diff --git a/sw/ground_segment/python/multi/fc_rotor/lib_rigid_formations.py b/sw/ground_segment/python/multi/fc_rotor/lib_rigid_formations.py index 3a6b6e1cb9..04107035a4 100644 --- a/sw/ground_segment/python/multi/fc_rotor/lib_rigid_formations.py +++ b/sw/ground_segment/python/multi/fc_rotor/lib_rigid_formations.py @@ -28,7 +28,7 @@ def make_Bd(B): return Bd def make_Zh(Z, m): - edges = Z.size/m + edges = int(Z.size/m) Zh = np.zeros(Z.size) for i in range(0, edges): @@ -39,7 +39,7 @@ def make_Zh(Z, m): return Zh def make_Dz(Z, m): - edges = Z.size/m + edges = int(Z.size/m) Dz = np.zeros((Z.size, edges)) j = 0 @@ -51,7 +51,7 @@ def make_Dz(Z, m): return Dz def make_Dzt(Z, m, l): - edges = Z.size/m + edges = int(Z.size/m) if l == 2: return np.eye(edges) @@ -78,7 +78,7 @@ def make_Dztstar(d, m, l): return np.diag(Ztstar) def make_DPzh(Z, m): - edges = Z.size/m + edges = int(Z.size/m) DPzh = np.zeros((2*edges, 2*edges)) Zt = np.diag(make_Dzt(Z, m, 1)) @@ -93,7 +93,7 @@ def make_DPzh(Z, m): return DPzh def make_E(Z, d, m, l): - edges = Z.size/m + edges = int(Z.size/m) E = np.zeros(edges) if edges == 1: E[0] = la.norm(Z)**l - d**l