Micromed and OpenVibe

Obtaining data from various hardware devices
Post Reply
a1eks
Posts: 19
Joined: Sun Jan 21, 2018 6:26 pm

Micromed and OpenVibe

Post by a1eks »

Hi,

There is an issue with the new version of the Aquisition Server. With the version 1.3.0 there were no major issues to connect Micromed with OpenVibe. However, since new version, there is a strange error (maybe just in a visualisation).

Namely, the new version of Aquisition Servers shows drift of 800-2000ms :shock: :arrow:
Image

Whereas the on the same PC, the version 1.3.0 shows drift of -5 to + 5ms, which is tolerable for my applications.
Image

Did you change anything regarding the delay visualisation or similar to cause such behaviour?
------------------------------------

2nd: I would like also to suggest some changes too. The architecture of Micromed is a little bit strange and non-intuitive, meaning that the OpenVibe Acquisition Server starts an additional server that listens on the specified port (3000 or 5000), and System Evolution (Micromed Aquisition sw) connects to that server (we would expect the opposite).

The problem is that the time-out on OpenVibe Aquisition Server is hardcoded and set to only 5seconds. This means that it gives you just 5 seconds to start System Evolution and click "Record Button". I don't see a reason why not putting longer time-out? Even a couple of minutes and present a message in console or window to start recording in SystemEvolution?

Code: Select all

,m_ui32TimeOutMilliseconds(5000)

Code: Select all

if(m_pConnectionServer->isReadyToReceive(m_ui32TimeOutMilliseconds))
	{
		// Accept new client
		m_pConnection=m_pConnectionServer->accept();
	}
	else
	{
		m_rDriverContext.getLogManager() << LogLevel_Error << "> Time out after " << m_ui32TimeOutMilliseconds << " milliseconds\n";

		// Cleans up server connection
		m_pConnectionServer->close();
		m_pConnectionServer->release();
		m_pConnectionServer=NULL;

		return false;
	}

jtlindgren
Posts: 775
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: Micromed and OpenVibe

Post by jtlindgren »

Hi,

- The timeout change would be easy to implement, thanks for the suggestion.

- Regarding the drift, the default behavior has changed. Do the following links answer your question?

http://openvibe.inria.fr/tutorial-jitte ... orrection/
viewtopic.php?f=5&t=9861

- I also notice some GTK errors and warnings in your screenshot. These should not happen and it would be good to understand where they come from. It's possible they were introduced by my commit (though I don't think the change should introduce drift),

Code: Select all

commit 5ccb685b14df5db782668f7b20b57d0805f34cc5
    Drivers: Refactored Micromed SystemPlus Evolution driver
    - A small structural change so no unnecessary warnings are printed
    to users who are not using the driver
You can verify if my commit is the reason for the problems you notice by installing OpenViBE 2.0.0 and running the acquisition server from there. If you do that, please let me know if there's any difference between 2.0.0 and 2.0.1.


Cheers,
Jussi

Post Reply