aboutsummaryrefslogtreecommitdiff
path: root/libarmep/configuration.c
diff options
context:
space:
mode:
Diffstat (limited to 'libarmep/configuration.c')
-rw-r--r--libarmep/configuration.c32
1 files changed, 13 insertions, 19 deletions
diff --git a/libarmep/configuration.c b/libarmep/configuration.c
index 81a391f..3da36cf 100644
--- a/libarmep/configuration.c
+++ b/libarmep/configuration.c
@@ -40,6 +40,7 @@ enum fields {
AEPC_FIELD_PRETTY_NAME,
AEPC_FIELD_SUPPLY,
AEPC_FIELD_COLOUR,
+ AEPC_FIELD_CLASS,
/* always last */
FIELDS_PER_CHANNEL
@@ -209,7 +210,7 @@ int configure(struct aep_context *aep_context, struct aep *aep, const char *dev_
index++;
if (ch == wch) {
sprintf(linebuf,
- " %s\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%s\t%s\t%s\n",
+ " %s\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%s\t%s\t%s\t%s\n",
ch->channel_name,
ch->rshunt,
ch->percentage_error_ref,
@@ -220,7 +221,8 @@ int configure(struct aep_context *aep_context, struct aep *aep, const char *dev_
ch->pretrigger_ms,
ch->channel_name_pretty,
ch->supply,
- ch->colour
+ ch->colour,
+ ch->class
);
if (aep->aep_context->verbose)
fprintf(stderr, "Updating config "
@@ -281,6 +283,10 @@ int configure(struct aep_context *aep_context, struct aep *aep, const char *dev_
strncpy(ch->colour, marshall, sizeof(ch->colour) - 1);
ch->colour[sizeof(ch->colour) - 1] = '\0';
break;
+ case AEPC_FIELD_CLASS:
+ strncpy(ch->class, marshall, sizeof(ch->class) - 1);
+ ch->class[sizeof(ch->class) - 1] = '\0';
+ break;
default:
break;
}
@@ -301,20 +307,6 @@ int configure(struct aep_context *aep_context, struct aep *aep, const char *dev_
ch->channel_name[copy_pos++] = c;
ch->channel_name[copy_pos] = '\0';
break;
- case AEPC_FIELD_RSHUNT:
- case AEPC_FIELD_INTERCHANNEL_ERROR_ESTIMATE:
- case AEPC_FIELD_ZERO_OFFSET_V1:
- case AEPC_FIELD_ZERO_NOISE_V1:
- case AEPC_FIELD_ZERO_OFFSET_V2:
- case AEPC_FIELD_ZERO_NOISE_V2:
- case AEPC_FIELD_RELATIVE_PRETRIG:
- case AEPC_FIELD_SUPPLY:
- case AEPC_FIELD_COLOUR:
- if (copy_pos >= sizeof marshall - 1)
- break;
- marshall[copy_pos++] = c;
- marshall[copy_pos] = '\0';
- break;
case AEPC_FIELD_PRETTY_NAME:
if (copy_pos >=
sizeof ch->channel_name_pretty - 1)
@@ -323,9 +315,11 @@ int configure(struct aep_context *aep_context, struct aep *aep, const char *dev_
ch->channel_name_pretty[copy_pos] = '\0';
break;
default:
- fprintf(stderr, "Unable to parse config\n");
- close(fd);
- return -1;
+ if (copy_pos >= sizeof marshall - 1)
+ break;
+ marshall[copy_pos++] = c;
+ marshall[copy_pos] = '\0';
+ break;
}
break;
}