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