Probably the value of neighborsize is greater than MHOP_PARENT_SIZE. I am not so sure. > uint8_t retransmissions; > uint16_t neighbors[MHOP_PARENT_SIZE]; > uint16_t quality[MHOP_PARENT_SIZE]; >} DataMsg; >.... > > for (i = 0; i < neighborsize; i++) { > message->neighbors[i] = neighbors[i]; > message->quality[i] = quality[i]; > }
On 4/11/2007, "YIP Chi Chung" <[EMAIL PROTECTED]> wrote: >Hi, > >I am writing a program to get the information like temperature, neighbor >ID and link quality etc. from tmote. Collected data will send back to PC >through UART. > >However, I failed to get the neighbor ID and link quality from mote. My >program is modify from Delta. It keep returning 65535 for neighbor ID and >32767 for link quality. And someone tell me how to solve it? > >Thank you very much > >Here is my code: > >DataMsg.h >#ifndef H_DataMsg_h >#define H_DataMsg_h > >#include "MultiHop.h" > >enum { > AM_DATAMSG = 26 >}; > >typedef struct DataMsg { > uint16_t src; > uint16_t humidity; > uint16_t temperature; > uint16_t par; > uint16_t intTemp; > uint16_t intVoltage; > uint8_t neighborsize; > uint8_t retransmissions; > uint16_t neighbors[MHOP_PARENT_SIZE]; > uint16_t quality[MHOP_PARENT_SIZE]; >} DataMsg; > >#endif > > >MoteDataM.nc >... >//function for sending data back to PC > task void SendData() { > > TOS_Msg msg; > uint8_t neighborsize; > > uint16_t neighbors[MHOP_PARENT_SIZE]; > uint16_t quality[MHOP_PARENT_SIZE]; > > int i; > > DataMsg *message = (DataMsg *)msg.data; > > message->src = TOS_LOCAL_ADDRESS; > message->humidity = humidity; > message->temperature = temperature; > message->par = par; > message->intTemp = itemp; > message->intVoltage = ivolt; > > neighborsize = call RouteStatistics.getNeighborSize(); > > call RouteStatistics.getNeighbors(neighbors, neighborsize); > call RouteStatistics.getNeighborQuality(quality, neighborsize); > > for (i = 0; i < neighborsize; i++) { > message->neighbors[i] = neighbors[i]; > message->quality[i] = quality[i]; > } > > message->neighborsize = neighborsize; > message->retransmissions = call > RouteStatistics.getRetransmissions(); > > if (call SendUART.send(TOS_UART_ADDR, sizeof(DataMsg), &msg)) { > call Leds.redToggle(); > } > > } >... > >Yip Chi Chung > >_______________________________________________ >Tinyos-help mailing list >Tinyos-help@Millennium.Berkeley.EDU >https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help _______________________________________________ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help