Giter Club home page Giter Club logo

intan_clamp's Introduction

Intan CLAMP Interface Software - Source Code (v1.0)
---------------------------------------------------

This directory contains the Intan CLAMP Interface C++/Qt source code and two supporting files: main.bit
(the FPGA configuration file) and an operating system-specific Opal Kelly library file located in
the 'Opal Kelly library files' directory.

These two supporting files must reside in the directory with the executable file (i.e., the 'debug'
or 'release' folder generated when the code is compiled).  To find the executable directory on
a Mac, right-click on the *.app file generated by Qt, select "Show package contents", and open the
"MacOS" directory.  (Note: Some Mac users have reported that these two files must be
placed in the in same directory as the application instead.)

You should also download and install the USB drivers from the Intan Technologies website before
connecting the CLAMP Controller to a computer.  (They are not included in this zip file.)

The C++ source code uses a handful of C++11 features, so g++ users may need to add -std=c++11 to their 
command line or make file.

This code is written and tested with Qt-4.8.6, not the current version, so you may need to download 
the older version.  On Windows, this means downloading and then recompiling with your current version 
of Visual Studio, as the distributed versions of Qt-4.8.6 were compiled with older versions of Visual Studio.

For production code, you should compile a Release build (Visual Studio) or use the optimization flag
-O3 (g++).  Otherwise, the compiled code may not be fast enough to keep up with how fast data streams
from the USB interface board.  This will show up as the FIFO lag becoming very high for debug builds.

(Thanks to Josh Siegle at MIT and Open-Ephys.org for tips on Mac and Linux compilation.) 

Other Linux tips
----------------
Copy the libokFrontPanel.so file into the source folder.
Add the following line to the .pro file:
	unix:LIBS += -L./ -l okFrontPanel -ldl
Run qmake on the .pro file, and then make.


Other tips on Mac compilation
-----------------------------

In principle, the CLAMP software will run on a Mac. However, a couple of tweaks are necessary.
This description is based on exprience using two different machines running MacOSX 10.9

1) Install XCode

2) Install Qt5.2.1 (Make sure to install XCode first)

3) Modify the QT line in the .pro file to read
	QT  += widgets multimedia

4) Fix library issue as described here:
   http://stackoverflow.com/questions/20342896/solved-qt5-1-qt5-2-mac-os-10-9-mavericks-xcode-5-0-2-undefined-symbols

   in /Qt5.2.1/5.2.1/clang_64/mkspecs/macx-clang/qmake.conf  (or similar)
   change QMAKE_MACOSX_DEPLYOMENT_TARGET from 10.6 to 10.9



-------------------------------------------------------------------------

Some users have reported that it is necessary to install Qt with 32-bit support for the 
okFrontPanel DLL to load properly.  But this was with an older version of the code
code that didn't support 64-bit, so it may not apply any more.



License
-------

The Intan CLAMP Interface is free software, and is distributed under the terms of the GNU Lesser
General Public License as published by the Free Software Foundation.  See the license subdirectory
for the complete license.


Recommended C++/Qt Resources
----------------------------

The source code is written entirely in C++ using the open-source Qt libraries for multi-platform GUI
support. (The files composing the core CLAMP API are written in straight C++ without using Qt.)

There are countless books and other online resources related to C++ programming, so these will not
be discussed here. For C++ programmers new to Qt, the best place to start is http://qt-project.org.
We recommend downloading the Qt SDK (Software Design Kit) including Qt Creator, Qt Assistant, and the
latest Qt libraries for the operating system of choice.

The best book we have found for first-time Qt programmers is C++ GUI Programming with Qt 4, Second
Edition, by Jasmin Blanchette and Mark Summerfield (ISBN 0-13-235416-0). Chapters 1-8 and 11-12, along
with Appendices A and B, cover nearly all the aspects of Qt used in the CLAMP interface GUI. The
library documentation available in the Qt Assistant application is also excellent and indispensable.


Related CLAMP Documentation
-----------------------------

The following supporting datasheets provide detailed information on the operation of the Intan Technologies
CLAMP series voltage/current clamp amplifier chips; they may be found on the Intan Technologies
website, http://www.intantech.com:

* CLAMP System user guide
* CLAMP chip datasheet



intan_clamp's People

Contributors

jvoigts avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.