Re: Openeeg-list Digest, Vol 78, Issue 4
William Shipley <[email protected]>
| Newsgroups | gmane.comp.science.openeeg.general |
|---|---|
| Message-ID | <CAFYD1Ppm9HswkG4=Dkac6Y8re8C7mwFDhe3T8fhAzjfQ1T2_4g@mail.gmail.com> |
OpenEEG's firmware should show it pretty plainly...
Here's some grabbed from the headers of the source files
////////// 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.
};
//////////////////////////////////////////////////////////////
/*
* ModularEEG Packet Format Version 3
*
* One packet can have zero, two, four or six channels (or more).
* The default is a 6-channel packet, shown below.
*
* 0ppppppx packet header
* 0xxxxxxx
*
* 0aaaaaaa channel 0 LSB
* 0bbbbbbb channel 1 LSB
* 0aaa-bbb channel 0 and 1 MSB
*
* 0ccccccc channel 2 LSB
* 0ddddddd channel 3 LSB
* 0ccc-ddd channel 2 and 3 MSB
*
* 0eeeeeee channel 4 LSB
* 0fffffff channel 5 LSB
* 1eee-fff channel 4 and 5 MSB
*
* Key:
*
* 1 and 0 = sync bits.
* Note that the '1' sync bit is in the last byte of the packet,
* regardless of how many channels are in the packet.
* p = 6-bit packet counter
* x = auxillary channel byte
* a - f = 10-bit samples from ADC channels 0 - 5
* - = unused, must be zero
*
* There are 8 auxillary channels that are transmitted in sequence.
* The 3 least significant bits of the packet counter determine what
* channel is transmitted in the current packet.
*
* Aux Channel Allocations:
*
* 0: Zero-terminated ID-string (ASCII encoded).
* 1:
* 2:
* 3:
* 4: Port D status bits
* 5:
* 6:
* 7:
*
* The ID-string is currently "mEEGv1.0".
*/
//////////////////////////////////////////////////////////////
And here's the packet entry from the bidirectional source.
\subsection Packet Format Version 3 (bidirectional, number of channels
selectable, evoked potentials supported)
If you select all 6 channels and the backchannel isn't used, this is
compatible to the Electric Guru/BWview protocol.
So this is the default configuration. Only if you send commands to change
the protcol it won't be compatible anymore.
The number of channels can be reduced for a reduced data rate.
9 to 17 byte packets are transmitted from the ModularEEG at approx. 256Hz,
using 1 start bit, 8 data bits, 1 stop bit, no parity, 57600 or 115200
bits per second. \n \n
struct modeeg_packet3 \n
{ \n
uint8_t sync0; // = 0xa5\n
uint8_t sync1; // = 0x5a \n
uint8_t sidechannel;// channel can be used to send messages from EEG to
PC (sends a 2 if not used, for compatibility \n
uint8_t count; // packet counter. Increases by 1 each packet \n
uint16_t 2-6; // 10-bit sample (= 0 - 1023) in big endian (Motorola)
format, channel order 1,4,2,5,3,6 \n
uint8_t switches; // State of PD5 to PD2, in bits 3 to 0, and state of EVP
Stimulus in bits 7 to 4 \n
}; \n \n
\warning Channel order is 1,4,2,5,3,6 for minimum skew between channels on
one amplifier board (the first amplifier
board has channels 1 and 4, the second 2 and 5, the third 3 and 6). \n \n
Note that data is transmitted in big-endian format.
By this measure together with the unique pattern in sync0 and sync1 it is
guaranteed,
that re-sync (i.e after disconnecting the data line) is always safe. The
number of
channels can be selected (2,4 or 6).
On Fri, Nov 16, 2012 at 4:34 PM, Gregory Perry
<[email protected]>wrote:
> Thanks Paddy. What's the speed of that COM port, any ideas? Hopefully
> 115K...
>
> *From*: Paddy Duncan [mailto:[email protected]]
> *Sent*: Friday, November 16, 2012 02:52 PM
> *To*: 'Discussion of EEG hardware, software, training protocols, NFB
> theory - for developers and users.' <[email protected]>
> *Subject*: Re: [Openeeg-list] Openeeg-list Digest, Vol 78, Issue 4
>
>
> I've tried searching for such a document myself without much luck but...**
> **
>
> ** **
>
> For the OpenEEG it is 17 byte packets as follows:****
>
> ** **
>
> First two bytes 0xA5 and 0x5A (sync bytes)****
>
> Third byte 0x02 (version of the firmware)****
>
> Fourth is packet counter incrementing by 1 each packet****
>
> Then 6 pairs of bytes (2 bytes for each of 6 channel in 10-bit resolution)
> ****
>
> 17th byte is 0x0f****
>
> ** **
>
> I would assume that this would be the same for the USB-EEG, as BrainBay
> etc are recommended as software.****
>
> It appears that the USB-EEG uses a virtual COM port in order to be
> compatible with the software (just as I now use a Serial-USB converter +
> Virtual com port).****
>
> ** **
>
> Hope this helps.****
>
> ** **
>
> Paddy****
>
> ** **
>
> ** **
>
> ** **
>
> *From:* Gregory Perry [mailto:[email protected]]
> *Sent:* 16 November 2012 19:13
> *To:* Discussion of EEG hardware, software, training protocols, NFB
> theory - for developers and users.
> *Subject:* Re: [Openeeg-list] Openeeg-list Digest, Vol 78, Issue 4****
>
> ** **
>
> Is there a document that describes the raw data output from an openEEG
> device such as the EEG-SMT (framing etc)? How is that information
> presented to the host computer via USB? Is it just a serial interface on
> the PC side? ****
>
> ** **
> ------------------------------
>
> *From:* Stefan Jung [[email protected]]
> *Sent:* Tuesday, November 13, 2012 12:09 AM
> *To:* [email protected]
> *Subject:* Re: [Openeeg-list] Openeeg-list Digest, Vol 78, Issue 4****
>
> Mike****
>
> ****
>
> An EEG amplifier's sole purpose is to sample data and send this (raw) data
> to the PC host. If your PC app can connect and sync on that data, the work
> is done.****
>
> ****
>
> "Functions" are the reserve of the software app.****
>
> ****
>
> It would also help to be more specific as to which functions you are
> talking about.****
>
> ****
>
> Stefan****
>
>
> ------------------------------------------------------------------------------
> Monitor your physical, virtual and cloud infrastructure from a single
> web console. Get in-depth insight into apps, servers, databases, vmware,
> SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> Pricing starts from $795 for 25 servers or applications!
> http://p.sf.net/sfu/zoho_dev2dev_nov
> _______________________________________________
> 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.
>
>
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov