Changeset 19966

Show
Ignore:
Timestamp:
04/21/07 11:10:57 (1 year ago)
Author:
patrick
Message:

Added a driver for the noDNA X-IST device. This was originally submitted by
Damien Touraine, and I modified the code to conform to the Juggler coding
standard and to use exception handling to determine if the sampling thread
spawns correctly.

NOTE: I have not tried compiling this driver yet because I need to track
down the FTD2XX software on which it depends.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • juggler/trunk/modules/gadgeteer/drivers/Makefile.in

    r19958 r19966  
    149149        USDigital/SerialEncoder         \ 
    150150        VRCO/TrackdAPI                  \ 
    151         VirtualTechnologies/CyberGlove 
     151        VirtualTechnologies/CyberGlove  \ 
     152        noDNA/X-IST 
    152153 
    153154# ============================================================================= 
  • juggler/trunk/modules/gadgeteer/drivers/configure.ac

    r19958 r19966  
    7979            _with_vrpn="$withval", _with_vrpn='no') 
    8080 
     81# Build with ftd2xx path. Then, include the X-IST drivers ... 
     82# There is default path. 
     83AC_ARG_WITH(ftd2xx, [  --with-ftd2xx=<PATH>    ftd2xx installation], 
     84            _with_ftd2xx="$withval", _with_ftd2xx='no') 
     85 
    8186# Build with libusb path. Then, include the P5Gove drivers ... 
    8287# There is default path. 
     
    292297        _vjsave_LIBS="$LIBS" 
    293298 
    294         # Based on the default ABI, tell $DTK_CONFIG  
     299        # Based on the default ABI, tell $DTK_CONFIG 
    295300        if test "x$ABI" = "xN32" ; then 
    296301            bits='n32' 
     
    341346 
    342347# ----------------------------------------------------------------------------- 
    343 # VRPN  
     348# VRPN 
    344349# ----------------------------------------------------------------------------- 
    345350 
     
    358363 
    359364   VRPN_INCLUDES="-I$VRPNROOT/quat -I$VRPNROOT/vrpn" 
    360 #   VRPN_INCLUDES="-I$VRPNROOT/vrpn"   
     365#   VRPN_INCLUDES="-I$VRPNROOT/vrpn" 
    361366 
    362367   if test "x$OS_TYPE" = "xWin32" ; then 
     
    396401      VRPNLIBDIR='sgi_irix' 
    397402      if test "x$ABI" = "xN32" ; then 
    398          VRPNLIBDIR="$VRPNLIBDIR.n32"   
     403         VRPNLIBDIR="$VRPNLIBDIR.n32" 
    399404      elif test "x$ABI" = "x64" ; then 
    400          VRPNLIBDIR="$VRPNLIBDIR.64"    
     405         VRPNLIBDIR="$VRPNLIBDIR.64" 
    401406      fi 
    402407 
    403408      if test "x$ISA" = "xmips3" ; then 
    404          VRPNLIBDIR="$VRPNLIBDIR.mips3"         
     409         VRPNLIBDIR="$VRPNLIBDIR.mips3" 
    405410      elif test "x$ISA" = "xmips4" ; then 
    406          VRPNLIBDIR="$VRPNLIBDIR.mips4"         
     411         VRPNLIBDIR="$VRPNLIBDIR.mips4" 
    407412      fi 
    408413   fi 
     
    444449# include <vrpn_Button.h> 
    445450# ], 
    446 # [vrpn_Button_Remote * b = new vrpn_Button_Remote("");],  
     451# [vrpn_Button_Remote * b = new vrpn_Button_Remote("");], 
    447452#                        [ vj_have_vrpn='yes' 
    448453#                          rm -rf ./ii_files ], 
     
    468473    LDFLAGS="${_vjsave_LDFLAGS}" 
    469474    LIBS="${_vjsave_LIBS}" 
     475fi 
     476 
     477# ----------------------------------------------------------------------------- 
     478# FTD2XX 
     479# ----------------------------------------------------------------------------- 
     480 
     481# Test for the ftd2xx library 
     482if test "x${_with_ftd2xx}" != "xno" ; then 
     483   if test "x${_with_ftd2xx}" = "xyes" ; then 
     484      FTD2XX_ROOT="/usr/local" 
     485   else 
     486      FTD2XX_ROOT="${_with_ftd2xx}" 
     487   fi 
     488 
     489   _gadget_save_CFLAGS="$CFLAGS" 
     490   _gadget_save_CPPFLAGS="$CPPFLAGS" 
     491   _gadget_save_LDFLAGS="$LDFLAGS" 
     492   _gadget_save_LIBS="$LIBS" 
     493 
     494   FTD2XX_LIBDIR="$FTD2XX_ROOT/lib" 
     495 
     496   FTD2XX_INCLUDES="-I$FTD2XX_ROOT/include" 
     497   FTD2XX_LDFLAGS="-L$FTD2XX_LIBDIR" 
     498   FTD2XX_LIBS="-lftd2xx" 
     499 
     500   CPPFLAGS="$FTD2XX_INCLUDES $CPPFLAGS" 
     501   LDFLAGS="$FTD2XX_LDFLAGS $LDFLAGS" 
     502 
     503   gadget_have_ftd2xx='no' 
     504 
     505   DPP_LANG_SAVE 
     506   DPP_LANG_C 
     507 
     508   CPPFLAGS="$CPPFLAGS $STDFLAGS" 
     509 
     510   AC_CHECK_LIB([ftd2xx], [FT_ListDevices], 
     511                [AC_CHECK_HEADER([ftd2xx.h], [gadget_have_ftd2xx='yes'], 
     512                                 [gadget_have_ftd2xx='no'])], 
     513                [gadget_have_ftd2xx='no']) 
     514 
     515   DPP_LANG_RESTORE 
     516 
     517   if test "x$gadget_have_ftd2xx" = "xyes" ; then 
     518      HAVE_FTD2XX='Y' 
     519   else 
     520      HAVE_FTD2XX='N' 
     521      AC_MSG_WARN([*** Did not find FTD2XX in $FTD2XX_ROOT ***]) 
     522   fi 
     523 
     524   CFLAGS="${_gadget_save_CFLAGS}" 
     525   CPPFLAGS="${_gadget_save_CPPFLAGS}" 
     526   LDFLAGS="${_gadget_save_LDFLAGS}" 
     527   LIBS="${_gadget_save_LIBS}" 
    470528fi 
    471529 
     
    666724AC_SUBST(VRPNROOT) 
    667725AC_SUBST(VRPN_LDFLAGS) 
     726 
     727AC_SUBST(HAVE_FTD2XX) 
     728AC_SUBST(FTD2XX_ROOT) 
     729AC_SUBST(FTD2XX_INCLUDES) 
     730AC_SUBST(FTD2XX_LDFLAGS) 
     731AC_SUBST(FTD2XX_LIBS) 
    668732 
    669733AC_SUBST(HAVE_LIBUSB) 
     
    727791   ]) 
    728792 
     793#   noDNA/Makefile 
     794#   noDNA/X-IST/Makefile 
    729795AC_OUTPUT