X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=tools%2Fcarlu%2Fsrc%2Fmain.c;h=65bcfbcd4411f336f427402587d0501a0951fbb7;hp=4f2058328b6b66655828402024821c89c1104fd5;hb=ddaf4f22a3161d7480d73e03adab1d619784757e;hpb=e72388a0aa23da8bc8e24a0cbe9d523c5a9ce294 diff --git a/tools/carlu/src/main.c b/tools/carlu/src/main.c index 4f20583..65bcfbc 100644 --- a/tools/carlu/src/main.c +++ b/tools/carlu/src/main.c @@ -38,6 +38,7 @@ #include "usb.h" #include "frame.h" #include "test.h" +#include "cmd.h" void *carlu_alloc_driver(size_t size) { @@ -133,6 +134,33 @@ out: return err ? EXIT_FAILURE : EXIT_SUCCESS; } +static int carlu_run_gpio_test(void) +{ + struct carlu *carl = NULL; + int err; + + err = carlu_init(); + if (err) + goto out; + + carl = carlusb_probe(); + if (IS_ERR_OR_NULL(carl)) { + err = PTR_ERR(carl); + goto out; + } + + err = carlu_gpio_test(carl); + if (err) + goto out_close; + +out_close: + carlusb_close(carl); + +out: + carlu_exit(); + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} + static int carlu_run_loop_test(void) { struct carlu *carl; @@ -207,6 +235,7 @@ static const struct menu_struct menu[] = { MENU_ITEM('l', carlusb_print_known_devices, "list of all known ar9170 usb devices."), MENU_ITEM('p', carlu_probe_all, "probe all possible devices."), MENU_ITEM('t', carlu_run_loop_test, "run tx/rx test."), + MENU_ITEM('g', carlu_run_gpio_test, "flash the leds."), }; static int show_help(void)