Re: channel question for programming Olimex EEG-SMT

"Paddy Duncan" <[email protected]>
Newsgroups gmane.comp.science.openeeg.general
Organization Padski Ltd
Message-ID <[email protected]>
Hi Daniel,
As I understood it, starting at byte 5, the 2-byte 10-bit numbers are the
data for each channel ie the difference between the 2 channel electrodes.
There is no data representing a single electrode, as the channels are
differential. The six outputs are for the six channels that the protocol
supports.
Hope this helps.
Paddy

Below is the relevant section of the P2 firmware file:
////////// Packet Format Version 2 ////////////

// 17-byte packets are transmitted from the ModularEEG at 256Hz,
// using 1 start bit, 8 data bits, 1 stop bit, no parity, 57600 bits per
second.

// Minimial transmission speed is 256Hz * sizeof(modeeg_packet) * 10 = 43520
bps.

struct modeeg_packet
{
	uint8_t		sync0;		// = 0xa5
	uint8_t		sync1;		// = 0x5a
	uint8_t		version;	// = 2
	uint8_t		count;		// packet counter. Increases by 1
each packet.
	uint16_t	data[6];	// 10-bit sample (= 0 - 1023) in big
endian (Motorola) format.
	uint8_t		switches;	// State of PD5 to PD2, in bits 3 to
0.
};

//////////////////////////////////////////////////////////////

-----Original Message-----
From: Daniel Baker [mailto:[email protected]] 
Sent: 30 January 2013 20:26
To: [email protected]
Subject: [Openeeg-list] channel question for programming Olimex EEG-SMT

Dear all,

Last week I ordered and received an Olimex EEG-SMT box. I have successfully
written code to read from the device using Matlab, directly over the virtual
serial port interface. The data packets arrive in blocks of 17 bytes, and I
have converted the six outputs (from bytes 5-16) specified in the packet
protocol v2 into ten bit numbers.

All six of the outputs produce a sensible looking trace, with mains
artefacts at 50Hz as expected. What I don't understand is how these traces
map onto the electrodes. There are four active electrodes and one ground
electrode on the device. I initially thought that the mapping must be:

Bytes 5&6: Channel 1+
Bytes 7&8: Channel 1-
Bytes 9&10: Channel 2+
Bytes 11&12: Channel 2-
Bytes 13&14: All of channel 1 (i.e. the difference between positive and
negative) Bytes 15&16: All of channel 2

Presumably all referenced to the ground. However subtracting the first two
traces does not produce the fifth trace (and so on). I'm at a loss to
understand why else a device with four electrodes and two notional channels
would produce six outputs.

All help much appreciated. I intend to make some code publicly available
once I'm happy with it.

Many thanks,

 - Daniel Baker
----------------------------------------------------------------------------
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for
free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Openeeg-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openeeg-list
Go to the above address to change your
subscription options, e.g unsubscribe.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
PGP.sig (application/pgp-signature, 193 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.