X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Factuator.c;h=1c105db01a15f0a3b189a2fac47b183bc6c6deef;hb=544b54c409f3731b8e1581af95072a64ff393a28;hp=f2ab4fec0f6771a3f78e2cf3f0be1aac5b68afab;hpb=a44dc75609448e871feb189bb81f84411256f52b;p=matches%2FMCTX3420.git diff --git a/server/actuator.c b/server/actuator.c index f2ab4fe..1c105db 100644 --- a/server/actuator.c +++ b/server/actuator.c @@ -8,9 +8,6 @@ // Files containing GPIO and PWM definitions #include "bbb_pin.h" - - - /** Number of actuators **/ int g_num_actuators = 0; @@ -79,12 +76,17 @@ void Actuator_SetMode(Actuator * a, ControlModes mode, void *arg) { case CONTROL_START: { + // Set filename char filename[BUFSIZ]; - const char *experiment_name = (const char*) arg; + const char *experiment_path = (const char*) arg; + int ret; + + ret = snprintf(filename, BUFSIZ, "%s/actuator_%d", experiment_path, a->id); - if (snprintf(filename, BUFSIZ, "%s_a%d", experiment_name, a->id) >= BUFSIZ) + if (ret >= BUFSIZ) { - Fatal("Experiment name \"%s\" too long (>%d)", experiment_name, BUFSIZ); + Fatal("Experiment path \"%s\" too long (%d, limit %d)", + experiment_path, ret, BUFSIZ); } Log(LOGDEBUG, "Actuator %d with DataFile \"%s\"", a->id, filename); @@ -141,7 +143,7 @@ void Actuator_SetMode(Actuator * a, ControlModes mode, void *arg) */ void Actuator_SetModeAll(ControlModes mode, void * arg) { - for (int i = 0; i < ACTUATORS_MAX; i++) + for (int i = 0; i < g_num_actuators; i++) Actuator_SetMode(&g_actuators[i], mode, arg); }