BrainMaster
Software -
Dynamic Link Library (DLL) Interface
What
is it?
The
BrainMaster Dynamic Link Library is a software interface that allows
several things to happen:
- Specialized
software programs can run concurrently with the BrainMaster control
and display software, providing additional functions such as
advanced displays, trending and summarization, interactive games,
light and sound control, and so on. These programs have live access to
all EEG parameters including alpha, beta, etc. levels and statistics,
frequency spectra, trends, and raw waveforms.
- A
researcher or developer can design their own programs, and link them
to the BrainMaster control/display program, and to each other, using
the DLL interface. A single function call is all that is needed to
access any of the BrainMaster variables. Add-on programs can be
written in C, C++, Pascal, or Visual Basic, and linked using
standard Microsoft Windows DLL linking conventions. The
BrainMaster DLL is written in C.
A persistent,
static memory area of up to 640K is allocated by the DLL library, and its
contents can be read or written by programs that use the DLL interface.
Programs can be started and stopped independently, including the
BrainMaster master.exe program, and they will attach to the memory area
without disturbing the other programs. Any number of programs
can use the DLL library, and can start or stop at any time, without
disrupting other programs.
In order to develop software using the interface, all of the requisite header
files, libraries, and documentation are included without charge with
every distribution of the BrainMaster software (beginning with the
11/20/96 1.0 beta release), allowing any user to become a program designer
and developer. The design of this software makes the BrainMaster an open,
extensible system that can accommodate independently written and supplied
software extensions.
The BrainMaster DLL has been specifically set up to provide the
following:
NOTE: As
of 11/20/96, only the first two data sets have been implemented. Contact
us for the latest SW.
|
 |
Component
values (alpha, beta, etc.) for up to 2 channels (8 times/second) |
|
 |
Component
thresholds, "hits," maxima, minima (8 times/second) |
|
 |
Component
means, and standard deviations (every minute) |
|
 |
Most
recent FFT Spectra of up to 2 channels, 1 Hz resolution (8
times/second) |
|
 |
Summary
FFT Spectra for 2 channels, previous 2 minutes, 1 Hz resolution
(1/second) |
|
 |
Raw
EEG waveform data for 2 channels (2 seconds duration/channel) |
|
 |
Coherence,
Model, Frequency, etc. for all components |
The files
included, free of charge, in the BrainMaster DLL Interface are as follows:
|
 |
thedll.txt
- text explanation of the DLL interface |
|
 |
thedll.h
- C-style header file defining the DLL interface function |
|
 |
dlldefs.h
- C-style header file defining the shared area memory map |
|
 |
thedll.lib
- library containing a binding to the function DllCFunc() |
|
 |
thedll.dll
- the dll file that all programs load at runtime |
|
 |
test.exe
- a simple demonstration program displaying EEG values & a
graphic |
|
 |
test.cpp
- C source code for test.exe, buildable using a C or C++ compiler |
|
 |
test.prj
- project file in Microsoft C format |
|
 |
bmp1132,dll
- interface to 32-bit code |
|