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

Reply via email to