From dfa1e515190da5e7f7cf2be0b91fec60a4ef642f Mon Sep 17 00:00:00 2001 From: Hector Bujanda Date: Tue, 17 Mar 2020 05:24:55 -0700 Subject: [PATCH] apix-pwm-example: apix-adc-example: improve arguments parsing In previous implementation, if alias wanted to be used, it had to be passed twice. https://jira.digi.com/browse/DEL-6425 Signed-off-by: Hector Bujanda --- apix-adc-example/main.c | 25 +++++++++++++++++++++---- apix-pwm-example/main.c | 21 ++++++++++++++++----- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/apix-adc-example/main.c b/apix-adc-example/main.c index 3a55ec7..811f1c9 100644 --- a/apix-adc-example/main.c +++ b/apix-adc-example/main.c @@ -51,14 +51,25 @@ static void usage_and_exit(char *name, int exitval) fprintf(stdout, "Example application using libdigiapix ADC support\n" "\n" - "Usage: %s \n\n" - " ADC chip number or alias\n" - " ADC channel number or alias\n" + "Usage: %s\n" + " %s is used as ADC alias\n" + " %d seconds is used as Interval\n" + " %d is used as Samples\n" + "\n" + "Usage: %s \n" + " ADC alias\n" + " Time interval for sampling\n" + " Number of samples to get\n" + "\n" + "Usage: %s \n" + " ADC chip number\n" + " ADC channel number\n" " Time interval for sampling\n" " Number of samples to get\n" "\n" "Alias for ADC can be configured in the library config file\n" - "\n", name); + "\n", name, DEFAULT_ADC_ALIAS, DEFAULT_TIME_INTERVAl, + DEFAULT_NUMBER_OF_SAMPLES, name, name); exit(exitval); } @@ -166,6 +177,12 @@ int main(int argc, char *argv[]) channel = ldx_adc_get_channel(DEFAULT_ADC_ALIAS); interval = DEFAULT_TIME_INTERVAl; number_of_samples = DEFAULT_NUMBER_OF_SAMPLES; + } else if (argc == 4) { + /* Parse command line arguments */ + chip = parse_argument(argv[1], ARG_ADC_CHIP); + channel = parse_argument(argv[1], ARG_ADC_CHANNEL); + interval = atoi(argv[2]); + number_of_samples = atoi(argv[3]); } else if (argc == 5) { /* Parse command line arguments */ chip = parse_argument(argv[1], ARG_ADC_CHIP); diff --git a/apix-pwm-example/main.c b/apix-pwm-example/main.c index e3eacdc..babb57f 100644 --- a/apix-pwm-example/main.c +++ b/apix-pwm-example/main.c @@ -46,13 +46,19 @@ static void usage_and_exit(char *name, int exitval) fprintf(stdout, "Example application using libdigiapix PWM support\n" "\n" - "Usage: %s \n\n" - " PWM chip number or alias\n" - " PWM channel number or alias\n" - " Frequency to use (Hz)\n" + "Usage: %s\n" + " %s is used as PWM alias\n" + " %dHz is used as Frequency\n\n" + "Usage: %s \n" + " PWM alias\n" + " Frequency to use (Hz)\n\n" + "Usage: %s \n" + " PWM chip number\n" + " PWM channel number\n" + " Frequency to use (Hz)\n" "\n" "Aliases for PWM can be configured in the library config file\n" - "\n", name); + "\n", name, DEFAULT_PWM_ALIAS, DEFAULT_PWM_FREQUENCY, name, name); exit(exitval); } @@ -141,10 +147,15 @@ int main(int argc, char **argv) pwm_chip = ldx_pwm_get_chip(DEFAULT_PWM_ALIAS); pwm_channel = ldx_pwm_get_channel(DEFAULT_PWM_ALIAS); pwm_freq = DEFAULT_PWM_FREQUENCY; + } else if (argc == 3) { + pwm_chip = parse_argument(argv[1], ARG_PWM_CHIP); + pwm_channel = parse_argument(argv[1], ARG_PWM_CHANNEL); + pwm_freq = atoi(argv[2]); } else if (argc == 4) { pwm_chip = parse_argument(argv[1], ARG_PWM_CHIP); pwm_channel = parse_argument(argv[2], ARG_PWM_CHANNEL); pwm_freq = atoi(argv[3]); + } else { usage_and_exit(name, EXIT_FAILURE); }