Initialize pfi output select registers.
authorFrank Mori Hess <fmhess@speakeasy.net>
Tue, 24 Oct 2006 20:46:19 +0000 (20:46 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Tue, 24 Oct 2006 20:46:19 +0000 (20:46 +0000)
comedi/drivers/ni_mio_common.c
comedi/drivers/ni_stc.h

index 87e28851901e4ffa987bfd1b349d6b48ff58c9a8..3ab9b050ba88ba3406a8eefe59ebd2b4c04e0502 100644 (file)
@@ -3235,7 +3235,11 @@ static int ni_E_init(comedi_device *dev,comedi_devconfig *it)
        s->insn_bits = ni_pfi_insn_bits;
        s->insn_config = ni_pfi_insn_config;
        ni_set_bits(dev, IO_Bidirection_Pin_Register, ~0, 0);
-
+       unsigned i;
+       for(i = 0; i < NUM_PFI_OUTPUT_SELECT_REGS; ++i)
+       {
+               ni_writew(devpriv->pfi_output_select_reg[i], M_Offset_PFI_Output_Select(i + 1));
+       }
        /* cs5529 calibration adc */
        s = dev->subdevices + 8;
        if(boardtype.reg_type & ni_reg_67xx_mask)
index f237fff26316cbed34d5a4c2deac3f1c18d2c248..4ce8e1b741a6c641e865c1ecec267bfb336bf333 100644 (file)
@@ -46,6 +46,8 @@
 #define _bit1          0x0002
 #define _bit0          0x0001
 
+#define NUM_PFI_OUTPUT_SELECT_REGS 6
+
 /* Registers in the National Instruments DAQ-STC chip */
 
 #define Interrupt_A_Ack_Register       2
@@ -1042,7 +1044,7 @@ static inline int M_Offset_AO_Reference_Attenuation(int channel)
 };
 static inline unsigned M_Offset_PFI_Output_Select(unsigned n)
 {
-       if(n < 1 || n > 6)
+       if(n < 1 || n > NUM_PFI_OUTPUT_SELECT_REGS)
        {
                rt_printk("%s: invalid pfi output select register=%i\n", __FUNCTION__, n);
                return M_Offset_PFI_Output_Select_1;
@@ -1296,7 +1298,7 @@ static ni_board ni_boards[];
        unsigned short rtsi_trig_direction_reg;                 \
        unsigned short rtsi_trig_a_output_reg; \
        unsigned short rtsi_trig_b_output_reg; \
-       unsigned short pfi_output_select_reg[6]; \
+       unsigned short pfi_output_select_reg[NUM_PFI_OUTPUT_SELECT_REGS]; \
        \
        unsigned clock_ns; \
        unsigned clock_source; \