File: ni__mio_8h-source.html

package info (click to toggle)
xenomai 2.5.4-3squeeze1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 36,140 kB
  • ctags: 35,509
  • sloc: ansic: 109,084; sh: 11,745; makefile: 2,205; xml: 1,356; asm: 613; php: 316; perl: 155
file content (139 lines) | stat: -rw-r--r-- 13,206 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Xenomai API: ksrc/drivers/analogy/national_instruments/ni_mio.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
    </ul>
  </div>
<h1>ksrc/drivers/analogy/national_instruments/ni_mio.h</h1><a href="ni__mio_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __ANALOGY_NI_MIO_H__</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __ANALOGY_NI_MIO_H__</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="comment">/* Debug stuff */</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="preprocessor">#ifdef CONFIG_DEBUG_MIO</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define MDPRINTK(fmt, args...) rtdm_printk(format, ##args)</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* !CONFIG_DEBUG_MIO */</span>
<a name="l00029"></a>00029 <span class="preprocessor">#define MDPRINTK(fmt, args...)</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_DEBUG_MIO */</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="comment">/* Subdevice related defines */</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 <span class="preprocessor">#define AIMODE_NONE             0</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define AIMODE_HALF_FULL        1</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define AIMODE_SCAN             2</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define AIMODE_SAMPLE           3</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#define NI_AI_SUBDEV            0</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define NI_AO_SUBDEV            1</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define NI_DIO_SUBDEV           2</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define NI_8255_DIO_SUBDEV      3</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define NI_UNUSED_SUBDEV        4</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#define NI_CALIBRATION_SUBDEV   5</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define NI_EEPROM_SUBDEV        6</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_DIO_SUBDEV       7</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define NI_CS5529_CALIBRATION_SUBDEV 8</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define NI_SERIAL_SUBDEV        9</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define NI_RTSI_SUBDEV          10</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define NI_GPCT0_SUBDEV         11</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define NI_GPCT1_SUBDEV         12</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define NI_FREQ_OUT_SUBDEV      13</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define NI_NUM_SUBDEVICES       14</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
<a name="l00055"></a>00055 <span class="preprocessor">#define NI_GPCT_SUBDEV(x)       ((x == 1) ? NI_GPCT1_SUBDEV : NI_GPCT0_SUBDEV)</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a>00057 <span class="preprocessor">#define TIMEBASE_1_NS           50</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define TIMEBASE_2_NS           10000</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span>
<a name="l00060"></a>00060 <span class="preprocessor">#define SERIAL_DISABLED         0</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define SERIAL_600NS            600</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define SERIAL_1_2US            1200</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define SERIAL_10US             10000</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span>
<a name="l00065"></a>00065 <span class="comment">/* PFI digital filtering options for ni m-series for use with</span>
<a name="l00066"></a>00066 <span class="comment">   INSN_CONFIG_FILTER. */</span>
<a name="l00067"></a>00067 <span class="preprocessor">#define NI_PFI_FILTER_OFF       0x0</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_FILTER_125ns     0x1</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_FILTER_6425ns    0x2</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_FILTER_2550us    0x3</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span>
<a name="l00072"></a>00072 <span class="comment">/* Signals which can be routed to an NI PFI pin on an m-series board</span>
<a name="l00073"></a>00073 <span class="comment">   with INSN_CONFIG_SET_ROUTING. These numbers are also returned by</span>
<a name="l00074"></a>00074 <span class="comment">   INSN_CONFIG_GET_ROUTING on pre-m-series boards, even though their</span>
<a name="l00075"></a>00075 <span class="comment">   routing cannot be changed. The numbers assigned are not arbitrary,</span>
<a name="l00076"></a>00076 <span class="comment">   they correspond to the bits required to program the board. */</span>
<a name="l00077"></a>00077 <span class="preprocessor">#define NI_PFI_OUTPUT_PFI_DEFAULT       0</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AI_START1         1</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AI_START2         2</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AI_CONVERT        3</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_G_SRC1            4</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_G_GATE1           5</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AO_UPDATE_N       6</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AO_START1         7</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AI_START_PULSE    8</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_G_SRC0            9</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_G_GATE0           10</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_EXT_STROBE        11</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_AI_EXT_MUX_CLK    12</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_GOUT0             13</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_GOUT1             14</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_FREQ_OUT          15</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_PFI_DO            16</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_I_ATRIG           17</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_RTSI0             18</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_PXI_STAR_TRIGGER_IN 26</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_SCXI_TRIG1        27</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_DIO_CHANGE_DETECT_RTSI 28</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_CDI_SAMPLE        29</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#define NI_PFI_OUTPUT_CDO_UPDATE        30</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span>
<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> NI_PFI_OUTPUT_RTSI(<span class="keywordtype">unsigned</span> rtsi_channel) {
<a name="l00103"></a>00103         <span class="keywordflow">return</span> NI_PFI_OUTPUT_RTSI0 + rtsi_channel;
<a name="l00104"></a>00104 }
<a name="l00105"></a>00105 
<a name="l00106"></a>00106 <span class="comment">/* Ranges declarations */</span>
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai;
<a name="l00109"></a>00109 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai_limited;
<a name="l00110"></a>00110 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai_limited14;
<a name="l00111"></a>00111 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai_bipolar4;
<a name="l00112"></a>00112 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai_611x;
<a name="l00113"></a>00113 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai_622x;
<a name="l00114"></a>00114 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ai_628x;
<a name="l00115"></a>00115 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_S_ai_6143;
<a name="l00116"></a>00116 <span class="keyword">extern</span> a4l_rngdesc_t range_ni_E_ao_ext;
<a name="l00117"></a>00117 
<a name="l00118"></a>00118 <span class="comment">/* Misc functions declarations */</span>
<a name="l00119"></a>00119 
<a name="l00120"></a>00120 <span class="keywordtype">int</span> ni_E_interrupt(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> irq, <span class="keywordtype">void</span> *d);
<a name="l00121"></a>00121 <span class="keywordtype">int</span> ni_E_init(a4l_dev_t *dev);
<a name="l00122"></a>00122 
<a name="l00123"></a>00123 
<a name="l00124"></a>00124 <span class="preprocessor">#endif </span><span class="comment">/* !__ANALOGY_NI_MIO_H__ */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 2 12:48:36 2010 for Xenomai API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>