Skip to content

Formatting of generated code #10

Description

@tylerjw

Here is an example of some of the generated code:

namespace admittance_controller_parameters {

    struct Params {
    std::vector<std::string> joints_ ;
std::vector<std::string> command_interfaces_ ;
std::vector<std::string> state_interfaces_ ;
std::vector<std::string> chainable_command_interfaces_ ;
struct kinematics {
std::string plugin_name_;
std::string plugin_package_;
std::string base_;
std::string tip_;
double alpha_ = 0.0005;
std::string group_name_;
} kinematics_;
struct ft_sensor {
std::string name_;
struct frame {
std::string id_;
bool external_;
} frame_;
double filter_coefficient_ = 0.005;
} ft_sensor_;
struct control {
struct frame {
std::string id_;
bool external_;
} frame_;
} control_;
struct fixed_world_frame {
struct frame {
std::string id_;
bool external_;
} frame_;
} fixed_world_frame_;
struct gravity_compensation {
struct frame {
std::string id_;
bool external_;
} frame_;
struct CoG {
std::vector<double> pos_ ;
double force_ = std::numeric_limits<double>::quiet_NaN();
} CoG_;
} gravity_compensation_;
struct admittance {
std::vector<bool> selected_axes_ ;
std::vector<double> mass_ ;
std::vector<double> damping_ratio_ ;
std::vector<double> stiffness_ ;
} admittance_;
bool enable_parameter_update_without_reactivation_ = true;
bool use_feedforward_commanded_input_ = true;

      // for detecting if the parameter struct has been updated
      rclcpp::Time __stamp;
    };

    class ParamListener{
    public:
    // throws rclcpp::exceptions::InvalidParameterValueException on initialization if invalid parameter are loaded
    ParamListener(rclcpp::Node::SharedPtr node)
    : ParamListener(node->get_node_parameters_interface()) {}
    ParamListener(rclcpp_lifecycle::LifecycleNode::SharedPtr node)
    : ParamListener(node->get_node_parameters_interface()) {}
    ParamListener(const std::shared_ptr<rclcpp::node_interfaces::NodeParametersInterface>& parameters_interface){
        declare_params(parameters_interface);
        auto update_param_cb = [this](const std::vector<rclcpp::Parameter> &parameters){return this->update(parameters);};
        handle_ = parameters_interface->add_on_set_parameters_callback(update_param_cb);
        clock_ = rclcpp::Clock();
    }

    Params get_params() const{
        return params_;
    }

The generated code doesn't need to be perfect like what clang-format would do with this but it should also be consistent in some way.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions