Jump to content

Programming Howto:Create a custom Signal Processing Module: Difference between revisions

From BCI2000 Wiki
Mellinger (talk | contribs)
No edit summary
Mellinger (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Execute the NewBCI2000Module binary from the BCI2000 build directory
==Back==
To [[Programming Howto:Building and Customizing BCI2000|this howto's overview page]].
 
==Create module files from templates==
Execute the NewBCI2000Module binary from the BCI2000 build directory.


[[File:new_module_1.png|center]]
[[File:new_module_1.png|center]]


Enter "VeryNiceSignalProcessing" when prompted for the new module's name
Enter "VeryNiceSignalProcessing" when prompted for the new module's name.


[[File:new_module_2.png|center]]
[[File:new_module_2.png|center]]
Line 11: Line 15:
[[File:new_module_3.png|center]]
[[File:new_module_3.png|center]]


... which you may verify using a windows explorer window
... which you may verify using a Windows explorer window. Note that a filter source file has been created automatically, with its name derived from the module's name.


[[File:new_module_4.png|center]]
[[File:new_module_4.png|center]]


Double-click the configure script from the BCI2000 build directory to open the CMake GUI
==Create a module project using CMake==
Double-click the configure script from the BCI2000 build directory to open the CMake GUI.


[[File:new_module_5.png|center]]
[[File:new_module_5.png|center]]


In the CMake GUI, click "generate" to re-create project files
In the CMake GUI, click "Generate" to re-create project files.


[[File:new_module_6.png|center]]
[[File:new_module_6.png|center]]


A project called "VeryNiceSignalProcessing" will have been added at the end
A project called "VeryNiceSignalProcessing" will have been added at the end.


[[File:new_module_7.png|center]]
[[File:new_module_7.png|center]]


Open the VisualStudio solution file from the BCI2000 build directory
==Edit the module's code in the IDE==
Switch to VisualStudio, and click "Reload" when prompted what to do.


[[File:new_module_8.png|center]]
[[File:deploy_module_3.png|center]]


Locate the "VeryNiceSignalProcessing" project in the list of projects
Locate the "VeryNiceSignalProcessing" project in the list of projects.


[[File:new_module_9.png|center]]
[[File:new_module_9.png|center]]


Define a default location for the new filter in its RegisterFilter() statement, and deactivate the #error statement above that
Define a default location for the new filter in its <tt>RegisterFilter()</tt> statement, and deactivate the <tt>#error</tt> statement above that.


[[File:new_module_10.png|center]]
[[File:new_module_10.png|center]]


Define the actual location for the new filter in the PipeDefinition source file, and deactivate the #error statement below that
Define the actual location for the new filter in the <tt>PipeDefinition</tt> source file, and deactivate the <tt>#error</tt> statement below that.


[[File:new_module_11.png|center]]
[[File:new_module_11.png|center]]


Right-click the project, and choose "Build" from the context menu
==Build the new module==
Right-click the project, and choose "Build" from the context menu.


[[File:new_module_12.png|center]]
[[File:new_module_12.png|center]]


A "VeryNiceSignalProcessing" executable will have been created in the BCI2000 prog directory
A "VeryNiceSignalProcessing" executable will have been created in the BCI2000 "prog" directory.


[[File:new_module_13.png|center]]
[[File:new_module_13.png|center]]


==Next step==
==Next step==
As a next step, learn how to [[Programming Howto:Attach the Debugger to a BCI2000 Module|attach the Debugger to a BCI2000 Module]].
As a next step, learn how to [[Programming Howto:Attach the Debugger to a BCI2000 Module|attach the debugger to a BCI2000 module]].


==See also==
==See also==

Latest revision as of 15:02, 16 August 2018

Back

To this howto's overview page.

Create module files from templates

Execute the NewBCI2000Module binary from the BCI2000 build directory.

Enter "VeryNiceSignalProcessing" when prompted for the new module's name.

You will get a list of files that have been created for you ...

... which you may verify using a Windows explorer window. Note that a filter source file has been created automatically, with its name derived from the module's name.

Create a module project using CMake

Double-click the configure script from the BCI2000 build directory to open the CMake GUI.

In the CMake GUI, click "Generate" to re-create project files.

A project called "VeryNiceSignalProcessing" will have been added at the end.

Edit the module's code in the IDE

Switch to VisualStudio, and click "Reload" when prompted what to do.

Locate the "VeryNiceSignalProcessing" project in the list of projects.

Define a default location for the new filter in its RegisterFilter() statement, and deactivate the #error statement above that.

Define the actual location for the new filter in the PipeDefinition source file, and deactivate the #error statement below that.

Build the new module

Right-click the project, and choose "Build" from the context menu.

A "VeryNiceSignalProcessing" executable will have been created in the BCI2000 "prog" directory.

Next step

As a next step, learn how to attach the debugger to a BCI2000 module.

See also

Programming Howto:Building and Customizing BCI2000

Programming Tutorial:Implementing a Data Acquisition Module

Programming Tutorial:Implementing a Signal Processing Filter