diff --git a/quad/computation_graph/src/node_accumulator.c b/quad/computation_graph/src/node_accumulator.c deleted file mode 100644 index 17a36ee92dffc796e9ea592f28ecd1f4737085a1..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_accumulator.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "node_accumulator.h" -#include <stdlib.h> - -struct accum_state { - double accumulated; -}; - -static void accum_nodes(void *state, const double* params, const double *inputs, double *outputs) { - struct accum_state* my_state = (struct accum_state*)state; - my_state->accumulated += inputs[ACCUM_IN]; - outputs[ACCUMULATED] = my_state->accumulated; -} - -static void reset(void *state) { - ((struct accum_state*)state)->accumulated = 0; -} - - -static const char* const in_names[2] = {"Accumulator in"}; -static const char* const out_names[1] = {"Accumulated"}; -static const char* const param_names[0] = {}; -const struct graph_node_type node_accum_type = { - .input_names = in_names, - .output_names = out_names, - .param_names = param_names, - .n_inputs = 1, - .n_outputs = 1, - .n_params = 0, - .execute = accum_nodes, - .reset = reset -}; - -int graph_add_node_accum(struct computation_graph *graph, const char* name) { - struct accum_state* node_state = malloc(sizeof(struct accum_state)); - if (sizeof(struct accum_state) && !node_state) { - return -1; // malloc failed - } - return graph_add_node(graph, name, &node_accum_type, node_state); -} diff --git a/quad/computation_graph/src/node_accumulator.h b/quad/computation_graph/src/node_accumulator.h deleted file mode 100644 index 3b34220ada4ccca1cbce34c7c1177775c37270f1..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_accumulator.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __NODE_ACCUMULATOR_H__ -#define __NODE_ACCUMULATOR_H__ -#include "computation_graph.h" - -int graph_add_node_accum(struct computation_graph *graph, const char* name); - -extern const struct graph_node_type node_accum_type; - -enum graph_node_accum_inputs { - ACCUM_IN, -}; - -enum graph_node_accum_outputs { - ACCUMULATED -}; -#endif // __NODE_ACCUMULATOR_H__ \ No newline at end of file diff --git a/quad/computation_graph/src/node_add.c b/quad/computation_graph/src/node_add.c deleted file mode 100644 index a28ca657b6ebe25838806b8369c1669aefb99323..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_add.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "node_add.h" -#include <stdlib.h> - -static void add_nodes(void *state, const double* params, const double *inputs, double *outputs) { - outputs[ADD_SUM] = inputs[ADD_SUMMAND1] + inputs[ADD_SUMMAND2]; -} -static void reset(void *state) {} - -static const char* const in_names[2] = {"Summand 1", "Summand 2"}; -static const char* const out_names[1] = {"Sum"}; -static const char* const param_names[0] = {}; -const struct graph_node_type node_add_type = { - .input_names = in_names, - .output_names = out_names, - .param_names = param_names, - .n_inputs = 2, - .n_outputs = 1, - .n_params = 0, - .execute = add_nodes, - .reset = reset -}; - -int graph_add_node_add(struct computation_graph *graph, const char* name) { - return graph_add_node(graph, name, &node_add_type, NULL); -} diff --git a/quad/computation_graph/src/node_add.h b/quad/computation_graph/src/node_add.h deleted file mode 100644 index ac518505f0d33ec179776e023c4fd6ebb28337a2..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_add.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __NODE_ADD_H__ -#define __NODE_ADD_H__ -#include "computation_graph.h" - -int graph_add_node_add(struct computation_graph *graph, const char* name); - -extern const struct graph_node_type node_add_type; - -enum graph_node_add_inputs { - ADD_SUMMAND1, - ADD_SUMMAND2, -}; - -enum graph_node_add_outputs { - ADD_SUM -}; -#endif // __NODE_ADD_H__ \ No newline at end of file diff --git a/quad/computation_graph/src/node_constant.c b/quad/computation_graph/src/node_constant.c deleted file mode 100644 index 47ab571d5636d45c7e27ff3d47c45f3e7f305e38..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_constant.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "node_constant.h" -#include <stdlib.h> - -static void output_const(void *state, const double *params, const double *inputs, double *outputs) { - outputs[CONST_VAL] = params[CONST_SET]; -} -static void reset(void *state) {} - -static const char* const in_names[0] = {}; -static const char* const out_names[1] = {"Constant"}; -static const char* const param_names[1] = {"Constant"}; -const struct graph_node_type node_const_type = { - .input_names = in_names, - .output_names = out_names, - .param_names = param_names, - .n_inputs = 0, - .n_outputs = 1, - .n_params = 1, - .execute = output_const, - .reset = reset -}; - -int graph_add_node_const(struct computation_graph *graph, const char* name) { - return graph_add_node(graph, name, &node_const_type, NULL); -} diff --git a/quad/computation_graph/src/node_constant.h b/quad/computation_graph/src/node_constant.h deleted file mode 100644 index 42463a5c5ef1094e98aeae46b57cda0ab224811c..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_constant.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __NODE_CONSTANT_H__ -#define __NODE_CONSTANT_H__ -#include "computation_graph.h" - -int graph_add_node_const(struct computation_graph *graph, const char* name); - -extern const struct graph_node_type node_const_type; - -enum graph_node_const_params { - CONST_SET -}; - -enum graph_node_const_outputs { - CONST_VAL -}; -#endif //__NODE_CONSTANT_H__ \ No newline at end of file diff --git a/quad/computation_graph/src/node_gain.c b/quad/computation_graph/src/node_gain.c deleted file mode 100644 index f89c6f9cb068249af6fc5b958156dd5ae558b4bb..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_gain.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "node_gain.h" -#include <stdlib.h> - -static void scale_nodes(void *state, const double* params, const double *inputs, double *outputs) { - outputs[GAIN_RESULT] = inputs[GAIN_INPUT] * params[GAIN_GAIN]; -} -static void reset(void *state) {} - -static const char* const in_names[1] = {"Input"}; -static const char* const out_names[1] = {"Amplified"}; -static const char* const param_names[1] = {"Gain"}; -const struct graph_node_type node_gain_type = { - .input_names = in_names, - .output_names = out_names, - .param_names = param_names, - .n_inputs = 1, - .n_outputs = 1, - .n_params = 1, - .execute = scale_nodes, - .reset = reset -}; - -int graph_add_node_gain(struct computation_graph *graph, const char* name) { - return graph_add_node(graph, name, &node_gain_type, NULL); -} diff --git a/quad/computation_graph/src/node_gain.h b/quad/computation_graph/src/node_gain.h deleted file mode 100644 index e20b9a0186251a305a483fe8061cb58b3fe7469d..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_gain.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef __NODE_GAIN_H__ -#define __NODE_GAIN_H__ -#include "computation_graph.h" - -int graph_add_node_gain(struct computation_graph *graph, const char* name); - -extern const struct graph_node_type node_gain_type; - -enum graph_node_pow_inputs { - GAIN_INPUT -}; - -enum graph_node_pow_params { - GAIN_GAIN -}; - -enum graph_node_gain_outputs { - GAIN_RESULT -}; -#endif // __NODE_GAIN_H__ \ No newline at end of file diff --git a/quad/computation_graph/src/node_mult.c b/quad/computation_graph/src/node_mult.c deleted file mode 100644 index 2696719fdc83a89ae346d4dc788df693d97b2ddb..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_mult.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "node_mult.h" -#include <stdlib.h> - -static void mult_nodes(void *state, const double* params, const double *inputs, double *outputs) { - outputs[MULT_PRODUCT] = inputs[MULT_MULTIPLICAND1] * inputs[MULT_MULTIPLICAND2]; -} -static void reset(void *state) {} - -static const char* const in_names[2] = {"Multiplicand 1", "Multiplicand 2"}; -static const char* const out_names[1] = {"Product"}; -static const char* const param_names[0] = {}; -const struct graph_node_type node_mult_type = { - .input_names = in_names, - .output_names = out_names, - .param_names = param_names, - .n_inputs = 2, - .n_outputs = 1, - .n_params = 0, - .execute = mult_nodes, - .reset = reset -}; - -int graph_add_node_mult(struct computation_graph *graph, const char* name) { - return graph_add_node(graph, name, &node_mult_type, NULL); -} diff --git a/quad/computation_graph/src/node_mult.h b/quad/computation_graph/src/node_mult.h deleted file mode 100644 index 49194353cd6819113cf445081f5dde8a4f71aba4..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_mult.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef __NODE_MULT_H__ -#define __NODE_MULT_H__ -#include "computation_graph.h" - -int graph_add_node_mult(struct computation_graph *graph, const char* name); - -extern const struct graph_node_type node_mult_type; - -enum graph_node_mult_inputs { - MULT_MULTIPLICAND1, - MULT_MULTIPLICAND2, -}; - -enum graph_node_mult_outputs { - MULT_PRODUCT -}; - -#endif // __NODE_MULT_H__ \ No newline at end of file diff --git a/quad/computation_graph/src/node_pow.c b/quad/computation_graph/src/node_pow.c deleted file mode 100644 index dbbc1d707d7833254e5a96a4dc8ba2b9c954ae4d..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_pow.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "node_pow.h" -#include <stdlib.h> -#include <math.h> - -static void pow_nodes(void *state, const double* params, const double *inputs, double *outputs) { - outputs[POW_RESULT] = pow(inputs[POW_BASE], params[POW_EXP]); -} -static void reset(void *state) {} - -static const char* const in_names[1] = {"Base"}; -static const char* const out_names[1] = {"Result"}; -static const char* const param_names[1] = {"Exponent"}; -const struct graph_node_type node_pow_type = { - .input_names = in_names, - .output_names = out_names, - .param_names = param_names, - .n_inputs = 1, - .n_outputs = 1, - .n_params = 1, - .execute = pow_nodes, - .reset = reset -}; - -int graph_add_node_pow(struct computation_graph *graph, const char* name) { - return graph_add_node(graph, name, &node_pow_type, NULL); -} diff --git a/quad/computation_graph/src/node_pow.h b/quad/computation_graph/src/node_pow.h deleted file mode 100644 index e817defef76f048f6d52beb03d9f375115dd7fd2..0000000000000000000000000000000000000000 --- a/quad/computation_graph/src/node_pow.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef __NODE_POW_H__ -#define __NODE_POW_H__ -#include "computation_graph.h" - -int graph_add_node_pow(struct computation_graph *graph, const char* name); - -extern const struct graph_node_type node_pow_type; - -enum graph_node_pow_inputs { - POW_BASE -}; - -enum graph_node_pow_params { - POW_EXP -}; - -enum graph_node_pow_outputs { - POW_RESULT -}; -#endif // __NODE_POW_H__ \ No newline at end of file diff --git a/quad/sw/modular_quad_pid/src/main.c b/quad/sw/modular_quad_pid/src/main.c index 8ef38990d98c1a5415c9be48a5b0c2d8a829b6ec..cfc3076a86995621278deffdc99b40060c92e447 100644 --- a/quad/sw/modular_quad_pid/src/main.c +++ b/quad/sw/modular_quad_pid/src/main.c @@ -78,10 +78,10 @@ int main() // Run the control algorithm control_algorithm(&(structs.log_struct), &(structs.user_input_struct), &(structs.sensor_struct), &(structs.setpoint_struct), - &(structs.parameter_struct), &(structs.user_defined_struct), &(structs.raw_actuator_struct), &structs); + &(structs.parameter_struct), &(structs.user_defined_struct), &(structs.actuator_command_struct), &structs); // Process the commands going to the actuators - actuator_command_processing(&(structs.log_struct), &(structs.user_input_struct), &(structs.raw_actuator_struct), &(structs.actuator_command_struct)); + //actuator_command_processing(&(structs.log_struct), &(structs.user_input_struct), &(structs.raw_actuator_struct), &(structs.actuator_command_struct)); // send the actuator commands send_actuator_commands(&(structs.log_struct), &(structs.actuator_command_struct));