Skip to content

Commit a671115

Browse files
author
pchiacha
authored
allow analog channel modification
1 parent 2cdf64e commit a671115

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

Tekdaqc_Firmware/src/Analog_Input.c

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,22 @@ Tekdaqc_Function_Error_t CreateAnalogInput(char keys[][MAX_COMMANDPART_LENGTH],
652652
default:
653653
retval = ERR_AIN_PARSE_ERROR;
654654
}
655-
} else if (i == 1U || i == 2U || i == 3U || i == 4U || i == 5U) {
655+
} else if (i != 0U) {
656+
Analog_Input_t* an_input = GetAnalogInputByNumber(input);
657+
if (an_input->added == CHANNEL_ADDED) {
658+
if (i == 1U) { //buffer
659+
buffer = an_input->buffer;
660+
}
661+
else if (i == 2U) { //rate
662+
rate = an_input->rate;
663+
}
664+
else if (i == 3U) { //gain
665+
gain = an_input->gain;
666+
}
667+
else if (i == 4U) { //name
668+
strcpy(name, an_input->name);
669+
}
670+
}
656671
/* The BUFFER, RATE, GAIN and NAME keys are not strictly required, leave the defaults */
657672
continue;
658673
} else {
@@ -670,20 +685,16 @@ Tekdaqc_Function_Error_t CreateAnalogInput(char keys[][MAX_COMMANDPART_LENGTH],
670685
if (input != NULL_CHANNEL) {
671686
Analog_Input_t* an_input = GetAnalogInputByNumber(input);
672687
if (an_input != NULL) {
673-
if (an_input->added == CHANNEL_NOTADDED) {
674-
an_input->physicalInput = input;
675-
an_input->buffer = buffer;
676-
an_input->rate = rate;
677-
an_input->gain = gain;
678-
strcpy(an_input->name, name);
679-
an_input->bufferReadIdx = 0U;
680-
an_input->bufferWriteIdx = 0U;
681-
an_input->min = 0;
682-
an_input->max = 0;
683-
retval = AddAnalogInput(an_input);
684-
} else {
685-
retval = ERR_AIN_INPUT_EXISTS;
686-
}
688+
an_input->physicalInput = input;
689+
an_input->buffer = buffer;
690+
an_input->rate = rate;
691+
an_input->gain = gain;
692+
strcpy(an_input->name, name);
693+
an_input->bufferReadIdx = 0U;
694+
an_input->bufferWriteIdx = 0U;
695+
an_input->min = 0;
696+
an_input->max = 0;
697+
retval = AddAnalogInput(an_input);
687698
} else {
688699
/* The input could not be found */
689700
retval = ERR_AIN_INPUT_NOT_FOUND;

0 commit comments

Comments
 (0)