Cleaned up mixing of spaces/tabs for indentation probably done by emacs.
authorFrank Mori Hess <fmhess@speakeasy.net>
Tue, 10 Jul 2007 14:11:32 +0000 (14:11 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Tue, 10 Jul 2007 14:11:32 +0000 (14:11 +0000)
demo/gpct_encoder.c

index ad55784cb8f032aed2229c8456a3f2a688e26fb6..42df3eeee988b689a732b2971a85b87deb06338e 100644 (file)
 #include <ctype.h>
 #include "examples.h"
 
-int set_source(comedi_t *device, unsigned subdevice, 
-              lsampl_t index, lsampl_t source)
+int set_other_source(comedi_t *device, unsigned subdevice,
+       lsampl_t index, lsampl_t source)
 {
-  comedi_insn insn;
-  lsampl_t data[3];
-  int retval;
-  
-  memset(&insn, 0, sizeof(comedi_insn));
-  insn.insn = INSN_CONFIG;
-  insn.subdev = subdevice;
-  insn.chanspec = 0;
-  insn.data = data;
-  insn.n = sizeof(data) / sizeof(data[0]);
-  data[0] = INSN_CONFIG_SET_OTHER_SRC;
-  data[1] = index;
-  data[2] = source;
-  
-  retval = comedi_do_insn(device, &insn);
-  if(retval < 0)
-    {
-      fprintf(stderr, "%s: error:\n", __FUNCTION__);
-      comedi_perror("comedi_do_insn");
-      return retval;
-    }
-  return 0;
+       comedi_insn insn;
+       lsampl_t data[3];
+       int retval;
+
+       memset(&insn, 0, sizeof(comedi_insn));
+       insn.insn = INSN_CONFIG;
+       insn.subdev = subdevice;
+       insn.chanspec = 0;
+       insn.data = data;
+       insn.n = sizeof(data) / sizeof(data[0]);
+       data[0] = INSN_CONFIG_SET_OTHER_SRC;
+       data[1] = index;
+       data[2] = source;
+
+       retval = comedi_do_insn(device, &insn);
+       if(retval < 0)
+       {
+               fprintf(stderr, "%s: error:\n", __FUNCTION__);
+               comedi_perror("comedi_do_insn");
+               return retval;
+       }
+       return 0;
 }
 
-int ni_gpct_start_encoder(comedi_t *device, unsigned subdevice, 
-                         unsigned int initial_value,
-                         int a, int b, int z)
+int ni_gpct_start_encoder(comedi_t *device, unsigned subdevice,
+       unsigned int initial_value,
+       int a, int b, int z)
 {
        int retval;
        lsampl_t counter_mode;
-       
+
 
        retval = reset_counter(device, subdevice);
-        /* set initial counter value by writing to channel 0 */
-        retval = comedi_data_write(device, subdevice, 0, 0, 0, initial_value);
-        /* set "load a" register to initial_value by writing to channel 1 */
-        retval = comedi_data_write(device, subdevice, 1, 0, 0, initial_value);
-        /* set "load b" register to initial_value by writing to channel 2 */
-        retval = comedi_data_write(device, subdevice, 2, 0, 0, initial_value);
+       /* set initial counter value by writing to channel 0 */
+       retval = comedi_data_write(device, subdevice, 0, 0, 0, initial_value);
+       /* set "load a" register to initial_value by writing to channel 1 */
+       retval = comedi_data_write(device, subdevice, 1, 0, 0, initial_value);
+       /* set "load b" register to initial_value by writing to channel 2 */
+       retval = comedi_data_write(device, subdevice, 2, 0, 0, initial_value);
 
        set_gate_source(device, subdevice, 0, NI_GPCT_DISABLED_GATE_SELECT);
        set_gate_source(device, subdevice, 1, NI_GPCT_DISABLED_GATE_SELECT);
-       set_source(device, subdevice, NI_GPCT_SOURCE_ENCODER_A, a);
-       set_source(device, subdevice, NI_GPCT_SOURCE_ENCODER_B, b);
-       set_source(device, subdevice, NI_GPCT_SOURCE_ENCODER_Z, z);
+       set_other_source(device, subdevice, NI_GPCT_SOURCE_ENCODER_A, a);
+       set_other_source(device, subdevice, NI_GPCT_SOURCE_ENCODER_B, b);
+       set_other_source(device, subdevice, NI_GPCT_SOURCE_ENCODER_Z, z);
 
        counter_mode = (NI_GPCT_COUNTING_MODE_QUADRATURE_X4_BITS |
-                       NI_GPCT_COUNTING_DIRECTION_HW_UP_DOWN_BITS);
+               NI_GPCT_COUNTING_DIRECTION_HW_UP_DOWN_BITS);
        if (z != NI_GPCT_DISABLED_GATE_SELECT) {
-         counter_mode |= (NI_GPCT_INDEX_ENABLE_BIT |
-                          NI_GPCT_INDEX_PHASE_HIGH_A_HIGH_B_BITS);
+               counter_mode |= (NI_GPCT_INDEX_ENABLE_BIT |
+                       NI_GPCT_INDEX_PHASE_HIGH_A_HIGH_B_BITS);
        }
        retval = set_counter_mode(device, subdevice, counter_mode);
        if(retval < 0) return retval;
@@ -93,57 +93,57 @@ int ni_gpct_start_encoder(comedi_t *device, unsigned subdevice,
 
 int main(int argc, char *argv[])
 {
-  comedi_t *device = NULL;
-  int subdevice = -1;
-  int a = NI_GPCT_DISABLED_OTHER_SELECT;
-  int b = NI_GPCT_DISABLED_OTHER_SELECT;
-  int z = NI_GPCT_DISABLED_OTHER_SELECT;
-  unsigned int initial_value = 0;
-  int retval;
-
-  struct parsed_options options;
-  {
-    int c;
-    while (-1 != (c = getopt(argc, argv, "f:s:A:B:Z:I:"))) {
-      switch (c) {
-       case 'f':
-         device = comedi_open(optarg);
-         if(!device) {
-           comedi_perror(optarg);
-           exit(-1);
-         }
-         break;
-       case 's':
-         subdevice = strtoul(optarg, NULL, 0);
-         break;
-       case 'A':
-         /* TODO: Should we pass the value directly, i.e. could anybody
-          *       be interested in values besides PFIx/DISABLED */
-         a = NI_GPCT_PFI_OTHER_SELECT(strtoul(optarg, NULL, 0));
-         break;
-       case 'B':
-         /* TODO: Should we pass the value directly, i.e. could anybody
-          *       be interested in values besides PFIx/DISABLED */
-         b = NI_GPCT_PFI_OTHER_SELECT(strtoul(optarg, NULL, 0));
-         break;
-       case 'Z':
-         /* TODO: Should we pass the value directly, i.e. could anybody
-          *       be interested in values besides PFIx/DISABLED */
-         z = NI_GPCT_PFI_OTHER_SELECT(strtoul(optarg, NULL, 0));
-         break;
-       case 'I':
-         initial_value = strtoul(optarg, NULL, 0);
-      break;
-      }
-    }
-  }
-
-  /*FIXME: check that device is counter */
-  printf("Initiating encoder on subdevice %d.\n", subdevice);
-  
-  retval = ni_gpct_start_encoder(device, subdevice, initial_value, a, b, z);
-  
-  if(retval < 0) return retval;
-  
-  return 0;
+       comedi_t *device = NULL;
+       int subdevice = -1;
+       int a = NI_GPCT_DISABLED_OTHER_SELECT;
+       int b = NI_GPCT_DISABLED_OTHER_SELECT;
+       int z = NI_GPCT_DISABLED_OTHER_SELECT;
+       unsigned int initial_value = 0;
+       int retval;
+
+       struct parsed_options options;
+       {
+               int c;
+               while (-1 != (c = getopt(argc, argv, "f:s:A:B:Z:I:"))) {
+                       switch (c) {
+                       case 'f':
+                               device = comedi_open(optarg);
+                               if(!device) {
+                                       comedi_perror(optarg);
+                                       exit(-1);
+                               }
+                               break;
+                       case 's':
+                               subdevice = strtoul(optarg, NULL, 0);
+                               break;
+                       case 'A':
+                               /* TODO: Should we pass the value directly, i.e. could anybody
+                               *       be interested in values besides PFIx/DISABLED */
+                               a = NI_GPCT_PFI_OTHER_SELECT(strtoul(optarg, NULL, 0));
+                               break;
+                       case 'B':
+                               /* TODO: Should we pass the value directly, i.e. could anybody
+                               *       be interested in values besides PFIx/DISABLED */
+                               b = NI_GPCT_PFI_OTHER_SELECT(strtoul(optarg, NULL, 0));
+                               break;
+                       case 'Z':
+                               /* TODO: Should we pass the value directly, i.e. could anybody
+                               *       be interested in values besides PFIx/DISABLED */
+                               z = NI_GPCT_PFI_OTHER_SELECT(strtoul(optarg, NULL, 0));
+                               break;
+                       case 'I':
+                               initial_value = strtoul(optarg, NULL, 0);
+                                       break;
+                       }
+               }
+       }
+
+       /*FIXME: check that device is counter */
+       printf("Initiating encoder on subdevice %d.\n", subdevice);
+
+       retval = ni_gpct_start_encoder(device, subdevice, initial_value, a, b, z);
+
+       if(retval < 0) return retval;
+
+       return 0;
 }