Skip to content
Michelle Sands edited this page Dec 19, 2025 · 17 revisions

Welcome to the StimControl wiki!

Getting Started

Versioning

StimControl was written and primarily tested on MATLAB R2023b. Although best efforts have been made to ensure cross-version functionality, some features may not work on other versions of MATLAB. In particular, SerialComponent may run into compatibility issues when MATLAB versions are newer, as in 2023 the new serial library was only partially implemented.

Supported / Required Libraries

  • imaq toolbox (currently gentl and gige have been explicitly tested)
  • data acquisition toolbox
  • Serial library (or serialport for newer versions - see the serial documentation)

Opening StimControl

The first time you start StimControl, all supported & connected devices should be detected and initialised automatically.

You will need the following config files to be defined in order to use StimControl in active mode (i.e. self-triggering) or to use any DAQ features:

  • Channel parameters file for each DAQ you want to use
  • Session config file with activeHardware defined

These files must also be manually edited whenever a new device is connected to the PC if you wish to use it within StimControl. Config files outlines the process for this.

Writing Protocol Files

Once you have StimControl set up, you can write stimulation protocols! Example protocols can be found in the experiment_protocols folder, and in-depth explanations of the logic can be found on the Protocols page of the wiki. You can check your protocols using the Protocol Checker under the Tools menu.

File Location

Files are saved in users/[username]/Desktop/logs/[mouseID]/[yymmdd]/[experimentID].

Reporting Problems

Bugs should be reported with a single top-level comment on the appropriate top-level issue on the issues page.

Program Idiosyncracies & Known Issues

This project is in active development. It works, but please use kid gloves when handling. Read the following before using the program, or you might run into unexpected behaviour and crashes:

  • if you want to do single runs of the same trial twice, you will need to click away from and then back to the trial using the arrows.
  • if you run into an error during an active session, the timer may crash. This will be made evident by the "last updated" timer in the bottom left on the session page ceasing to update. If the timer crashes, you can restart it in the Tools menu. If that fails, you may need to restart StimControl.
  • to run StimControl alongside additional programs that communicate to various devices, launch StimControl first, then deactivate any detected devices you want to interface with elsewhere
  • Lots of session config happens in config files. You will need to restart StimControl to see these changes take place.
  • If you make changes to a protocol file while it's loaded, you will need to re-load it (unload by deleting the entry in the protocol field then reload) for StimControl to notice any changes.

Clone this wiki locally