From 695f32d89d678b20896e34affc74b4363b686387 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Fri, 26 Apr 2013 10:47:34 +0200 Subject: [PATCH] Bring back link-mso19/nexus-osciprime for now. This patch will be re-introduced later. --- README | 1 + README.devices | 16 ++++++++++++++++ configure.ac | 32 +++++++++++++++++++++++++++++++- hardware/Makefile.am | 10 ++++++++++ hwdriver.c | 12 ++++++++++++ 5 files changed, 70 insertions(+), 1 deletion(-) diff --git a/README b/README index 8888cf1e..a47a3953 100644 --- a/README +++ b/README @@ -38,6 +38,7 @@ Requirements - libzip >= 0.8 - libusb-1.0 >= 1.0.9 (optional, used by most drivers) - libftdi >= 0.16 (optional, used by some drivers) + - libudev >= 151 (optional, used by some drivers) - libasound / alsa-lib >= 1.0 (optional, only used by the alsa driver) - check >= 0.9.4 (optional, only needed to run unit tests) diff --git a/README.devices b/README.devices index 95d92cc4..7bed85ba 100644 --- a/README.devices +++ b/README.devices @@ -42,6 +42,9 @@ The following drivers/devices require a firmware upload upon connection: These can be extracted from the vendor's Windows drivers using a tool from our 'sigrok-util' repository/project. + - nexus-osciprime: The Nexus Computing OsciPrime PC oscilloscope needs + firmware files. These are available from the vendor website. + The following drivers/devices do not need any firmware upload: - agilent-dmm @@ -52,6 +55,7 @@ The following drivers/devices do not need any firmware upload: - demo - fluke-dmm - lascar-el-usb + - link-mso19 - mic-985xx - openbench-logic-sniffer - rigol-ds1xx2 @@ -82,7 +86,9 @@ The following drivers/devices require a serial port specification: - brymen-dmm - colead-slm - fluke-dmm + - link-mso19 - mic-985xx + - nexus-osciprime - openbench-logic-sniffer - serial-dmm - tondaj-sl-814 @@ -242,6 +248,16 @@ We might write additional drivers to make a similar functionality available on other OSes at some point. +Link Instruments MSO-19 +----------------------- + +The driver for the Link Instruments MSO-19 mixed-signal oscilloscope (MSO) +is currently using libudev (which is a library for the Linux-specific udev +system). Thus, this driver can currently only compile and work on Linux. + +We plan to fix this though, so that it'll work on all other OSes, too. + + ChronoVu LA8 USB VID/PIDs ------------------------- diff --git a/configure.ac b/configure.ac index aa93d7aa..26beda6c 100644 --- a/configure.ac +++ b/configure.ac @@ -139,11 +139,21 @@ AC_ARG_ENABLE(lascar-el-usb, AC_HELP_STRING([--enable-lascar-el-usb], [HW_LASCAR_EL_USB="$enableval"], [HW_LASCAR_EL_USB=$HW_ENABLED_DEFAULT]) +AC_ARG_ENABLE(link-mso19, AC_HELP_STRING([--enable-link-mso19], + [enable Link Instruments MSO-19 support [default=yes]]), + [LA_LINK_MSO19="$enableval"], + [LA_LINK_MSO19=$HW_ENABLED_DEFAULT]) + AC_ARG_ENABLE(mic-985xx, AC_HELP_STRING([--enable-mic-985xx], [enable MIC 985xx support [default=yes]]), [HW_MIC_985XX="$enableval"], [HW_MIC_985XX=$HW_ENABLED_DEFAULT]) +AC_ARG_ENABLE(nexus-osciprime, AC_HELP_STRING([--enable-nexus-osciprime], + [enable Nexus Osciprime support [default=yes]]), + [HW_NEXUS_OSCIPRIME="$enableval"], + [HW_NEXUS_OSCIPRIME=$HW_ENABLED_DEFAULT]) + AC_ARG_ENABLE(ols, AC_HELP_STRING([--enable-ols], [enable OpenBench Logic Sniffer (OLS) support [default=yes]]), [LA_OLS="$enableval"], @@ -236,6 +246,12 @@ PKG_CHECK_MODULES([libftdi], [libftdi >= 0.16], SR_PKGLIBS="$SR_PKGLIBS libftdi"], [LA_ASIX_SIGMA="no"; LA_CHRONOVU_LA8="no"]) +# libudev is only needed for some hardware drivers. Disable them if not found. +PKG_CHECK_MODULES([libudev], [libudev >= 151], + [CFLAGS="$CFLAGS $libudev_CFLAGS"; LIBS="$LIBS $libudev_LIBS"; + SR_PKGLIBS="$SR_PKGLIBS libudev"], + [LA_LINK_MSO19="no"]) + # ALSA is only needed for some hardware drivers. Disable them if not found. PKG_CHECK_MODULES([alsa], [alsa >= 1.0], [CFLAGS="$CFLAGS $alsa_CFLAGS"; LIBS="$LIBS $alsa_LIBS"; @@ -322,11 +338,21 @@ if test "x$HW_LASCAR_EL_USB" = "xyes"; then AC_DEFINE(HAVE_HW_LASCAR_EL_USB, 1, [Lascar EL-USB support]) fi +AM_CONDITIONAL(LA_LINK_MSO19, test x$LA_LINK_MSO19 = xyes) +if test "x$LA_LINK_MSO19" = "xyes"; then + AC_DEFINE(HAVE_LA_LINK_MSO19, 1, [Link Instruments MSO-19 support]) +fi + AM_CONDITIONAL(HW_MIC_985XX, test x$HW_MIC_985XX = xyes) if test "x$HW_MIC_985XX" = "xyes"; then AC_DEFINE(HAVE_HW_MIC_985XX, 1, [MIC 985xx support]) fi +AM_CONDITIONAL(HW_NEXUS_OSCIPRIME, test x$HW_NEXUS_OSCIPRIME = xyes) +if test "x$HW_NEXUS_OSCIPRIME" = "xyes"; then + AC_DEFINE(HAVE_HW_NEXUS_OSCIPRIME, 1, [Nexus Osciprime support]) +fi + AM_CONDITIONAL(LA_OLS, test x$LA_OLS = xyes) if test "x$LA_OLS" = "xyes"; then AC_DEFINE(HAVE_LA_OLS, 1, [OpenBench Logic Sniffer (OLS) support]) @@ -405,6 +431,7 @@ AC_CONFIG_FILES([Makefile version.h hardware/Makefile hardware/common/Makefile hardware/lascar-el-usb/Makefile hardware/mic-985xx/Makefile + hardware/nexus-osciprime/Makefile hardware/rigol-ds1xx2/Makefile hardware/tondaj-sl-814/Makefile hardware/victor-dmm/Makefile @@ -413,6 +440,7 @@ AC_CONFIG_FILES([Makefile version.h hardware/Makefile hardware/fluke-dmm/Makefile hardware/fx2lafw/Makefile hardware/hantek-dso/Makefile + hardware/link-mso19/Makefile hardware/openbench-logic-sniffer/Makefile hardware/serial-dmm/Makefile hardware/uni-t-dmm/Makefile @@ -440,7 +468,7 @@ echo "Detected libraries:" echo # Note: This only works for libs with pkg-config integration. -for lib in "glib-2.0 >= 2.32.0" "libzip >= 0.8" "libusb-1.0 >= 1.0.9" "libftdi >= 0.16" "alsa >= 1.0" "check >= 0.9.4"; do +for lib in "glib-2.0 >= 2.32.0" "libzip >= 0.8" "libusb-1.0 >= 1.0.9" "libftdi >= 0.16" "libudev >= 151" "alsa >= 1.0" "check >= 0.9.4"; do if `$PKG_CONFIG --exists $lib`; then ver=`$PKG_CONFIG --modversion $lib` answer="yes ($ver)" @@ -462,7 +490,9 @@ echo " - fluke-dmm....................... $HW_FLUKE_DMM" echo " - fx2lafw......................... $LA_FX2LAFW" echo " - hantek-dso...................... $HW_HANTEK_DSO" echo " - lascar-el-usb................... $HW_LASCAR_EL_USB" +echo " - link-mso19...................... $LA_LINK_MSO19" echo " - mic-985xx....................... $HW_MIC_985XX" +echo " - nexus-osciprime................. $HW_NEXUS_OSCIPRIME" echo " - openbench-logic-sniffer......... $LA_OLS" echo " - rigol-ds1xx2.................... $HW_RIGOL_DS1XX2" echo " - serial-dmm...................... $HW_SERIAL_DMM" diff --git a/hardware/Makefile.am b/hardware/Makefile.am index bdf4a602..3c093b76 100644 --- a/hardware/Makefile.am +++ b/hardware/Makefile.am @@ -31,7 +31,9 @@ SUBDIRS = \ fx2lafw \ hantek-dso \ lascar-el-usb \ + link-mso19 \ mic-985xx \ + nexus-osciprime \ openbench-logic-sniffer \ rigol-ds1xx2 \ serial-dmm \ @@ -91,10 +93,18 @@ if HW_LASCAR_EL_USB libsigrokhardware_la_LIBADD += lascar-el-usb/libsigrok_hw_lascar_el_usb.la endif +if LA_LINK_MSO19 +libsigrokhardware_la_LIBADD += link-mso19/libsigrokhwlinkmso19.la +endif + if HW_MIC_985XX libsigrokhardware_la_LIBADD += mic-985xx/libsigrok_hw_mic_985xx.la endif +if HW_NEXUS_OSCIPRIME +libsigrokhardware_la_LIBADD += nexus-osciprime/libsigrok_hw_nexus_osciprime.la +endif + if LA_OLS libsigrokhardware_la_LIBADD += openbench-logic-sniffer/libsigrokhwols.la endif diff --git a/hwdriver.c b/hwdriver.c index aeb70766..c0381432 100644 --- a/hwdriver.c +++ b/hwdriver.c @@ -103,6 +103,9 @@ extern SR_PRIV struct sr_dev_driver lascar_el_usb_driver_info; extern SR_PRIV struct sr_dev_driver mic_98581_driver_info; extern SR_PRIV struct sr_dev_driver mic_98583_driver_info; #endif +#ifdef HAVE_HW_NEXUS_OSCIPRIME +extern SR_PRIV struct sr_dev_driver nexus_osciprime_driver_info; +#endif #ifdef HAVE_LA_OLS extern SR_PRIV struct sr_dev_driver ols_driver_info; #endif @@ -124,6 +127,9 @@ extern SR_PRIV struct sr_dev_driver asix_sigma_driver_info; #ifdef HAVE_LA_CHRONOVU_LA8 extern SR_PRIV struct sr_dev_driver chronovu_la8_driver_info; #endif +#ifdef HAVE_LA_LINK_MSO19 +extern SR_PRIV struct sr_dev_driver link_mso19_driver_info; +#endif #ifdef HAVE_HW_ALSA extern SR_PRIV struct sr_dev_driver alsa_driver_info; #endif @@ -179,6 +185,9 @@ static struct sr_dev_driver *drivers_list[] = { &mic_98581_driver_info, &mic_98583_driver_info, #endif +#ifdef HAVE_HW_NEXUS_OSCIPRIME + &nexus_osciprime_driver_info, +#endif #ifdef HAVE_LA_OLS &ols_driver_info, #endif @@ -200,6 +209,9 @@ static struct sr_dev_driver *drivers_list[] = { #ifdef HAVE_LA_CHRONOVU_LA8 &chronovu_la8_driver_info, #endif +#ifdef HAVE_LA_LINK_MSO19 + &link_mso19_driver_info, +#endif #ifdef HAVE_HW_ALSA &alsa_driver_info, #endif