[Tinyos-devel] DelugeT2 and MIB600, serialforwarder

Razvan Musaloiu-E. razvanm at cs.jhu.edu
Mon Sep 15 09:42:23 PDT 2008


Hi!

On Mon, 15 Sep 2008, Vincent Borrel wrote:

>> 
>>> Basically I stopped trying using deluge T2. I couldn't get past injecting 
>>> an image. Disseminate or disseminate and reprogram couldn't be got to 
>>> effectively do anything useful.
>>> 
>>> I quit losing my time on that one after 2 all nighters. That's been far 
>>> more than all the time I could spend exchanging motes for my project, and 
>>> I feel like having wasted a lot of time with that superb tool.
>> 
>> Sorry to hear that. :-(
>> 
>>> If someone got the magical procedure to make Deluge T2 work, could they 
>>> please indicate me the correct shaman sequence of sorts ?
>> 
>> A clarification question: you we were not able to run it using MIB600? It 
>> should work using MIB510 and MIB520.
>
> MIB600, yes. What is interesting though, is that with SF & the modifs below, 
> Deluge T2 works correctly.
> I can inject, reprogram, ping
>
> As for disseminate or disseminate & reprogram, the message gets sent to the 
> mote, it flashes green at some point, but nothing gets done besides this.

How about the reprogram ('-r') command? Does that work?

> I guess it's not related to me using this modif on an MIB600.

It works fine on MIB510/MIB520 so there must be something different with 
MIB600.

Request to the community: is somebody willing to send me a MIB600 for 
getting it fully supported by Deluge T2? :-)

--
Razvan ME

> Is these something usually preventing the dissemination from working ?
>
> Vincent.
>
>> 
>> 
>> --
>> Razvan ME
>> 
>>> OK, rant over, back to work ;).
>>> 
>>> Vincent.
>>> 
>>> Le 4 sept. 08 à 15:53, Razvan Musaloiu-E. a écrit :
>>> 
>>>> Hi!
>>>> Thanks for the patch! There is one thing I would like to warn about: the
>>>> serial upload protocol for Deluge T2 doesn't use any user level acks and
>>>> the SF TCP protocol doesn't indicate the failure of a failure of a serial
>>>> write. I argue for adding support for this as part of this thread:
>>>> 	https://www.millennium.berkeley.edu/pipermail/tinyos-devel/2008-June/thread.html#3052
>>>> Because of this limitation I stop trying to made Deluge T2 work using
>>>> the SF protocol.
>>>> Note: a good news is that MIG600 is using a serial speed of 57600 which
>>>> should make serial writer failure very infrequent. :-)
>>>> --
>>>> Razvan ME
>>>> On Thu, 21 Aug 2008, Vincent Borrel wrote:
>>>>> Hi,
>>>>> I have been trying to get Deluge T2 to work with an MIB600 programming board.
>>>>> I finally managed to get it to work using a serialforwarder (on default port
>>>>> 9002), and adding two modifications:
>>>>> in $TOSROOT/tinyos-2.x/support/sdk/python/tos.py, I added the timeout
>>>>> parameter to SFClient.write()
>>>>> @line 713
>>>>> def write(self, payload, timeout):
>>>>> instead of
>>>>> def write(self, payload):
>>>>> (hoping it doesn't break havoc, which normally shouldn't)
>>>>> the python script tos-deluge has also been modified. Here is the diff:
>>>>> 402,403c402,403
>>>>> <     if sys.argv[2] == 'sf':
>>>>> <         baudrate = 0
>>>>> ---
>>>>>> if sys.argv[2] in BAUDRATES:
>>>>>>     baudrate = BAUDRATES[sys.argv[2]]
>>>>> 405,428c405,417
>>>>> <       if sys.argv[2] in BAUDRATES:
>>>>> <           baudrate = BAUDRATES[sys.argv[2]]
>>>>> <       else:
>>>>> <           try:
>>>>> <               baudrate = int(sys.argv[2])
>>>>> <           except:
>>>>> <               print "ERROR: Wrong baudrate"
>>>>> <               sys.exit(-1)
>>>>> <
>>>>> <     # Initializes serial or serialforwarder port communication
>>>>> <     if baudrate == 0:
>>>>> <       try:
>>>>> <           s = tos.SFClient(sys.argv[1], 9002)
>>>>> <           am = tos.AM(s)
>>>>> <       except:
>>>>> <           print "ERROR: Unable to initialize network port connection to", sys.argv[1]
>>>>> <           sys.exit(-1)
>>>>> <     else:
>>>>> <       try:
>>>>> <           s = tos.Serial(sys.argv[1], baudrate, flush=True, debug=False)
>>>>> <           am = tos.AM(s)
>>>>> <       except:
>>>>> <           print "ERROR: Unable to initialize serial port connection to",  sys.argv[1]
>>>>> <           sys.exit(-1)
>>>>> ---
>>>>>>     try:
>>>>>>         baudrate = int(sys.argv[2])
>>>>>>     except:
>>>>>>         print "ERROR: Wrong baudrate"
>>>>>>         sys.exit(-1)
>>>>>> 
>>>>>> # Initializes serial port communication
>>>>>> try:
>>>>>>     s = tos.Serial(sys.argv[1], baudrate, flush=True, debug=False)
>>>>>>     am = tos.AM(s)
>>>>>> except:
>>>>>>     print "ERROR: Unable to initialize serial port connection to", 
>>>>>> sys.argv[1]
>>>>>>     sys.exit(-1)
>>>>> I hope this can be useful to the community.
>>>>> Vincent.
>


More information about the Tinyos-devel mailing list