Re: Openeeg-list Digest, Vol 78, Issue 4
Gregory Perry <[email protected]>
| Newsgroups | gmane.comp.science.openeeg.general |
|---|---|
| Message-ID | <[email protected]> |
Thanks William, exactly what I was looking for. ________________________________ From: William Shipley [[email protected]] Sent: Saturday, November 17, 2012 12:59 AM 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 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]<mailto:[email protected]>> wrote: Thanks Paddy. What's the speed of that COM port, any ideas? Hopefully 115K... From: Paddy Duncan [mailto:[email protected]<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]<mailto:[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]<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]<mailto:[email protected]>] Sent: Tuesday, November 13, 2012 12:09 AM To: [email protected]<mailto:[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]<mailto:[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