It is working ! Thank you very much for your very fast reply ! Best regards,
Fabrice 2010/1/11 Miklos Maroti <[email protected]> > Hi Fabrice, > > So it seems that you do not use the stock BaseStation application. You > should add the > > CFLAGS += -DTASKLET_IS_TASK > > line to your makefile for the mote that is using the serial code. That > should fix your problem. > > Best, > Miklos > > On Mon, Jan 11, 2010 at 9:33 AM, Fabrice Dossin > <[email protected]> wrote: > > Hello, > > > > I am blocked on a critical problem these last days and I have no idea > what > > to do to solve it. > > I have a WSN of IRIS nodes that uses the Collection messaging system to > send > > information to the base station. > > This base station runs the same code as the original one except that I > > collect the collection messages and forward them as AM messages to the > UART. > > To implement this forwarding system, I am using the Intercept interface > to > > transform Collection message into AM message. > > > > When the network load is low (1 message / second), I have usually no > > problem. > > Once it goes higher (5 messages / second), after 2 or 3 minutes, the base > > station uartBusy flag is blocked in BUSY state and no more message is > > transmitted to the PC. > > > > Did someone have a clue that could relaunch my investigations ? > > > > Best regards, > > Fabrice > > > > > > Key code snippets : > > > > - Receiving message from Collection > > event message_t *MeshReceive.receive[am_id_t id](message_t *msg, > > void *payload, > > uint8_t len) > > { > > return receive(msg, payload, len, id); > > } > > > > - Interception code > > message_t* receive(message_t *msg, void *payload, uint8_t len, am_id_t > id) > > { > > message_t *ret = msg; > > > > if (!signal MeshIntercept.forward[id](msg,payload,len)) > > return ret; > > ... > > > > - Message transformation > > default event bool > > MeshIntercept.forward[am_id_t amid](message_t* msg, > > void* payload, > > uint8_t len) > > { > > if (amid == 0xbb) > > { > > status_msg_t* out; > > status_msg_t* pay=(status_msg_t*) payload; > > out = (status_msg_t*)call UartPacket.getPayload(msg, > > sizeof(status_msg_t)); > > memcpy(out,payload,sizeof(status_msg_t)); > > call RadioAMPacket.setType(msg, AM_STATUS_MSG); > > } > > ... > > > > > > > > > > _______________________________________________ > > Tinyos-help mailing list > > [email protected] > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
