User Guide
Overview
Protocol Master is used to drive complex experiments that involve stimulus over time. It includes many features to ensure lab processes are done consistently and efficiency. Here are some of the key user-facing features:
Google Drive integration
Camera/Microphone Automation
Logging
Additionally, Protocol Master is designed to be modular and reprogrammable. Technical users can develop their own file interpreters and schedule drivers using C# (and eventually Python). Here are the key technical user features:
Schedule programming API
Interpreter extension system
Driver extension system
Google Drive Integration
When using a protocol hosted by Google Drive (whether private or published), the application will always download the protocol fresh to ensure that all runs are fully up-to-date. This ensures that all of the workstations used for a given experiment are working from the same source without any manual distribution of files.
Camera/Microphone Automation
Protocol Master is fully integrated with the Windows 10 Camera API. This allows us to stream, record, and compress high quality footage with near-zero latency! Compression quality is configurable to conserve drive space.
Every time a new protocol starts, an associated recording file is created and labeled with no human work required. These can be located using the file menu of the application.
Logging
Every stimulus is logged to the log console and log files at exactly the moment it occurs. The log console can be reached via the "log" tab in the lower half of the window. The log files can be located using the file menu of the application.
Schedule Programming API
Within the built application files, ProtocolMasterCore.dll is available and is a schedule programming API. Documentation can be created on request (philip@philipm.net). The API is extensive enough to generate, store, and execute schedules entirely without the ProtocolMaster.exe application.
Interpreter Extensions
Extensions can be developed to generate schedules that can be consumed by the Protocol Master application. McIntyreAFC is an example created for our pilot lab that consumes excel files and produces a complex and highly configurable schedule of events. The extensions folder can be located using the file menu.
Driver Extensions
Driver extensions take a list of events and execute them on hardware. Schedulino is an example that can drive Arduinos loaded with some custom firmware. The extensions folder can be located using the file menu.