From: Rob Sacks (editor_at_realization.org)
Date: 2000-10-21 22:14:18
Hi Joerg,
> This first protocol is very simple and straight forward.
> In future releases we can make it as complicated as we want.
The only thing I can think of for the future is,
maybe we should increment it so we can check
whether all the blocks are getting through to the PC.
Is the static synch byte that we have now always
zero?
I've attached the documention and source code for
the BrainMaster internal software. (They are
posted on Tom Collura's BrainMaster website
at ftp://brainmaster.com/pub/brainm/code/.)
As you will see, there are several block formats.
I am using this one:
// sss00000 dddddddd dddddddd
//
// First byte is synch byte. sss (MSBs) are the synch
// bits. 0s are always 0. The second byte is data for
// channel 1, third byte is data for channel 2.
The format of the data bytes is described here:
ftp://brainmaster.com/pub/brainm/code/command.doc
Es macht mir nichts wenn die beide maschine
verträgliche sind.
(That was supposed to be German. It's been
about 20 years since I last used it.)
It doesn't matter to me whether the two machines
are compatible. However, I've noticed three things
about the BrainMaster which it would be nice
(if we can) to do differently.
1. The synch byte increments each time, but
the increment is not constant. This defeats
part of the usefulness of incrementing because
it prevents the PC from simply subtracting two bytes
to see if it's in synch. The increments run like
this in successive blocks:
00100000 databyte databyte
01000000 databyte databyte
01100000 databyte databyte
10000000 databyte databyte
10100000 databyte databyte
11000000 databyte databyte
11100000 databyte databyte
00100000 databyte databyte
I.e., the synch byte goes 1-2-3-4-5-6-7.
It skips zero.
2. There is no single command that can be sent
at any time from the PC to the BrainMaster to
reset the BM to a known state. Instead, the PC has
to deduce which state out of five the BM is
in so it knows what commands to send. It would
be nice to have one command that can be
sent at any time to stop the machine and make it ready
for new parameters.
3. At least one important internal parameter of
the BM (the sampling rate) cannot be set unless
the BM is first turned off and turned back on using
the physical switch on the machine. (Maybe this
is my mistake, maybe I am not putting it in the right
state first to accept this command.) It would be nice
to be able to change anything about the machine
from software in the PC without turning it off and
on physically.
Regards,
Rob
----- Original Message -----
From: "Joerg Hansmann" <jhansmann_at_g...>
To: <buildcheapeeg_at_egroups.com>
Sent: Saturday, October 21, 2000 1:12 PM
Subject: Re: [buildcheapeeg] Software
> Hi,
>
> ----- Original Message -----
> From: Rob Sacks <editor_at_realization.org>
> To: buildcheapeeg <buildcheapeeg_at_egroups.com>
> Sent: Saturday, October 21, 2000 5:46 PM
> Subject: Re: [buildcheapeeg] Software
>
>
> > Joerg,
> >
> > One more thing I need to know. Does the synch byte
> > increment by 1 each time? I.e., 1..2...3..4.. etc.
>
> No. Its static.
>
> > Or is it something more complicated?
>
> This first protocol is very simple and straight forward.
> In future releases we can make it as complicated as we want.
> Or even compatible to brainmaster ... ?
> (BTW. do you have a protocol description of the brainmaster ?)
>
> Regards,
> Joerg
This archive was generated by hypermail 2.1.4 : 2002-07-27 12:28:27 BST