[Tinyos-help] invalid operands to binary ^

Arik Sapojnik sapojnik at gmail.com
Thu Apr 1 12:03:41 PDT 2010


Taim,

First of all, as it was suggested please reply to the whole mailing list.
Second - for the network coding purpose you need to XOR the PAYLOAD of the
message.
Currently you are XORing pointers to the message_t structs, which makes no
sense.
If you don't understand the difference, RTFM here:
http://docs.tinyos.net/index.php/Mote-mote_radio_communication

Arik




On Thu, Apr 1, 2010 at 21:27, t'aim . <gotohell38 at hotmail.com> wrote:
Hi,
thanks for reply dude,I am XORing the comming two messages actually its a
network coding program when ever i get two messages it XOR.





2010/4/1 Henrik Mäkitaavola <henrik.makitaavola at gmail.com>

> I think you should, as suggested above, explain what your code should do.
> Because you are doing some, in my oppinion, strage things here.
> For example this line of code:
> (++radioIn >= 2) && (radioIn = 0) ;
> doesnt make sense when written as a statement. You will add one to radioIn
> and set radioIn to zero while doing a logic and (?).
> And one other thing:
> for (j=0;j<=9;j++)
> {
>   line_a[j]=radioQueue[radioOut];
> }
> You are accessing 10 elements in line_a, but it only has 2 elements?
> And the final question: why do you want to xor 2 message_t struct pointers.
> If everything is correct then I guess casting the pointers to ints as
> suggested by Michael would do the job.
> /Henrik
>
>
> 2010/3/25 t'aim . <gotohell38 at hotmail.com>
>
>>  Hi,
>> I am facing error in Xor program ..It is showing invalid operands to
>> binary ^ error ..here is the program plzz help me guys
>>
>>
>>
>> implementation
>> {
>>   message_t  radioQueueBufs[2],line_aBufs[2],line_bBufs[2];
>> //RADIO_QUEUE_LENGTH=12
>>   message_t  * ONE_NOK radioQueue[2];
>>   message_t  * ONE_NOK line_a[2];
>>   message_t  * ONE_NOK line_b[2];
>>   uint8_t    radioIn, radioOut,c,j,z;
>>   bool       radioBusy, radioFull;
>>
>> ...............................................
>> .....................................................
>>
>> event void Boot.booted() {
>>     uint8_t i;
>>
>>     for (i = 0; i < 1; i++)
>> {
>>   radioQueue[i] = &radioQueueBufs[i];
>>   line_a[i]=&line_aBufs[i];
>>   line_b[i]=&line_bBufs[i];
>> }
>>  radioBusy = FALSE;
>>  radioFull = TRUE;
>>
>>  .............................
>> ................................
>>
>> task void radioSendTask();
>> event message_t *RadioReceive.receive[am_id_t id](message_t *msg,void
>> *payload,uint8_t len) {
>>
>>  message_t  *ret=msg;
>>
>>       if (!radioFull)
>> {
>>   ret=radioQueue[radioIn];
>>   radioQueue[radioIn] = msg;
>>   (++radioIn >= 2) && (radioIn = 0) ;
>>
>>     }
>>  post radioSendTask();
>>     return ret;
>>     }
>>
>>
>> task void radioSendTask() {
>>     uint8_t len;
>>
>>
>>     message_t* msg;
>>
>>      if (radioIn == radioOut && !radioFull)
>>  {
>>
>>
>>
>> for (j=0;j<=9;j++)
>> {
>> line_a[j]=radioQueue[radioOut];
>>  }
>> //line_a=[9];
>>
>>
>> for (j=0;j<=18;j++)
>> {
>> line_b[j]=radioQueue[radioOut];
>> }
>> //line_b=[18];
>>
>> c=(line_a[9]) ^ (line_b[18]);             //  error line .I am XORing data
>> in buffer
>>
>>
>>   return;
>> }
>>        msg = radioQueue[c];
>>
>>
>>
>>  if (call RadioSend.send[2](AM_BROADCAST_ADDR, msg, len) == SUCCESS)
>>    call Leds.led2Toggle();
>>    ........
>> ........
>> .......
>>
>> ------------------------------
>> The New Busy is not the old busy. Search, chat and e-mail from your inbox.
>> Get started.<http://www.windowslive.com/campaign/thenewbusy?ocid=PID27925::T:WLMTAGL:ON:WL:en-US:WM_HMP:032010_3>
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> Tinyos-help at millennium.berkeley.edu
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>
>
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help at millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>



-- 
Best Regards,
Arik Sapojnik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20100401/97e4890f/attachment.htm 


More information about the Tinyos-help mailing list