Top  Previous  Next

The Whisker system is based on a client–server model. The server is a program that talks directly to the hardware controlling the operant chambers. The clients are programs that you can write that instruct the server how to control the chambers. A client implements a behavioural task, such as an FR-5 schedule of responding on a lever for pellets, or a five-choice serial reaction time task.


Several clients can communicate with a single server, and they operate independently. Because of this, you need only program the task client to cope with a single operant chamber, and then run several copies of the client when you want to use several boxes at once.


This brings several immediate advantages: (1) it simplifies the process of writing a task, because you only need to be concerned about one box; (2) it becomes almost impossible for a task to accidentally activate a device in the wrong box; (3) you can run any combination of different tasks at the same time without special programming.


Whisker commands are text messages sent between the WhiskerServer and the Client. How you write your programs will affect how much detail you need to understand about this communication. If you write your programs in VisualBasic, using the SDK Control, or in C++ using the ClientLibrary, you need not worry about this communication model at all – the tools will take care of it for you!