QDS Driver
Posted: Sat Oct 01, 2011 11:41 pm
Hi,
I've already implemented the "QDS NFB 256" protocol, but to move on I should know few more things.
At the OpenEEG mailing list it was said this QDS protocol might be a good new standard for open hardware devices, since it accepts 16-bit data (instead of 10-bit like in the Modular P2 protocol). But the problem is that not all the devices have the same characteristics... There are 2 main parameters which change: the number of bits used, and the full scale voltage.
That's the reason I've added 2 new Spin Buttons to configure the driver: the number of bits and the full scale voltage. That's what you can see at the image.
The thing is: at the driver side we end up to have a vector of int32 called "m_vChannelBuffer" which are directly the number of bits when the QDS protocol is already parsed. But which is the voltage value the OpenViBE software takes for a single step? (i.e. the quantum)
e.g.:
0x0000 = 0uV
0x0001 = ?
Could you please answer it? I might look at the source code, but I don't really know where to start... hehe And I'd also like to hear what you think about it.
Summarizing, the idea is to configure the driver so that it can work with devices with different resolution and full scale voltages, but with the same protocol (the QDS). Using this implementation I would modify the "m_vChannelBuffer" data with the new value which represents the correct voltage. It would be great to know whether there is any global var to know that quantum voltage.
Thank you!
Bernat Albet
I've already implemented the "QDS NFB 256" protocol, but to move on I should know few more things.
At the OpenEEG mailing list it was said this QDS protocol might be a good new standard for open hardware devices, since it accepts 16-bit data (instead of 10-bit like in the Modular P2 protocol). But the problem is that not all the devices have the same characteristics... There are 2 main parameters which change: the number of bits used, and the full scale voltage.
That's the reason I've added 2 new Spin Buttons to configure the driver: the number of bits and the full scale voltage. That's what you can see at the image.
The thing is: at the driver side we end up to have a vector of int32 called "m_vChannelBuffer" which are directly the number of bits when the QDS protocol is already parsed. But which is the voltage value the OpenViBE software takes for a single step? (i.e. the quantum)
e.g.:
0x0000 = 0uV
0x0001 = ?
Could you please answer it? I might look at the source code, but I don't really know where to start... hehe And I'd also like to hear what you think about it.
Summarizing, the idea is to configure the driver so that it can work with devices with different resolution and full scale voltages, but with the same protocol (the QDS). Using this implementation I would modify the "m_vChannelBuffer" data with the new value which represents the correct voltage. It would be great to know whether there is any global var to know that quantum voltage.
Thank you!
Bernat Albet