Hey
All,
I'm developping an
application on an ARM-7 based platform which is running Linux 2.4.18 with the
latest BlueZ version for that platform. In this application there is a master
device that can connect to up to 7 slaves (master and slave devices are all the
same, the external controller determines which is master).
The application does
the following, the external controller on the master can send a single command
to the Linux application, in the command is an address field identifying to
which slaves the command must be passed on. A slave will pass the command on to
its external controller, which will respond to the command by sending a reply
back to the Linux slave, which in turn passes it on to the Linux master and is
then handed over to the external controller again. As soon as all addressed
slaves have responded, the sequence is repeated.
Now to what I see
happening, when I run this with 5 slaves, I don't see any problems for more than
an hour, but when I run it with 6 or 7 slaves, I see that the BlueCore resets
itself, with 6 slaves after about 40 minutes and with 7 slaves already after 5
to 10 minutes. When I eliminate the CRC check I can run the 7 slaves
configuration for up to about 40 minutes after it crashes.
What I think happens
is that the BlueCore receives data to fast over the air and can not pass it on
to the Linux CPU quick enough, so there is an internal overflow in the
BlueCore.
Communication
between the BlueCore and the Linux CPU is done via BCSP at a speed of 921600
baud.
Has anybody seen
behaviour like this before and is there something I can do about it
???
Greetings,
Han
---
Han Hoekstra
Wireless Value B.V.
Waanderweg 30a
7812 HZ Emmen
Tel: +31-591-633200