| Overview of Whisker |
| Introduction |
| Citing Whisker |
| History, acknowledgements, bibliography |
| TROUBLESHOOTING - FAQ |
| Obtaining Whisker |
| Editions of Whisker |
| Ordering Whisker |
| Installing Whisker software |
| Software requirements |
| Software installation |
| Overview of installed software |
| Uninstalling Whisker |
| Upgrading to a new version of Whisker |
| Windows Vista and Whisker |
| HARDWARE installation |
| Introduction |
| Hardware requirements |
| Notes regarding large systems |
| DANGER - safety with critical devices |
| Fail-safe devices |
| Amplicon digital I/O hardware |
| Buying Amplicon digital I/O hardware |
| Installing Amplicon digital I/O hardware and drivers |
| PCI272 and PC272E digital I/O cards |
| EX233 distributor boards |
| EX213 relay output panels |
| EX230 optoisolator input panels |
| EX221 mixed input/output panels |
| Connecting everything up |
| Amplicon digital I/O board wiring map |
| University of Cambridge: Hubert's boxes (25-way connector style) |
| Technical note - Amplicon power-on behaviour |
| Technical note - input and output modes for Amplicon panels |
| Amplicon analogue I/O hardware |
| Buying Amplicon analogue hardware |
| PCI 224 analogue output card |
| PCI 230 analogue I/O card |
| Advantech I/O hardware |
| ICS Advent I/O hardware |
| ICS Advent PCDIO24B-P card |
| Technical notes on ICS Advent 82C55A cards |
| National Instruments / Lafayette ABET hardware |
| Serial port (COM) devices |
| Lafayette CANTAB USB device |
| Berlin network controller |
| Sound card installation |
| Multimonitor installation |
| Touchscreen installation |
| Intasolve Interact 400 |
| Configuring UPDD version 2 touchscreen drivers |
| Configuring UPDD version 3 touchscreen drivers |
| Configuring UPDD version 4.1.10 touchscreen drivers |
| Med Associates operant chambers |
| University of Cambridge: Hubert's boxes (25-way connector style) (copy) |
| Operant chamber power connections |
| Using the WhiskerServer console |
| Introduction |
| Editions of WhiskerServer |
| The Left-Hand Tree |
| Views pertaining to the server as a whole |
| Server status |
| Server event log |
| Digital line status |
| Analogue line status |
| Audio devices |
| Display devices |
| Physical display X - views of individual displays |
| Touchscreens |
| Clients |
| Views pertaining to individual clients |
| Information/status |
| Event log |
| Communications log |
| Timer events |
| Digital lines in use |
| Aliases for digital lines |
| Analogue lines in use |
| Aliases for analogue lines |
| Audio devices in use |
| Display devices in use |
| Views of individual displays |
| Display documents |
| Views of individual documents |
| The Menus |
| File |
| Edit |
| View |
| Configure hardware |
| Amplicon I/O hardware |
| Advantech / BNC controller I/O hardware |
| ICS Advent I/O hardware |
| National Instruments / Lafayette ABET hardware |
| Serial port (COM) devices |
| Configure Lafayette CANTAB USB hardware |
| Configure Berlin network I/O controller |
| Set server device definition file |
| Configure failsafe outputs |
| Set digital input alert threshold |
| Fake (debugging) I/O lines |
| Display devices |
| Touchscreens |
| Set UPDD v4 directory |
| Audio devices |
| Fake audio devices |
| Server |
| Set server priority within Windows |
| Set internal timer resolution |
| Set default multimedia resource folder |
| Logging behaviour |
| Video configuration |
| Client |
| Send debugging message to client |
| Line |
| Free (unpeg) all lines |
| Peg line on/off |
| Line details |
| Audio |
| Display |
| Touchscreen |
| Help |
| Keyboard shortcuts |
| Use of the registry by WhiskerServer |
| Performance considerations for Whisker |
| Tips for a fast computing experience |
| Auxiliary programs |
| WhiskerStatus |
| WebStatus |
| WhiskerTestClient |
| WhiskerReset |
| Whisker Database Manager |
| Open a database |
| Create (copy) and register a database |
| Copy a database |
| Register a database with ODBC |
| Open ODBC Manager |
| Update a database |
| Launch Windows Explorer |
| Edit ODBC registry 1 - user DSNs |
| Edit ODBC registry 2 - system and file DSNs |
| Programmer's Reference |
| Introduction |
| Technical description |
| Communicating with WhiskerServer |
| Communication: principles and message formats |
| Creating and connecting sockets |
| A dual-channel communication system: a general-purpose and an immediate-response socket |
| Network responsiveness |
| Technical notes on TCP/IP methods |
| SUMMARY OF WHISKER COMMANDS |
| Events: the core of the system |
| Exploring the system with WhiskerTestClient |
| A reminder about non-local machines |
| THE WHISKER COMMAND SET |
| The two-socket system |
| ImmPort |
| Code |
| Link |
| Messages sent by the server |
| Event |
| Info |
| KeyEvent |
| SyntaxError |
| Error |
| Fault |
| Warning |
| Ping |
| ClientMessage |
| Commands sent by the client |
| Digital I/O devices |
| LineClaim |
| LineSetState |
| LineReadState |
| LineSetEvent |
| LineSetAlias |
| LineSetSafetyTimer |
| LineClearSafetyTimer |
| LineClearEvent |
| LineClearEventByLine |
| LineClearAllEvents |
| LineRelinquishAll |
| Controlling groups of lines |
| Timer devices |
| TimerSetEvent |
| TimerClearEvent |
| TimerClearAllEvents |
| Audio devices |
| AudioClaim |
| AudioSetAlias |
| AudioRelinquishAll |
| AudioPlayFile |
| AudioLoadSound |
| AudioLoadTone |
| AudioPlaySound |
| AudioUnloadSound |
| AudioStopSound |
| AudioGetSoundLength |
| AudioSetSoundVolume |
| AudioSilenceDevice |
| AudioSilenceAllDevices |
| AudioUnloadAll |
| Multimedia configuration |
| SetMediaDirectory |
| Display devices, touchscreens, and mouse events |
| DisplayClaim |
| Display Documents: size and scaling |
| DisplayRelinquishAll |
| DisplayCreateDevice |
| DisplayDeleteDevice |
| DisplayDeleteAllDevices |
| DisplaySetAlias |
| DisplayGetSize |
| DisplayScaleDocuments |
| DisplayCreateDocument |
| DisplayDeleteDocument |
| DisplayDeleteAllDocuments |
| DisplayShowDocument |
| DisplayCacheChanges |
| DisplayShowChanges |
| DisplaySetDocumentSize |
| DisplayGetDocumentSize |
| DisplayBlank |
| DisplaySetBackgroundColour |
| DisplayAddObject |
| DisplayDeleteObject |
| DisplayGetObjectExtent |
| DisplaySetEvent |
| DisplayClearEvent |
| DisplaySetBackgroundEvent |
| DisplayClearBackgroundEvent |
| DisplaySetEventTransparency |
| DisplayEventCoords |
| DisplayBringToFront |
| DisplaySendToBack |
| DisplayKeyboardEvents |
| Keyboard code values |
| Video objects |
| DisplayAddObject: video |
| DisplaySetAudioDevice |
| VideoPlay |
| VideoPause |
| VideoStop |
| VideoSeekAbsolute |
| VideoSeekRelative |
| VideoGetTime |
| VideoGetDuration |
| VideoTimestamps |
| VideoSetVolume |
| Server-based device names and device definition files |
| ClaimGroup |
| Device names are not the same as aliases |
| Time stamps |
| TimeStamps |
| ResetClock |
| Status information and niceties |
| Version |
| ClientNumber |
| WhiskerStatus |
| ReportName |
| ReportStatus |
| ReportComment |
| TestNetworkLatency |
| RequestTime |
| Echo |
| Client-client communications |
| PermitClientMessages |
| SendToClient |
| Client authentication |
| Authenticate |
| AuthenticateChallenge |
| AuthenticateResponse |
| Secure server data logs |
| Logging command set |
| LogOpen |
| LogPause |
| LogResume |
| LogSetOptions |
| LogWrite |
| LogClose |
| Permanence of data recording |
| Digital signing of data logs |
| Verifying digitally-signed logs |
| ShutDown |
| Analogue command set |
| AnalogueClaim |
| AnalogueSetAlias |
| AnalogueRelinquishAll |
| AnalogueReadConfig |
| AnalogueReadState |
| AnalogueSetState |
| AnalogueSetEvent |
| AnalogueClearEvent |
| AnalogueClearEventByLine |
| AnalogueClearAllEvents |
| SetOutputDirectory |
| AnalogueOpenOutputFile |
| AnalogueCloseOutputFile |
| AnalogueSampleSignal |
| AnalogueData |
| Format for analogue data logged directly to disk |
| AnalogueCancelSample |
| AnalogueCreateBuffer |
| AnalogueLoadBuffer |
| AnaloguePlayBuffer |
| AnalogueStopPlayback |
| AnalogueDeleteBuffer |
| AnalogueDeleteAllBuffers |
| Writing Whisker clients: general principles |
| Programming tasks: design principles |
| Choosing your programming language |
| Programming models for behavioural tasks |
| Programming benefits of Whisker's design |
| C++ and WhiskerClientLib |
| About C++ and WhiskerClientLib |
| SimpleCPPClient: a C++ console-mode example |
| Classes to help you write clients |
| Creating C++ clients for Whisker |
| A few last suggestions |
| Data collection principles |
| Relational databases |
| Getting data into a database |
| Recovering data from old applications |
| Data integrity in relational databases |
| Networking in Perl |
| whisker_perl_demo.pl |
| whiskerstat.pl |
| berlindummyserver.pl |
| Python as a Whisker client |
| whisker.py |
| whisker_python_demo.py |
| SDK User's Guide |
| Visual Basic and the SDK |
| Comments on the use of Visual Basic |
| VBRatioClient - a simple Visual Basic client |
| Writing a simple TestClient with the Visual Basic SDK |
| The SDK command set |
| Differences between SDK and Whisker Commands |
| Drawing with the SDK |
| Additional SDK commands |
| Cancelling events |
| Implementing schedules of reinforcement |
| SDK extra commands |
| Tutorials with Visual Basic 6.0 |
| Tutorial 1 - Getting started writing Whisker tasks in Visual Basic |
| Tutorial 2 - Converting Arachnid tasks to Whisker |
| Tutorial 3 - Programming tips |
| Tutorials with Visual Basic .Net |
| Tutorial 1 - Getting started writing Whisker tasks in Visual Basic |
| Lab-specific guides |
| Cambridge, Experimental Psychology |
| Maria's box wiring, Jan 2000 |
| Maria/Rutsuko - 25-way cables |
| Maria/Rutsuko - box definition files |
| Pat/Dan - box definition files |
© Cambridge University Technical Services Ltd