@@ -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