Skip to content

Commit

Permalink
fix regression caused by augmenting cf_dict to contain "all"
Browse files Browse the repository at this point in the history
  • Loading branch information
whoenig committed Feb 7, 2024
1 parent 9d9ec26 commit b3271b9
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions crazyflie/scripts/crazyflie_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,8 @@ def _fully_connected(self, link_uri):

self.swarm.fully_connected_crazyflie_cnt += 1

if self.swarm.fully_connected_crazyflie_cnt == len(self.cf_dict):
# use len(self.cf_dict) - 1, since cf_dict contains "all" as well
if self.swarm.fully_connected_crazyflie_cnt == len(self.cf_dict) - 1:
self.get_logger().info("All Crazyflies are fully connected!")
self._init_parameters()
self._init_logging()
Expand Down Expand Up @@ -707,38 +708,39 @@ def _parameters_callback(self, params):
for param in params:
param_split = param.name.split(".")

if param_split[0] in self.cf_dict.values():
cf_name = param_split[0]
if param_split[0] == "all":
if param_split[1] == "params":
name_param = param_split[2] + "." + param_split[3]
try:
self.swarm._cfs[self.uri_dict[cf_name]].cf.param.set_value(
name_param, param.value
)
for link_uri in self.uris:
cf = self.swarm._cfs[link_uri].cf.param.set_value(
name_param, param.value
)
self.get_logger().info(
f"[{self.uri_dict[cf_name]}] {name_param} is set to {param.value}"
f"[{self.cf_dict[link_uri]}] {name_param} is set to {param.value}"
)
return SetParametersResult(successful=True)
except Exception as e:
self.get_logger().info(str(e))
return SetParametersResult(successful=False)
if param_split[1] == "logs":
return SetParametersResult(successful=True)
elif param_split[0] == "all":
elif param_split[0] in self.cf_dict.values():
cf_name = param_split[0]
if param_split[1] == "params":
name_param = param_split[2] + "." + param_split[3]
try:
for link_uri in self.uris:
cf = self.swarm._cfs[link_uri].cf.param.set_value(
name_param, param.value
)
self.swarm._cfs[self.uri_dict[cf_name]].cf.param.set_value(
name_param, param.value
)
self.get_logger().info(
f"[{self.cf_dict[link_uri]}] {name_param} is set to {param.value}"
f"[{self.uri_dict[cf_name]}] {name_param} is set to {param.value}"
)
return SetParametersResult(successful=True)
except Exception as e:
self.get_logger().info(str(e))
return SetParametersResult(successful=False)
if param_split[1] == "logs":
return SetParametersResult(successful=True)


return SetParametersResult(successful=False)

Expand Down

0 comments on commit b3271b9

Please sign in to comment.