]>
Commit | Line | Data |
---|---|---|
5d8c55f9 BV |
1 | /* |
2 | * This file is part of the libsigrok project. | |
3 | * | |
4 | * Copyright (C) 2014 Bert Vermeulen <bert@biot.com> | |
5 | * | |
6 | * This program is free software: you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License as published by | |
8 | * the Free Software Foundation, either version 3 of the License, or | |
9 | * (at your option) any later version. | |
10 | * | |
11 | * This program is distributed in the hope that it will be useful, | |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | * GNU General Public License for more details. | |
15 | * | |
16 | * You should have received a copy of the GNU General Public License | |
17 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | */ | |
19 | ||
20 | #include "libsigrok.h" | |
21 | #include "libsigrok-internal.h" | |
22 | ||
23 | /** @cond PRIVATE */ | |
24 | #ifdef HAVE_HW_AGILENT_DMM | |
25 | extern SR_PRIV struct sr_dev_driver agdmm_driver_info; | |
26 | #endif | |
27 | #ifdef HAVE_HW_APPA_55II | |
28 | extern SR_PRIV struct sr_dev_driver appa_55ii_driver_info; | |
29 | #endif | |
30 | #ifdef HAVE_HW_ASIX_SIGMA | |
31 | extern SR_PRIV struct sr_dev_driver asix_sigma_driver_info; | |
32 | #endif | |
33 | #ifdef HAVE_HW_ATTEN_PPS3XXX | |
34 | extern SR_PRIV struct sr_dev_driver atten_pps3203_driver_info; | |
35 | #endif | |
dfaee1de BG |
36 | #ifdef HAVE_HW_BAYLIBRE_ACME |
37 | extern SR_PRIV struct sr_dev_driver baylibre_acme_driver_info; | |
38 | #endif | |
bb993797 KA |
39 | #ifdef HAVE_HW_BEAGLELOGIC |
40 | extern SR_PRIV struct sr_dev_driver beaglelogic_driver_info; | |
41 | #endif | |
5d8c55f9 BV |
42 | #ifdef HAVE_HW_BRYMEN_BM86X |
43 | extern SR_PRIV struct sr_dev_driver brymen_bm86x_driver_info; | |
44 | #endif | |
45 | #ifdef HAVE_HW_BRYMEN_DMM | |
46 | extern SR_PRIV struct sr_dev_driver brymen_bm857_driver_info; | |
47 | #endif | |
48 | #ifdef HAVE_HW_CEM_DT_885X | |
49 | extern SR_PRIV struct sr_dev_driver cem_dt_885x_driver_info; | |
50 | #endif | |
51 | #ifdef HAVE_HW_CENTER_3XX | |
52 | extern SR_PRIV struct sr_dev_driver center_309_driver_info; | |
53 | extern SR_PRIV struct sr_dev_driver voltcraft_k204_driver_info; | |
54 | #endif | |
55 | #ifdef HAVE_HW_CHRONOVU_LA | |
56 | extern SR_PRIV struct sr_dev_driver chronovu_la_driver_info; | |
57 | #endif | |
58 | #ifdef HAVE_HW_COLEAD_SLM | |
59 | extern SR_PRIV struct sr_dev_driver colead_slm_driver_info; | |
60 | #endif | |
61 | #ifdef HAVE_HW_CONRAD_DIGI_35_CPU | |
62 | extern SR_PRIV struct sr_dev_driver conrad_digi_35_cpu_driver_info; | |
63 | #endif | |
64 | #ifdef HAVE_HW_DEMO | |
65 | extern SR_PRIV struct sr_dev_driver demo_driver_info; | |
66 | #endif | |
b5089195 JH |
67 | #ifdef HAVE_HW_DEREE_DE5000 |
68 | extern SR_PRIV struct sr_dev_driver deree_de5000_driver_info; | |
69 | #endif | |
5d8c55f9 BV |
70 | #ifdef HAVE_HW_FLUKE_DMM |
71 | extern SR_PRIV struct sr_dev_driver flukedmm_driver_info; | |
72 | #endif | |
73 | #ifdef HAVE_HW_FX2LAFW | |
74 | extern SR_PRIV struct sr_dev_driver fx2lafw_driver_info; | |
75 | #endif | |
76 | #ifdef HAVE_HW_GMC_MH_1X_2X | |
77 | extern SR_PRIV struct sr_dev_driver gmc_mh_1x_2x_rs232_driver_info; | |
78 | extern SR_PRIV struct sr_dev_driver gmc_mh_2x_bd232_driver_info; | |
79 | #endif | |
80 | #ifdef HAVE_HW_HAMEG_HMO | |
81 | extern SR_PRIV struct sr_dev_driver hameg_hmo_driver_info; | |
82 | #endif | |
83 | #ifdef HAVE_HW_HANTEK_DSO | |
84 | extern SR_PRIV struct sr_dev_driver hantek_dso_driver_info; | |
85 | #endif | |
86 | #ifdef HAVE_HW_IKALOGIC_SCANALOGIC2 | |
87 | extern SR_PRIV struct sr_dev_driver ikalogic_scanalogic2_driver_info; | |
88 | #endif | |
89 | #ifdef HAVE_HW_IKALOGIC_SCANAPLUS | |
90 | extern SR_PRIV struct sr_dev_driver ikalogic_scanaplus_driver_info; | |
91 | #endif | |
92 | #ifdef HAVE_HW_KECHENG_KC_330B | |
93 | extern SR_PRIV struct sr_dev_driver kecheng_kc_330b_driver_info; | |
94 | #endif | |
95 | #ifdef HAVE_HW_LASCAR_EL_USB | |
96 | extern SR_PRIV struct sr_dev_driver lascar_el_usb_driver_info; | |
97 | #endif | |
98 | #ifdef HAVE_HW_LINK_MSO19 | |
99 | extern SR_PRIV struct sr_dev_driver link_mso19_driver_info; | |
100 | #endif | |
101 | #ifdef HAVE_HW_MANSON_HCS_3XXX | |
102 | extern SR_PRIV struct sr_dev_driver manson_hcs_3xxx_driver_info; | |
103 | #endif | |
104 | #ifdef HAVE_HW_MIC_985XX | |
105 | extern SR_PRIV struct sr_dev_driver mic_98581_driver_info; | |
106 | extern SR_PRIV struct sr_dev_driver mic_98583_driver_info; | |
107 | #endif | |
108 | #ifdef HAVE_HW_MOTECH_LPS_30X | |
109 | extern SR_PRIV struct sr_dev_driver motech_lps_301_driver_info; | |
110 | #endif | |
111 | #ifdef HAVE_HW_NORMA_DMM | |
112 | extern SR_PRIV struct sr_dev_driver norma_dmm_driver_info; | |
113 | extern SR_PRIV struct sr_dev_driver siemens_b102x_driver_info; | |
114 | #endif | |
115 | #ifdef HAVE_HW_OPENBENCH_LOGIC_SNIFFER | |
116 | extern SR_PRIV struct sr_dev_driver ols_driver_info; | |
117 | #endif | |
4bd80e12 | 118 | #ifdef HAVE_HW_PIPISTRELLO_OLS |
119 | extern SR_PRIV struct sr_dev_driver p_ols_driver_info; | |
120 | #endif | |
5d8c55f9 BV |
121 | #ifdef HAVE_HW_RIGOL_DS |
122 | extern SR_PRIV struct sr_dev_driver rigol_ds_driver_info; | |
123 | #endif | |
124 | #ifdef HAVE_HW_SALEAE_LOGIC16 | |
125 | extern SR_PRIV struct sr_dev_driver saleae_logic16_driver_info; | |
126 | #endif | |
ca1a7cb5 BV |
127 | #ifdef HAVE_HW_SCPI_PPS |
128 | extern SR_PRIV struct sr_dev_driver scpi_pps_driver_info; | |
129 | #endif | |
5d8c55f9 | 130 | #ifdef HAVE_HW_SERIAL_DMM |
bcbef5ed | 131 | extern SR_PRIV struct sr_dev_driver *serial_dmm_drivers[]; |
5d8c55f9 BV |
132 | #endif |
133 | #ifdef HAVE_HW_SYSCLK_LWLA | |
134 | extern SR_PRIV struct sr_dev_driver sysclk_lwla_driver_info; | |
135 | #endif | |
136 | #ifdef HAVE_HW_TELEINFO | |
137 | extern SR_PRIV struct sr_dev_driver teleinfo_driver_info; | |
138 | #endif | |
139 | #ifdef HAVE_HW_TESTO | |
140 | extern SR_PRIV struct sr_dev_driver testo_driver_info; | |
141 | #endif | |
142 | #ifdef HAVE_HW_TONDAJ_SL_814 | |
143 | extern SR_PRIV struct sr_dev_driver tondaj_sl_814_driver_info; | |
144 | #endif | |
145 | #ifdef HAVE_HW_UNI_T_DMM | |
146 | extern SR_PRIV struct sr_dev_driver tecpel_dmm_8061_driver_info; | |
f3cde309 | 147 | extern SR_PRIV struct sr_dev_driver uni_t_ut372_driver_info; |
5d8c55f9 BV |
148 | extern SR_PRIV struct sr_dev_driver uni_t_ut60a_driver_info; |
149 | extern SR_PRIV struct sr_dev_driver uni_t_ut60e_driver_info; | |
150 | extern SR_PRIV struct sr_dev_driver uni_t_ut60g_driver_info; | |
151 | extern SR_PRIV struct sr_dev_driver uni_t_ut61b_driver_info; | |
152 | extern SR_PRIV struct sr_dev_driver uni_t_ut61c_driver_info; | |
153 | extern SR_PRIV struct sr_dev_driver uni_t_ut61d_driver_info; | |
154 | extern SR_PRIV struct sr_dev_driver uni_t_ut61e_driver_info; | |
8769478c UH |
155 | extern SR_PRIV struct sr_dev_driver uni_t_ut71a_driver_info; |
156 | extern SR_PRIV struct sr_dev_driver uni_t_ut71b_driver_info; | |
157 | extern SR_PRIV struct sr_dev_driver uni_t_ut71c_driver_info; | |
158 | extern SR_PRIV struct sr_dev_driver uni_t_ut71d_driver_info; | |
159 | extern SR_PRIV struct sr_dev_driver uni_t_ut71e_driver_info; | |
5d8c55f9 BV |
160 | extern SR_PRIV struct sr_dev_driver voltcraft_vc820_driver_info; |
161 | extern SR_PRIV struct sr_dev_driver voltcraft_vc830_driver_info; | |
162 | extern SR_PRIV struct sr_dev_driver voltcraft_vc840_driver_info; | |
c36f78f7 | 163 | extern SR_PRIV struct sr_dev_driver voltcraft_vc870_driver_info; |
8769478c UH |
164 | extern SR_PRIV struct sr_dev_driver voltcraft_vc920_driver_info; |
165 | extern SR_PRIV struct sr_dev_driver voltcraft_vc940_driver_info; | |
166 | extern SR_PRIV struct sr_dev_driver voltcraft_vc960_driver_info; | |
5d8c55f9 BV |
167 | extern SR_PRIV struct sr_dev_driver tenma_72_7745_driver_info; |
168 | extern SR_PRIV struct sr_dev_driver tenma_72_7750_driver_info; | |
169 | #endif | |
170 | #ifdef HAVE_HW_UNI_T_UT32X | |
171 | extern SR_PRIV struct sr_dev_driver uni_t_ut32x_driver_info; | |
172 | #endif | |
173 | #ifdef HAVE_HW_VICTOR_DMM | |
174 | extern SR_PRIV struct sr_dev_driver victor_dmm_driver_info; | |
175 | #endif | |
10763937 SA |
176 | #ifdef HAVE_HW_YOKOGAWA_DLM |
177 | extern SR_PRIV struct sr_dev_driver yokogawa_dlm_driver_info; | |
178 | #endif | |
5d8c55f9 BV |
179 | #ifdef HAVE_HW_ZEROPLUS_LOGIC_CUBE |
180 | extern SR_PRIV struct sr_dev_driver zeroplus_logic_cube_driver_info; | |
181 | #endif | |
182 | ||
9e60a31f ML |
183 | #define DRVS struct sr_dev_driver *[] |
184 | ||
185 | SR_PRIV struct sr_dev_driver **drivers_lists[] = { | |
5d8c55f9 | 186 | #ifdef HAVE_HW_AGILENT_DMM |
9e60a31f | 187 | (DRVS) {&agdmm_driver_info, NULL}, |
5d8c55f9 BV |
188 | #endif |
189 | #ifdef HAVE_HW_APPA_55II | |
9e60a31f | 190 | (DRVS) {&appa_55ii_driver_info, NULL}, |
5d8c55f9 BV |
191 | #endif |
192 | #ifdef HAVE_HW_ASIX_SIGMA | |
9e60a31f | 193 | (DRVS) {&asix_sigma_driver_info, NULL}, |
5d8c55f9 BV |
194 | #endif |
195 | #ifdef HAVE_HW_ATTEN_PPS3XXX | |
9e60a31f | 196 | (DRVS) {&atten_pps3203_driver_info, NULL}, |
5d8c55f9 | 197 | #endif |
dfaee1de | 198 | #ifdef HAVE_HW_BAYLIBRE_ACME |
9e60a31f | 199 | (DRVS) {&baylibre_acme_driver_info, NULL}, |
dfaee1de | 200 | #endif |
bb993797 | 201 | #ifdef HAVE_HW_BEAGLELOGIC |
9e60a31f | 202 | (DRVS) {&beaglelogic_driver_info, NULL}, |
bb993797 | 203 | #endif |
5d8c55f9 | 204 | #ifdef HAVE_HW_BRYMEN_BM86X |
9e60a31f | 205 | (DRVS) {&brymen_bm86x_driver_info, NULL}, |
5d8c55f9 BV |
206 | #endif |
207 | #ifdef HAVE_HW_BRYMEN_DMM | |
9e60a31f | 208 | (DRVS) {&brymen_bm857_driver_info, NULL}, |
5d8c55f9 BV |
209 | #endif |
210 | #ifdef HAVE_HW_CEM_DT_885X | |
9e60a31f | 211 | (DRVS) {&cem_dt_885x_driver_info, NULL}, |
5d8c55f9 BV |
212 | #endif |
213 | #ifdef HAVE_HW_CENTER_3XX | |
9e60a31f ML |
214 | (DRVS) { |
215 | ¢er_309_driver_info, | |
216 | &voltcraft_k204_driver_info, | |
1a863916 UH |
217 | NULL |
218 | }, | |
5d8c55f9 BV |
219 | #endif |
220 | #ifdef HAVE_HW_CHRONOVU_LA | |
9e60a31f | 221 | (DRVS) {&chronovu_la_driver_info, NULL}, |
5d8c55f9 BV |
222 | #endif |
223 | #ifdef HAVE_HW_COLEAD_SLM | |
9e60a31f | 224 | (DRVS) {&colead_slm_driver_info, NULL}, |
5d8c55f9 BV |
225 | #endif |
226 | #ifdef HAVE_HW_CONRAD_DIGI_35_CPU | |
9e60a31f | 227 | (DRVS) {&conrad_digi_35_cpu_driver_info, NULL}, |
5d8c55f9 BV |
228 | #endif |
229 | #ifdef HAVE_HW_DEMO | |
9e60a31f | 230 | (DRVS) {&demo_driver_info, NULL}, |
5d8c55f9 | 231 | #endif |
b5089195 | 232 | #ifdef HAVE_HW_DEREE_DE5000 |
9e60a31f | 233 | (DRVS) {&deree_de5000_driver_info, NULL}, |
b5089195 | 234 | #endif |
5d8c55f9 | 235 | #ifdef HAVE_HW_FLUKE_DMM |
9e60a31f | 236 | (DRVS) {&flukedmm_driver_info, NULL}, |
5d8c55f9 BV |
237 | #endif |
238 | #ifdef HAVE_HW_FX2LAFW | |
9e60a31f | 239 | (DRVS) {&fx2lafw_driver_info, NULL}, |
5d8c55f9 BV |
240 | #endif |
241 | #ifdef HAVE_HW_GMC_MH_1X_2X | |
9e60a31f ML |
242 | (DRVS) { |
243 | &gmc_mh_1x_2x_rs232_driver_info, | |
244 | &gmc_mh_2x_bd232_driver_info, | |
1a863916 UH |
245 | NULL |
246 | }, | |
5d8c55f9 BV |
247 | #endif |
248 | #ifdef HAVE_HW_HAMEG_HMO | |
9e60a31f | 249 | (DRVS) {&hameg_hmo_driver_info, NULL}, |
5d8c55f9 BV |
250 | #endif |
251 | #ifdef HAVE_HW_HANTEK_DSO | |
9e60a31f | 252 | (DRVS) {&hantek_dso_driver_info, NULL}, |
5d8c55f9 BV |
253 | #endif |
254 | #ifdef HAVE_HW_IKALOGIC_SCANALOGIC2 | |
9e60a31f | 255 | (DRVS) {&ikalogic_scanalogic2_driver_info, NULL}, |
5d8c55f9 BV |
256 | #endif |
257 | #ifdef HAVE_HW_IKALOGIC_SCANAPLUS | |
9e60a31f | 258 | (DRVS) {&ikalogic_scanaplus_driver_info, NULL}, |
5d8c55f9 BV |
259 | #endif |
260 | #ifdef HAVE_HW_KECHENG_KC_330B | |
9e60a31f | 261 | (DRVS) {&kecheng_kc_330b_driver_info, NULL}, |
5d8c55f9 BV |
262 | #endif |
263 | #ifdef HAVE_HW_LASCAR_EL_USB | |
9e60a31f | 264 | (DRVS) {&lascar_el_usb_driver_info, NULL}, |
5d8c55f9 BV |
265 | #endif |
266 | #ifdef HAVE_HW_LINK_MSO19 | |
9e60a31f | 267 | (DRVS) {&link_mso19_driver_info, NULL}, |
5d8c55f9 BV |
268 | #endif |
269 | #ifdef HAVE_HW_MANSON_HCS_3XXX | |
9e60a31f | 270 | (DRVS) {&manson_hcs_3xxx_driver_info, NULL}, |
5d8c55f9 BV |
271 | #endif |
272 | #ifdef HAVE_HW_MIC_985XX | |
9e60a31f ML |
273 | (DRVS) { |
274 | &mic_98581_driver_info, | |
275 | &mic_98583_driver_info, | |
1a863916 UH |
276 | NULL |
277 | }, | |
5d8c55f9 BV |
278 | #endif |
279 | #ifdef HAVE_HW_MOTECH_LPS_30X | |
9e60a31f | 280 | (DRVS) {&motech_lps_301_driver_info, NULL}, |
5d8c55f9 BV |
281 | #endif |
282 | #ifdef HAVE_HW_NORMA_DMM | |
9e60a31f ML |
283 | (DRVS) { |
284 | &norma_dmm_driver_info, | |
285 | &siemens_b102x_driver_info, | |
1a863916 UH |
286 | NULL |
287 | }, | |
5d8c55f9 BV |
288 | #endif |
289 | #ifdef HAVE_HW_OPENBENCH_LOGIC_SNIFFER | |
9e60a31f | 290 | (DRVS) {&ols_driver_info, NULL}, |
5d8c55f9 | 291 | #endif |
4bd80e12 | 292 | #ifdef HAVE_HW_PIPISTRELLO_OLS |
9e60a31f | 293 | (DRVS) {&p_ols_driver_info, NULL}, |
4bd80e12 | 294 | #endif |
5d8c55f9 | 295 | #ifdef HAVE_HW_RIGOL_DS |
9e60a31f | 296 | (DRVS) {&rigol_ds_driver_info, NULL}, |
5d8c55f9 BV |
297 | #endif |
298 | #ifdef HAVE_HW_SALEAE_LOGIC16 | |
9e60a31f | 299 | (DRVS) {&saleae_logic16_driver_info, NULL}, |
5d8c55f9 | 300 | #endif |
ca1a7cb5 | 301 | #ifdef HAVE_HW_SCPI_PPS |
9e60a31f | 302 | (DRVS) {&scpi_pps_driver_info, NULL}, |
ca1a7cb5 | 303 | #endif |
5d8c55f9 | 304 | #ifdef HAVE_HW_SERIAL_DMM |
bcbef5ed | 305 | serial_dmm_drivers, |
5d8c55f9 BV |
306 | #endif |
307 | #ifdef HAVE_HW_SYSCLK_LWLA | |
9e60a31f | 308 | (DRVS) {&sysclk_lwla_driver_info, NULL}, |
5d8c55f9 BV |
309 | #endif |
310 | #ifdef HAVE_HW_TELEINFO | |
9e60a31f | 311 | (DRVS) {&teleinfo_driver_info, NULL}, |
5d8c55f9 BV |
312 | #endif |
313 | #ifdef HAVE_HW_TESTO | |
9e60a31f | 314 | (DRVS) {&testo_driver_info, NULL}, |
5d8c55f9 BV |
315 | #endif |
316 | #ifdef HAVE_HW_TONDAJ_SL_814 | |
9e60a31f | 317 | (DRVS) {&tondaj_sl_814_driver_info, NULL}, |
5d8c55f9 BV |
318 | #endif |
319 | #ifdef HAVE_HW_UNI_T_DMM | |
9e60a31f ML |
320 | (DRVS) { |
321 | &tecpel_dmm_8061_driver_info, | |
322 | &uni_t_ut372_driver_info, | |
323 | &uni_t_ut60a_driver_info, | |
324 | &uni_t_ut60e_driver_info, | |
325 | &uni_t_ut60g_driver_info, | |
326 | &uni_t_ut61b_driver_info, | |
327 | &uni_t_ut61c_driver_info, | |
328 | &uni_t_ut61d_driver_info, | |
329 | &uni_t_ut61e_driver_info, | |
330 | &uni_t_ut71a_driver_info, | |
331 | &uni_t_ut71b_driver_info, | |
332 | &uni_t_ut71c_driver_info, | |
333 | &uni_t_ut71d_driver_info, | |
334 | &uni_t_ut71e_driver_info, | |
335 | &voltcraft_vc820_driver_info, | |
336 | &voltcraft_vc830_driver_info, | |
337 | &voltcraft_vc840_driver_info, | |
338 | &voltcraft_vc870_driver_info, | |
339 | &voltcraft_vc920_driver_info, | |
340 | &voltcraft_vc940_driver_info, | |
341 | &voltcraft_vc960_driver_info, | |
342 | &tenma_72_7745_driver_info, | |
343 | &tenma_72_7750_driver_info, | |
1a863916 UH |
344 | NULL |
345 | }, | |
5d8c55f9 BV |
346 | #endif |
347 | #ifdef HAVE_HW_UNI_T_UT32X | |
9e60a31f | 348 | (DRVS) {&uni_t_ut32x_driver_info, NULL}, |
5d8c55f9 BV |
349 | #endif |
350 | #ifdef HAVE_HW_VICTOR_DMM | |
9e60a31f | 351 | (DRVS) {&victor_dmm_driver_info, NULL}, |
5d8c55f9 | 352 | #endif |
10763937 | 353 | #ifdef HAVE_HW_YOKOGAWA_DLM |
9e60a31f | 354 | (DRVS) {&yokogawa_dlm_driver_info, NULL}, |
10763937 | 355 | #endif |
5d8c55f9 | 356 | #ifdef HAVE_HW_ZEROPLUS_LOGIC_CUBE |
9e60a31f | 357 | (DRVS) {&zeroplus_logic_cube_driver_info, NULL}, |
5d8c55f9 BV |
358 | #endif |
359 | NULL, | |
360 | }; | |
361 | /** @endcond */ |