HW/DAS/USBscopes/usbtm/bash/signal.c

#include "usbwave.h"

int main(int argc, char *argv[]) {
  int opt, dev = 0, mute = 0, help = 0, wait = 3;
  int fd;
  while((opt = getopt(argc, argv, "d:mw:h?")) != -1)
    switch(opt) {
      case 'd':
        dev = atoi(optarg);
        break;
      case 'm':
        mute = 1;
        break;
      case 'w':
        wait = atoi(optarg);
        break;
      default:
        help = 1;
        break;
    }
  if(help || optind != argc || wait < 1) {
    printf("Pouziti: %s [-d dev] [-w wait] [-m]\n"
        "  Tento program zapne na zarizeni %sn blikani signalni LED diodky po urcenou dobu.\n"
        "  dev urcuje cislo zarizeni, vychozi hodnota je 0.\n"
        "  wait urcuje dobu blikani v sekundach (cele cislo). Vychozi hodnota je 3 s.\n"
        "  Predcasne ukonceni zpusobi blikani LED do doby, nez jej vypne jiny program!\n"
        "  Blikani lze okamzite ukoncit volbou -m.\n",
        argv[0], DEVNAME);
    return 0;
  }

  if(!opendev(dev, &fd)) {
    fprintf(stderr, deverror(dev));
    return 1;
  }
  usbtm_set_clock_master(fd, 1);

  if(!mute) {
    usbtm_set_led_mode(fd, USBTM_LED_MODE_BLINK);
    sleep(wait);
  }
  usbtm_set_led_mode(fd, USBTM_LED_MODE_NORMAL);

  closedev(dev, fd);
  return 0;
}