---------- Forwarded message ----------
From: Miklos Maroti <[email protected]>
Date: Thu, Jan 13, 2011 at 12:59 PM
Subject: Re: [Tinyos-help] Problems with Meshbean
To: [email protected]


Hi!

- Get the latest tinyos-2.x code from google to a directory, e.g.
/home/xxx/tinyos-2.x.
- Get the latest tinyos-2.x-contrib/ethz from sourceforge to a
directory, e.g. /home/xxx/tinyos-2.x-contrib/ethz

- Then go to the /home/xxx/tinyos-2.x/tos/platforms directory and type

ln -s /home/xxx/tinyos-2.x-contrib/ethz/meshbean900/tos/platforms/meshbean
meshbean

Do the same for meshbean900. This will create symbolic directories in
your tinyos-2.x tree that will point to the tinyos-2.x-contrib tree.
Then do the same for the support/make/meshbean.target and
meshbean900.target files: in /home/xxx/tinyos-2.x/support/make and
type

ln -s /home/xxx/tinyos-2.x-contrib/ethz/meshbean900/support/make/meshbean.target
meshbean.target

Then you should be able to compile everything. Best,
Miklos


On Thu, Jan 13, 2011 at 12:43 PM,  <[email protected]> wrote:
> Hi Miklos,
>        Thanks for replying, but I couldnt understand what you have stated in 
> the last post. I will share the two files that I am trying to compile for 
> meshbean, please see if they are correct.
>
> BlinkToRadioAppC.nc
>>>
>>> #include <Timer.h>
>>> #include "BlinktoRadio.h"
>>>
>>> configuration BlinkToRadioAppC {
>>> }
>>> implementation {
>>>        components MainC;
>>>        components LedsC;
>>>        components BlinktoRadioC as App;
>>>        components new TimerMilliC() as Timer0;
>>>        components RF230ActiveMessageC;
>>>        components new AMSenderC(AM_BLINKTORADIO);
>>>        components new AMReceiverC(AM_BLINKTORADIO);
>>> //      components CC2420PacketC;
>>> //              App.CC2420Packet -> CC2420PacketC;
>>>
>>>        // components for serial communication with pc
>>> //      components SerialActiveMessageC;
>>> //      components new SerialAMSenderC(AM_RSSI) as PCSender;
>>>
>>>        App.Boot -> MainC;
>>>        App.Leds -> LedsC;
>>>        App.Timer0 -> Timer0;
>>>        App.Packet -> AMSenderC;
>>>        App.AMPacket -> AMSenderC;
>>>        App.AMSend -> AMSenderC;
>>>        App.AMControl ->RF230ActiveMessageC;
>>>        App.Receive -> AMReceiverC;
>>> //      App.SerialSend -> PCSender;
>>> //      App.SerialControl -> SerialActiveMessageC;
>>> }
>>>
>>>
>>> BlinktoRadioC.nc
>>>
>>> #include <Timer.h>
>>> #include "BlinktoRadio.h"
>>>
>>> module BlinktoRadioC {
>>>        uses interface Boot;
>>>        uses interface Leds;
>>>        uses interface Timer<TMilli> as Timer0;
>>>        uses interface Packet;
>>>        uses interface AMPacket;
>>>        uses interface AMSend;
>>>        uses interface SplitControl as AMControl;
>>>        uses interface Receive;
>>>
>>>        }
>>> implementation {
>>>        uint16_t counter = 0;
>>>        bool busy = FALSE;
>>>        message_t pkt;
>>>
>>>        event void Boot.booted() {
>>>        dbg("print","in boot.booted\n");
>>>                call AMControl.start();
>>>        }
>>>
>>>        event void AMControl.startDone(error_t err) {
>>>                if (err == SUCCESS) {
>>>                        dbg("print","in startDone\n");
>>>                        if(!busy) {
>>>
>>>                                BlinktoRadioMsg* btrpkt = 
>>> (BlinktoRadioMsg*)(call Packet.getPayload(&pkt, NULL));
>>>                                btrpkt->nodeid= TOS_NODE_ID;
>>>                                btrpkt->hello= (int)"hello";
>>>                                btrpkt->counter = 1;
>>>
>>>
>>>
>>>                                if (call AMSend.send(AM_BROADCAST_ADDR, 
>>> &pkt, sizeof(BlinktoRadioMsg)) == SUCCESS) {
>>>                                        dbg("print","still sending\n");
>>>                                        busy = TRUE;
>>>                                }
>>>
>>>                        }
>>>                        else {
>>>                                call AMControl.start();
>>>                        }
>>>                }
>>>        }
>>>
>>>        event void Timer0.fired(){
>>>        if(TOS_NODE_ID==1)
>>>                {
>>>                dbg("print","Acknowledgement not received\n");
>>>                }
>>>        }
>>>
>>>        event void AMControl.stopDone(error_t err) {
>>>        }
>>>
>>>        event void AMSend.sendDone(message_t* msg, error_t err) {
>>>                if (&pkt == msg) {
>>>                        dbg("print","sendDone \n");
>>>                        call Timer0.startOneShot(100);
>>>                        busy=FALSE;
>>>                }
>>>                if (&pkt != msg) {
>>>                        dbg("print","sendDone reply\n");
>>>                }
>>>
>>>        }
>>>
>>>        event message_t* Receive.receive(message_t* msg, void* payload, 
>>> uint8_t len) {
>>>
>>>                if (len == sizeof(BlinktoRadioMsg)) {
>>>                        message_t pktrpl;
>>>                        BlinktoRadioMsg* btrpkt = (BlinktoRadioMsg *)payload;
>>>                        BlinktoRadioMsgReply* btrpktrpl = 
>>> (BlinktoRadioMsgReply*)(call Packet.getPayload(&pktrpl, NULL));
>>>                        btrpktrpl->nodeid= TOS_NODE_ID;
>>>
>>>                        call Leds.set(btrpkt->counter);
>>>                        dbg("print","received from %hhu. \n",btrpkt->nodeid);
>>>
>>>                        if (call AMSend.send(btrpkt->nodeid, &pktrpl, 
>>> sizeof(BlinktoRadioMsgReply)) == SUCCESS)
>>>                        {
>>>                            dbg("print","still sending reply\n");
>>>
>>>                        }
>>>
>>>                }
>>>                if (len == sizeof(BlinktoRadioMsgReply))
>>>                {
>>>                        call Leds.set(2);
>>>                        dbg("print","got reply\n");
>>>                }
>>>                return msg;
>>>        }
>>> }
>
> Regards,
> Deepak Hemnani.
>
>
> ----- Original Message -----
> From: "Miklos Maroti" <[email protected]>
> To: [email protected], "TinyOS" <[email protected]>
> Sent: Wednesday, January 12, 2011 12:02:10 PM
> Subject: Re: [Tinyos-help] Problems with Meshbean
>
> Hi! Yes, I know. That is why you need two sources: tinyos2-x. on
> google code and meshbean stuff from tinyos-2.x-contrib/etzh. You
> should add symbolic links in the tinyos-2.x tree to the
> tinyos-2.x-contrib at the following places: to tos/platforms/meshbean
> and meshbean900 and the support/make/meshbean.target and
> meshbean900.target. There might be other files, but these re the ones
> I remember. Miklos
>
> On Wed, Jan 12, 2011 at 6:57 AM,  <[email protected]> wrote:
>> This code doesn't have the files for meshbean. I searched it throughout.
>>
>> Regards,
>> Deepak Hemnani.
>>
>> ----- Original Message -----
>> From: "Miklos Maroti" <[email protected]>
>> To: [email protected]
>> Sent: Tuesday, January 11, 2011 6:08:25 PM
>> Subject: Re: [Tinyos-help] Problems with Meshbean
>>
>> Hi!
>>
>> The tinyos-2.x tree on sourceforge is obsolete. Use this:
>>
>> http://code.google.com/p/tinyos-main/
>>
>> Best,
>> Miklos
>>
>> On Tue, Jan 11, 2011 at 11:25 AM,  <[email protected]> wrote:
>>> Thanks for reply Miklos.
>>>
>>> I found the source available at Sourceforge and replaced my copy with that 
>>> one. I couldn't find the contributed code at Google code. However there are 
>>> still errors in compiling my code. I am pasting the code here for you to 
>>> review, this is a simple application for testing communication between to 
>>> meshbean motes. Please review.
>>>
>>> BlinkToRadioAppC.nc
>>>
>>> #include <Timer.h>
>>> #include "BlinktoRadio.h"
>>>
>>> configuration BlinkToRadioAppC {
>>> }
>>> implementation {
>>>        components MainC;
>>>        components LedsC;
>>>        components BlinktoRadioC as App;
>>>        components new TimerMilliC() as Timer0;
>>>        components RF230ActiveMessageC;
>>>        components new AMSenderC(AM_BLINKTORADIO);
>>>        components new AMReceiverC(AM_BLINKTORADIO);
>>> //      components CC2420PacketC;
>>> //              App.CC2420Packet -> CC2420PacketC;
>>>
>>>        // components for serial communication with pc
>>> //      components SerialActiveMessageC;
>>> //      components new SerialAMSenderC(AM_RSSI) as PCSender;
>>>
>>>        App.Boot -> MainC;
>>>        App.Leds -> LedsC;
>>>        App.Timer0 -> Timer0;
>>>        App.Packet -> AMSenderC;
>>>        App.AMPacket -> AMSenderC;
>>>        App.AMSend -> AMSenderC;
>>>        App.AMControl ->RF230ActiveMessageC;
>>>        App.Receive -> AMReceiverC;
>>> //      App.SerialSend -> PCSender;
>>> //      App.SerialControl -> SerialActiveMessageC;
>>> }
>>>
>>>
>>> BlinktoRadioC.nc
>>>
>>> #include <Timer.h>
>>> #include "BlinktoRadio.h"
>>>
>>> module BlinktoRadioC {
>>>        uses interface Boot;
>>>        uses interface Leds;
>>>        uses interface Timer<TMilli> as Timer0;
>>>        uses interface Packet;
>>>        uses interface AMPacket;
>>>        uses interface AMSend;
>>>        uses interface SplitControl as AMControl;
>>>        uses interface Receive;
>>>
>>>        }
>>> implementation {
>>>        uint16_t counter = 0;
>>>        bool busy = FALSE;
>>>        message_t pkt;
>>>
>>>        event void Boot.booted() {
>>>        dbg("print","in boot.booted\n");
>>>                call AMControl.start();
>>>        }
>>>
>>>        event void AMControl.startDone(error_t err) {
>>>                if (err == SUCCESS) {
>>>                        dbg("print","in startDone\n");
>>>                        if(!busy) {
>>>
>>>                                BlinktoRadioMsg* btrpkt = 
>>> (BlinktoRadioMsg*)(call Packet.getPayload(&pkt, NULL));
>>>                                btrpkt->nodeid= TOS_NODE_ID;
>>>                                btrpkt->hello= (int)"hello";
>>>                                btrpkt->counter = 1;
>>>
>>>
>>>
>>>                                if (call AMSend.send(AM_BROADCAST_ADDR, 
>>> &pkt, sizeof(BlinktoRadioMsg)) == SUCCESS) {
>>>                                        dbg("print","still sending\n");
>>>                                        busy = TRUE;
>>>                                }
>>>
>>>                        }
>>>                        else {
>>>                                call AMControl.start();
>>>                        }
>>>                }
>>>        }
>>>
>>>        event void Timer0.fired(){
>>>        if(TOS_NODE_ID==1)
>>>                {
>>>                dbg("print","Acknowledgement not received\n");
>>>                }
>>>        }
>>>
>>>        event void AMControl.stopDone(error_t err) {
>>>        }
>>>
>>>        event void AMSend.sendDone(message_t* msg, error_t err) {
>>>                if (&pkt == msg) {
>>>                        dbg("print","sendDone \n");
>>>                        call Timer0.startOneShot(100);
>>>                        busy=FALSE;
>>>                }
>>>                if (&pkt != msg) {
>>>                        dbg("print","sendDone reply\n");
>>>                }
>>>
>>>        }
>>>
>>>        event message_t* Receive.receive(message_t* msg, void* payload, 
>>> uint8_t len) {
>>>
>>>                if (len == sizeof(BlinktoRadioMsg)) {
>>>                        message_t pktrpl;
>>>                        BlinktoRadioMsg* btrpkt = (BlinktoRadioMsg *)payload;
>>>                        BlinktoRadioMsgReply* btrpktrpl = 
>>> (BlinktoRadioMsgReply*)(call Packet.getPayload(&pktrpl, NULL));
>>>                        btrpktrpl->nodeid= TOS_NODE_ID;
>>>
>>>                        call Leds.set(btrpkt->counter);
>>>                        dbg("print","received from %hhu. \n",btrpkt->nodeid);
>>>
>>>                        if (call AMSend.send(btrpkt->nodeid, &pktrpl, 
>>> sizeof(BlinktoRadioMsgReply)) == SUCCESS)
>>>                        {
>>>                            dbg("print","still sending reply\n");
>>>
>>>                        }
>>>
>>>                }
>>>                if (len == sizeof(BlinktoRadioMsgReply))
>>>                {
>>>                        call Leds.set(2);
>>>                        dbg("print","got reply\n");
>>>                }
>>>                return msg;
>>>        }
>>> }
>>>
>>>
>>>
>>> ----- Original Message -----
>>> From: "Miklos Maroti" <[email protected]>
>>> To: [email protected]
>>> Cc: [email protected]
>>> Sent: Tuesday, January 11, 2011 2:48:26 PM
>>> Subject: Re: [Tinyos-help] Problems with Meshbean
>>>
>>> Hi Deepak,
>>>
>>> Do you use the latest tinyos SVN code from google code and the latest
>>> tinyos-2.x-contrib/etzh meshbean platforms? That should work without a
>>> problem.
>>>
>>> Best,
>>> Miklos
>>>
>>> On Tue, Jan 11, 2011 at 6:06 AM,  <[email protected]> wrote:
>>>> Hello,
>>>>           I have been working with TinyOs for quite sometime now. I wrote
>>>> small applications with Micaz and they seemed to work properly, however 
>>>> when
>>>> I wrote them for meshbean I am facing quite a few errors. My guess is that
>>>> my source files are not properly updated. Please guide me with this error. 
>>>> I
>>>> have written a simple application to exchange data.
>>>> Regards,
>>>> Deepak Hemnani.
>>>>
>>>>
>>>> mkdir -p build/meshbean
>>>>     compiling BlinkToRadioAppC to a meshbean binary
>>>> ncc -o build/meshbean/main.exe  -Os -fnesc-separator=__ -Wall -Wshadow
>>>> -Wnesc-all -target=meshbean -fnesc-cfile=build/meshbean/app.c -board=
>>>> -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=100000
>>>> -DIDENT_APPNAME=\"BlinkToRadioApp\" -DIDENT_USERNAME=\"root\"
>>>> -DIDENT_HOSTNAME=\"localhost.local\" -DIDENT_USERHASH=0x53b81074L
>>>> -DIDENT_TIMESTAMP=0x4d2be47cL -DIDENT_UIDHASH=0xa5a00463L 
>>>> -fnesc-dump=wiring
>>>> -fnesc-dump='interfaces(!abstract())' 
>>>> -fnesc-dump='referenced(interfacedefs,
>>>> components)' -fnesc-dumpfile=build/meshbean/wiring-check.xml
>>>> BlinkToRadioAppC.nc -lm
>>>> In file included from BlinkToRadioAppC.nc:9:
>>>> In component `BlinktoRadioC':
>>>> BlinktoRadioC.nc: In function `AMControl.startDone':
>>>> BlinktoRadioC.nc:30: warning: passing argument 2 of `Packet.getPayload'
>>>> makes integer from pointer without a cast
>>>> BlinktoRadioC.nc: In function `Receive.receive':
>>>> BlinktoRadioC.nc:76: warning: passing argument 2 of `Packet.getPayload'
>>>> makes integer from pointer without a cast
>>>> In component `LocalTimeMicroC':
>>>> /home/thechamp/Desktop/tinyos_testing/tos/platforms/iris/LocalTimeMicroC.nc:
>>>> At top level:
>>>> /home/thechamp/Desktop/tinyos_testing/tos/platforms/iris/LocalTimeMicroC.nc:39:
>>>> no match
>>>> In component `HplRF230C':
>>>> /home/thechamp/Desktop/tinyos_testing/tos/platforms/meshbean/chips/rf230/HplRF230C.nc:72:
>>>> no match
>>>> In component `ActiveMessageC':
>>>> /home/thechamp/Desktop/tinyos_testing/tos/platforms/iris/ActiveMessageC.nc:64:
>>>> no match
>>>> make: *** [exe0] Error 1
>>>>
>>>>
>>>> _______________________________________________
>>>> 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

Reply via email to