Hi Roger! If I understand correctly, then the problem is that sendDone returns FAIL even though the message is transmitted. As a result, the Basestation gets into an infinite loop trying to send the same message over and over.
Does there any other traffic going on? Can the Basestation still receive messages (i.e. did the whole radio lock up or just the send path)? How can I check this out? The Basestation seems to work on our motes, but we will double check it. Best, Miklos On Tue, Feb 8, 2011 at 10:24 AM, Roger Larsson <[email protected]> wrote: > [Probably this is rfxlink related, the changes in revision r5202 moved mulle > over to using rfxlink but did not fix the local copy of rf230 files... > Notice the local copies in %T/platforms/mulle/chips/rf230 they were not > modified in the same process...] > > Anyway a description on what happens > - using the apps/BaseStation to relay messages to from a PC > - sensor motes running a variant of apps/Oscilloscope > - whenever changing sample period it will change > This worked well in november (15 th) > > Back to do some TinyOS work i updated svn, compiled and downloaded. > Everything looks OK. Samples are received from sensors. > > But when trying to change parameters (sample period) only the first > modification works. > After a reset of BaseStation one more change works... > Got a clue when noticing that the red led was flashing fast on the > BaseStation... > > Some kind of error? Searched the sources and found some questionable code. > Whenever sendDone does not indicate SUCCESS the message remains in the queue > and is immediately retried. > Modifying this to only failBlink and always go on in the queue is a work > around. > (More correct would be to not remove when EAGAIN) > Note: the message did get through as the parameter change is reported back > correctly! > > --- tinyos-main-read-only/apps/BaseStation/BaseStationP.nc 2011-02-08 > 09:05:27.742687259 +0100 > +++ tinyos-main-read-only.rlsave/apps/BaseStation/BaseStationP.nc > 2011-02-07 16:54:03.149003205 +0100 > @@ -299,7 +299,7 @@ > event void RadioSend.sendDone[am_id_t id](message_t* msg, error_t error) { > if (error != SUCCESS) > failBlink(); > - else > +// else > atomic > if (msg == radioQueue[radioOut]) > { > > With this modification the BaseStation now works again. > Reverted to r5158, applied my mulle specific patches - that old version works > too (without this patch) > > Miklos could you try this test case (without the patch) - if it works for you > I would suspect the mulle platform local rf230 copy... > > /RogerL > > -- > Roger Larsson, Research Engineer > Division of Mobile Networking and Computing > Luleå University of Technology > SE-931 87 Skellefteå > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
