Hello,
I'm trying to send stimulations from external application to acquisition server. The application runs on Windows. I followed tutorial on page: http://openvibe.inria.fr/send-stimulati ... on-server/ but I didn't manage to send any stimulation. Previously I've managed to send stimulations but I did it on Ubuntu Linux. Now I had to move my application to run Windows and it simply stopped working.
I'm using OpenVibe 0.17.1, my application uses boost 1.55.0.
Do you have any idea what might have I done wrong?
Acquisition server boost version
-
- Posts: 22
- Joined: Tue Nov 26, 2013 3:43 pm
Acquisition server boost version
Last edited by pwierzgala on Tue Jun 03, 2014 12:18 pm, edited 1 time in total.
-
- Posts: 775
- Joined: Tue Dec 04, 2012 3:53 pm
- Location: INRIA Rennes, FRANCE
Re: Acquisition server boost vwersion
Hi Pwierzgala,
You could try compiling OpenViBE yourself. Included in the source tree is a tiny example application 'external-stimulation-connection' that sends a stimulation to the server. We have tested this to work, provided that all use the same boost version. OpenViBE 0.17.1 bin pkg on Win should have been compiled against Boost 1.47.
Best,
Jussi
You could try compiling OpenViBE yourself. Included in the source tree is a tiny example application 'external-stimulation-connection' that sends a stimulation to the server. We have tested this to work, provided that all use the same boost version. OpenViBE 0.17.1 bin pkg on Win should have been compiled against Boost 1.47.
Best,
Jussi
-
- Posts: 22
- Joined: Tue Nov 26, 2013 3:43 pm
Re: Acquisition server boost version
I've just compiled "external-stimulation-connection" example from source with boost 1.55 and it doesn't work but the version of "external-stimulation-connection" that I have in my openvibe installation forlder works. It looks like boost version may cause the problem. I'll try to compile my external application with boost 1.47 and let you know if it helped.
-
- Posts: 22
- Joined: Tue Nov 26, 2013 3:43 pm
Re: Acquisition server boost version
Unfortunately after compiling both my application and "external-stimulation-connection" from openvibe 0.17.1 sources don't send stimulations to acquisition server. Do you have any suggestions? You've just wrote that I may compile openvibe from sources? Is there any reason to belive that it may help?
-
- Posts: 775
- Joined: Tue Dec 04, 2012 3:53 pm
- Location: INRIA Rennes, FRANCE
Re: Acquisition server boost version
Compiling everything yourself should have the benefit that you can make sure same version of boost is used by both.
Best,
Jussi
Best,
Jussi
-
- Posts: 22
- Joined: Tue Nov 26, 2013 3:43 pm
Re: Acquisition server boost version
After many attempts I didn't manage to compile openvibe (0.17.1) on windows. However I have a couple of remarks that you may find interesting:
When I run "win32-dependencies" script I noticed that it downoladed boost in version 1.42. I thought that you suggested version 1.47 by mistake but anyways when I tried to compile my application with this boost version I got error:
-----
I noticed some unexpected stimulations which were not generated by my application (it was closed). Here's a screnshot:
I've recored the signal to a CSV file and found out that the stimulations are:
OVTK_GDF_Correct 0x381 // 897
OVTK_GDF_Incorrect 0x382 // 898
I have no idea where they come from but it looks like the more loaded a CPU is the more stimulations appear. For example the ones above were recorded during Google Chrome opening :] When nothing happens in OS there's a significatant decrease in number of recorded stimulations.
-----
I run the exact copy of my application on Ubuntu 14.04, OpenVibe (newest unstable version), boost 1.54 and stimulations sent by my application were recorded correctly without any extra, unwanted OVTK_GDF_Correct and OVTK_GDF_Incorrect stimulations.
When I run "win32-dependencies" script I noticed that it downoladed boost in version 1.42. I thought that you suggested version 1.47 by mistake but anyways when I tried to compile my application with this boost version I got error:
Code: Select all
C:\workspace_openvibe\libraries\boost_1_42_0\boost\interprocess\detail\transform_iterator.hpp:57: error: reference 'm_value' cannot be declared 'mutable' [-fpermissive]
mutable T &m_value;
^
I noticed some unexpected stimulations which were not generated by my application (it was closed). Here's a screnshot:
I've recored the signal to a CSV file and found out that the stimulations are:
OVTK_GDF_Correct 0x381 // 897
OVTK_GDF_Incorrect 0x382 // 898
I have no idea where they come from but it looks like the more loaded a CPU is the more stimulations appear. For example the ones above were recorded during Google Chrome opening :] When nothing happens in OS there's a significatant decrease in number of recorded stimulations.
-----
I run the exact copy of my application on Ubuntu 14.04, OpenVibe (newest unstable version), boost 1.54 and stimulations sent by my application were recorded correctly without any extra, unwanted OVTK_GDF_Correct and OVTK_GDF_Incorrect stimulations.
-
- Posts: 775
- Joined: Tue Dec 04, 2012 3:53 pm
- Location: INRIA Rennes, FRANCE
Re: Acquisition server boost version
I verified that the 0.17.1 archive file win32-install-dependencies.exe installs boost 1.47 as it should. Your path doesn't look like it resulted from the run of the bundled exe, for example the folder name is different (should be 'dependencies', not 'libraries') and boost entry has a version number which it should not have.pwierzgala wrote:After many attempts I didn't manage to compile openvibe (0.17.1) on windows. However I have a couple of remarks that you may find interesting:
When I run "win32-dependencies" script I noticed that it downoladed boost in version 1.42. I thought that you suggested version 1.47 by mistake but anyways when I tried to compile my application with this boost version I got error:
Code: Select all
C:\workspace_openvibe\libraries\boost_1_42_0\boost\interprocess\detail\transform_iterator.hpp:57: error: reference 'm_value' cannot be declared 'mutable' [-fpermissive] mutable T &m_value; ^
The stimulations you mention are sent if the acquisition server encounters NaNs or infinite values from the device. See the logic in ovasCAcquisitionServer.cpp.
Happy hacking,
Jussi