[Tinyos-help] about Surgetelos

2008-07-31 Thread allen5151
 
 
  
Hi everyone,
 
   I am using telosb with Surgetelos programming on it, and it works properly. 
I notice that it uses MultiHopLQI route module, and I want to know the 
difference between MultiHopLQI and MintRoute,so I changed the route module 
wiring in Surge.nc as
 
   WMEWMAMultiHopRouter as multihopM
 
then it doesn't work well, I can't receive the the other motes' data except the 
base mote(id 0).Could anyone tell me why this happened? I am confused for quite 
a long time.
 
   Thank you!
 ___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] about Surgetelos

2008-07-31 Thread allen5151
 
 
  
Hi everyone,
 
   I am using telosb with Surgetelos programming on it, and it works properly. 
I notice that it uses MultiHopLQI route module, and I want to know the 
difference between MultiHopLQI and MintRoute,so I changed the route module 
wiring in Surge.nc as
 
   WMEWMAMultiHopRouter as multihopM
 
then it doesn't work well, I can't receive the the other motes' data except the 
base mote(id 0).Could anyone tell me why this happened? I am confused for quite 
a long time.
 
   Thank you!
 ___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] error using UartStream......

2008-07-31 Thread Varun Jain
Hi,

Thanks for your reply. I am sorry if I missed telling that I am using
motes similar to Micaz in Tinyos-2.0.2 and Cygwin. The UART used here
for Atmega128 is UART1. It is not used for Flash or Radio but is used
only for serial communication. I am currently able to correctly do
communication with the PC where as I want to attach a 7-segment LED
screen to the serial port instead of a PC. I read the complete hardware
specifications of both my motes and the serial cable attached to the LED
screen. What the LED screen is EXPECTING is data on a single pin (RXD on
led screenside) which should be connected to the TXD1 of the Atmel
processor. Now my atmel atmega128 is connected to a RS-232 driver chip
which is expecting RTS, CTS, TXD1 and RXD1, so my first question is if I
use UartStream.send , will it just send the data to the TXD1 pin or do
we need to send the complete control signals as my LED board is not
expecting the control signals??? I went on to look the PlatformSerialC
for my platform, it connects to Atm128Uart correctly and
HplAtm128UartP,, so that should not be a problem. The next thing is that
the my LED screen is expecting commands like as follows:

 

[uid] ['a'/'b'...] [digit 1] [digit 2] [digit 3] [digit 4]

 

Where:

the uid preprogrammed is 255,so to send the equivalent ascii is a space,
'a' means turn on all the 4 LED's and digit1 is say '1',etc etc.

 

So, what I am trying to do is something like this:

 

Event void some_event() {

call SendUartStream.send( a1234,6);

}

 

async event void SendUartStream.sendDone(uint8_t* buffered, uint16_t
len, error_t ok) {

if (ok == SUCCESS) {

call Leds.led0Toggle();

}

  }

  

  async event void SendUartStream.receivedByte(uint8_t byte)

{

char string[] =  a1234;

call SendUartStream.send(string,6);

call
SendUartStream.disableReceiveInterrupt();

}

 

  async event void 

SendUartStream.receiveDone(uint8_t *buf, uint16_t len,
error_t error)

{

call SendUartStream.send(buffer,6);

}

 

NOW I HAVE been able to get over with the errors sent earlier by
declaring the receivedByte and receiveDone events (though, I do not
still understand why we need to do this when we do not want to receive
any byte, all I want is to just send the bytes to the UART), but the
error is fixed, so I am trying to first get the LED screen working, but
its not working. AM I using the UartStream.send incorrectly or am I
missing something??? IS THERE something more that is needed to be done
for using the UartStream??

 

Guillermo: I tried searching for the code you mention but could not
find, I am not using Msp430 controller so, I do not have to request a
resource, the resource is always mine.

 

I hope I was able to explain my issue, please let me know if you people
need more info for helping me out here..

 

Cheers,

Varun Jain

 

 

From: Guillermo De Cesco [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 30, 2008 10:47 PM
To: tinyos-help@millennium.berkeley.edu
Cc: Varun Jain
Subject: [Tinyos-help] error using UartStream..

 

Hi all,

For all the ones that wants to use uart communication in tmote, some
things have to be taken in consideration:
-What uart do you want to use, UART1 is the uart associated with USB
communication so this isn't the one you want to use probably. UART0 is
the one exported in the expansion pin connector, but is also shared as a
SPI bus with stm25p flash and cc2420 radio chips.
-What type of communication you intend to establish, i.e just send bytes
to uart, just receive, receive in response to a sent command, or send
and receive in a full duplex manner were the receive is not correlated
to the send event.

Taken this things into account one cant do the following:
-In the case that you use UART1 there is no problem at all, I mean you
remove the usb or what ever but you have access to the uart, there is no
conflict chip intervening in this uart.
For the case you use UART0, the most common case:
-For just  sending:
- you have to request the resource
- when granted the resource send your bytes.
- when send done release the resource.
-For just receive or send and receive asynchronously do the same:
   - request the resource at boot
   - own the resource for ever. YOU WON'T BE ABLE TO USE FLASH NOR RADIO
-For receive that is correlated in time with the send:
   - request the resource.
   - when granted the resource send your bytes.
   - when send done done nothing.
   - wait until the receive is done.
   - then release resource.
In this last configuration you would be able to use flash and radio.

For Varun:
In your case you have some compile errors in using the interface because
you don't wire all the events the interface provides. I almost sure

Re: [Tinyos-help] Doing Re-transmissions

2008-07-31 Thread ram kishore
On Thu, Jul 31, 2008 at 12:59 PM, ram kishore [EMAIL PROTECTED] wrote:
 Hi,
Can I know what is the amount of random time backed-off to avoid 
 collisions?
 Can any interface tell me that?

 Regards,
 Kishore

 On Thu, Jul 31, 2008 at 1:03 AM, Michael Schippling [EMAIL PROTECTED] wrote:
 I don't know an exact message delay figure. There's some software
 overhead, and then the MAC protocol which may backoff a random
 time to avoid collisions. There's also some indication that there
 should be a few milli-sec delay before retrying a message -- see
 recent posts and my message reliability reports -- but that might
 be receiver related.

 MS

 ram kishore wrote:

 Hi,
   The robocode you sent gave a deep insight.Thanks Micheal.
 One question;How long(in micro seconds) will the mote wait before
 doing retransmission? This should be protocol specific.

 Regards,
 Kishore

 On Wed, Jul 30, 2008 at 10:29 PM, Michael Schippling [EMAIL PROTECTED]
 wrote:

 Lets keep this on the help list

 As for loop 1, if you enable ACKs in the protocol they are handled
 in the lower levels and sendDone() is not called until the message
 is ACKed or times out. Search this list for many ACK explanations,
 and references to my robocode that makes extensive use of ACKs.

 As for message copy. You need a message buffer that lasts at least
 until all the sends are Done. If you can keep track of the buffer
 from the original message then you can just re-use it, otherwise
 you should copy it before trying to send again because the send
 operation will last longer than the scope of the function call,
 task or not...

 MS


 ram kishore wrote:

 Hi,

 I put loop 1  because I want a message (ACK) to be received after a
 message is sent.Thats why I switched to Receiving mode.
 Secondly,putting the re-transmit into separate task and post it form
 done() would require the message to be copied again, which is memory
 inefficient.

 Regards,
 Kishore

 On Tue, Jul 29, 2008 at 11:28 PM, Michael Schippling [EMAIL PROTECTED]
 wrote:

 beats me...why are you doing loop 1? by the time you get to done()
 transmission should be complete. Also I would put the re-transmit
 into a separate task and post it from done()...

 MS

 ram kishore wrote:

 Hi,
   I did the following:

  event result_t RsendMsg.sendDone(TOS_MsgPtr msg, result_t
 success)
  {
 result_t txmode,sndmsg;

  TOSH_uwait(1000);

  do{
  /*LOOP 1*/
txmode = call CC1000Control.RxMode();
}while(!txmode);
if ( txmode == SUCCESS )
call CLeds.yellowOff();

   do{
   /* LOOP2*/
sndmsg = call RsendMsg.send(TOS_BCAST_ADDR,12,msg);
}while(!sndmsg);
   if ( sndmsg == SUCCESS )
   call CLeds.yellowOn();

  return SUCCESS;
  }

 If I remove LOOP 1, then retransmissions occur.But, when LOOP 1 is
 included no retransmissions occur.
 What could be the reason.?

 Regards,
 Kishore
 On Mon, Jul 28, 2008 at 11:44 PM, Michael Schippling
 [EMAIL PROTECTED]
 wrote:

 Just some things to try...

 I'd bet that the message buffer gets reused or erased before your
 second send can complete. You may also have trouble calling the
 send directly from the done, since done is in an event
 context which is sometimes tantamount to an interrupt, perhaps
 try copying the message and posting a task to resend?

 Another possibility is that you are walking over the normal
 send process. You should check the result of the second send
 to see if it's giving you an error. And you may need to put
 in some condition variable to block simultaneous sends.

 All that said, TOSBase seems to be a bit of a
 hack-to-get-things-to-work so it might not be
 easy to modify

 MS


 ram kishore wrote:

 Hi all,
  I am using TOS1.1.10 .In the standard receiver application
 TOSBase. I am trying to retransmit the message.I sent a message by
 calling

  call RadioSend.send(gpTxMsg);.

 For this RadioSend.sendDone(TOS_MsgPtr Msg, result_t success)
 event is generated.
 Hoping that Msg is a pointer to the already transmitted
 message,I call

call RadioSend.send(Msg);  to retransmit the same message again.

But the message is not being re-transmitted .

  Can somebody tell me what is wrong   or  how to accomplish
 retransmission?

 Regards,
 Kishore
 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu


 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] Power Tossim for TinyOS 2_0_2

2008-07-31 Thread Nahr ...
Hi all,

Is there any working power tossim implementation for the TinyOS 2_0_2
version ?


Thanks

Nahr Elk
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] How to measure the ambient noise using TinyOS 2.x?

2008-07-31 Thread funofnet Funofnet
Hi you can use rssisample application.

 I have MicaZ motes using TinyOS 2.x. How can I measure the ambient noise
 level? Thanks.


  
_ 
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] Help : segmentation fault problem !!!

2008-07-31 Thread fatima zohra
hi,
i tried to execute my program in tinyos1.x under Tossim and i get a
segmentation fault(core dumped) message, which stop the execution (before
the end of simulation period)
i add that i had two warnings while compiling my application :
here is what i got :

*$ make pc
mkdir -p build/pc
compiling DDTest to a pc binary
ncc -o build/pc/main.exe -g -O0 -pthread -fnesc-nido-tosnodes=1000
-fnesc-simulate -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=pc
-fnesc-cfile=build/pc/app.c -board=micasb -DENABLE_GRADIENT_OVERRIDE -I.
-I../../tos/interfaces -I../../tos/system -I../../tos/lib
-I../../tos/platform/pc -DIDENT_PROGRAM_NAME=\DDTest\
-DIDENT_USER_ID=\benhamida\ -DIDENT_HOSTNAME=\XubunTOS-2\
-DIDENT_USER_HASH=0x69fe3900L -DIDENT_UNIX_TIME=0x48916f16L
-DIDENT_UID_HASH=0x9df5d5cdL DDTest.nc -lm
/opt/tinyos-1.x/tos/platform/pc/external_comm.c: In function
'acceptConnection':
/opt/tinyos-1.x/tos/platform/pc/external_comm.c:158: warning: pointer
targets in passing argument 3 of 'accept' differ in signedness
/opt/tinyos-1.x/tos/platform/pc/PowerStateM.nc: In function
'__nesc_nido_initialise':
/opt/tinyos-1.x/tos/platform/pc/PowerStateM.nc:1066: warning: passing
argument 1 of 'memset' discards qualifiers from pointer target type
compiled DDTest to build/pc/main.exe
$ export DBG=usr1,usr3,error
$ ./build/pc/main.exe -t=90 -b=0 -r=lossy -rf=./topologies/grid3x3 9 
stat.txt
*Segmentation fault (core dumped)
*


have any one already experienced this issue ?
your fast suggestions are kindly appreciated
best regards
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] Uart and CC2420 module conflict on telos Platform?

2008-07-31 Thread Han Yidong
Hi Bill,

 

I saw your reply about UartStream error in the TinyOS mailing list.
Impressive! 

 

Actually I also encountered the same Uart1 problem in my project. I am
now using telos platform, which is BSN development kit from Imperial
College London.

 

This platform has SPI/Uart0 interface and Uart1. Our group is now using
this BSN Development Kit to develop our own prototype, which  use
another platform Platform1 to connect to BSN through Uart1 interface, we
build our own CC2420 stack on Platform1 and try to communicate with
another BSN node trough CC2420, like the following graph.  

 

   Telos(BSN)

|-|

| |---| SPI  |---||
Uart |--|

| |   RF  | --- | MSP430
|-|--|Platfrom1   |

||---| BSN Node|---||
| -|

|-|

 

One thing I may mention is that, I plug the BSN into PC to utilize the
USB power supply, but when I use battery , the UART1 could not work at
all. I still don't know why.

 

Caus we don't have standalone CC2420 module. What telos platform do is
to function as Uart-SPI gateway in that we want to utilize the CC2420
module without using CC2420 stack on Telos . On it, we use TinyOS 2.x to
program the node, when operating the RF module, we use purely Usart
interface to read or write CC2420, like the following interfaces:

 

  call Usart.clrTxIntr();

  call Usart.tx( ch );

  call InterruptFIFOP.clear();

 

 

 

When we try to operate CC2420 on BSN and meanwhile transmit data through
Uart,  then few problems happen. 

 

1.  After SRXON command strobe is sent to CC2420, we continue to try
to send data through Uart1, it turn that the data could not be received
correctly at BSN side. But before that command, the Uart1 works quit
well.

2.   The same problem would happen after I send STXON command
strobe.

3.   Since we only trace to the STXON step, we could not guarantee
there's no problem for other command strobes, if so, can you point them
out?

 

Have you ever encountered this kind of problem? Or do you have any idea
about these? 

 

Besides, Is there any efficient method to debug BSN development kit, or
telos platform? Do we need to buy other ICE tools if we want to debug
BSN?

 

Best Wishes,

Yidong, Neil

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] Own generic Receiver for cluster routing

2008-07-31 Thread jordanow
Hi *

  I programm a cluster routing protocol for TinyOS2 and have following 
problem. I use AMPackage and will send and receive all AM types but only 
in one cluster. I've made own header I store at the begin of payload. So 
i provide own ClusterPacket and Packet to get the real payload and my 
header... I defined a cluster_id_t (uint8_t) and will provide 
Sender[am_id_t amId] and Receiver[am_id_t amId] but for different 
clusters. So I'made a gengeric module and configuration as follow : 
(This is only for Receive)


ClusterReceiverP.nc

generic module ClusterReceiverP(cluster_id_t cId) {
  provides interface Receive[am_id_t amId];
  uses{
interface Receive as SubReceive[am_id_t amId];
interface Packet;
interface ClusterPacket;
  }
}
implementation {

  //--
  /* Receive commands /
  command void* Receive.getPayload[am_id_t id](message_t *msg, uint8_t 
*len){
return call Packet.getPayload(msg,len);
  }

  command uint8_t Receive.payloadLength[am_id_t id](message_t *msg){
return call Packet.payloadLength(msg);
  }
  
  event message_t* SubReceive.receive[am_id_t amId]( message_t* msg, void* 
payload, uint8_t len){
if (call ClusterPacket.cluster(msg) == cId){
signal Receive.receive[amId](msg,payload,len);
}
return msg;
  }
  
  default event message_t* Receive.receive[am_id_t amId]( message_t* msg, 
void* payload, uint8_t len){
return msg;
  }
  //--

}
**

AND ClusterReceiverC.nc

#include AM.h
#include SCluster.h

generic configuration ClusterReceiverC(cluster_id_t cId) {
  provides {
interface Receive[am_id_t amId];
interface Packet;
interface ClusterPacket;
}
}

implementation {
  components new ClusterReceiverP(cId) as ClusterReceiverP;
  components ClusterSenderC, ActiveMessageC;
  
  ClusterReceiverP.SubReceive - ActiveMessageC.Receive;
  ClusterReceiverP.ClusterPacket - ClusterSenderC;
  ClusterReceiverP.Packet - ClusterSenderC;
  
  Receive = ClusterReceiverP;
  Packet = ClusterSenderC;
  ClusterPacket = ClusterSenderC;
}
***

I use two instances of Receiver in higher layer and I get fan out warning.

 warning: calls to Receive.receive in CC2420ActiveMessageP fan out, but 
there is no combine function specified for the return type.
I think becouse of my Receiver is not UNIQUE (or my SubReceive)?!? Is 
that right? Some suggestion ?

thanks in advance

  Jordan Jordanow


Dwa tysiące lat temu Chiński Cesarz Smok podbił połowę świata.
Teraz Wraca by dokończyć dzieło... Film pełen EFEKTÓW SPECJALNYCH.
MUMIA: GROBOWIEC CESARZA SMOKA - w kinach. 
http://klik.wp.pl/?adr=http%3A%2F%2Fcorto.www.wp.pl%2Fas%2FMumiaGrobowiec.htmlsid=436


___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] collection, multiple roots, multiple id's - help

2008-07-31 Thread De-MonHell

hi all.

THE EXAMPLE: 
i have 4 motes: 0,1,3,4 (these are their TOS_NODE_ID)
Inside them i have basically the same application that use a single collection 
with AREA_ID as colllection id BUT:
node 0 and 1 have a enum inside them like this:
AREA_ID=0
node 3 and 4 have 
AREA_ID=1

(for every node: i change the AREA_ID, i recompile and finally i deploy)

Node 0 and 2 will act as root of the collection service.
Node 1 and 3 will measure the ambient temperature and send it the the leader 
of their respective area (using the collection sender)
so node 1 will send its data to node 0 and
node 4 to node 3

This is (my) exptected behavior.

THE PROBLEM: 
but this case sometimes work and sometimes not. both temperature nodes sent 
their data (connecting them to the pc i can see their printf )
node 0 and 2 indeed, sometimes both thei receive the data, sometimes only one 
of the two.

INFO
i'm using the tinyos 2 from CVS
4 tmotesky motes
i attach the files of the application

ANSWER?!
am i missing something about the collection protocol?
what can i check to understand what is failing?
why sometimes work and sometimes not?


thanks to all who will read this help request. 
regards, Mauro
/**
 * Test per provare vari nodi con diverse collection con differenti id nella stessa rete
 */
#include printf.h

enum{
	AREA_ID= 0 ,
	TEMPERATURE_CHECK_INTERVAL=3000
};


configuration NullAppC{}
implementation {
  components MainC, NullC, LedsC;
  components new TimerMilliC() as TimerC;
  components CollectionC;
  components ActiveMessageC;
  components new CollectionSenderC(AREA_ID);
  components new TemperatureSensorC();

  MainC.Boot - NullC;
  NullC.Leds-LedsC;
  NullC.TemperatureTimer-TimerC;
  NullC.TemperatureRead-TemperatureSensorC;
  NullC.CollectionControl-CollectionC;
  NullC.RadioControl-ActiveMessageC;
  NullC.RootControl-CollectionC;
  NullC.TemperatureSend-CollectionSenderC;
  NullC.TemperatureReceive-CollectionC.Receive[AREA_ID];
}

#include printf.h
#define boolToString(bool) ((bool) ? TRUE : FALSE) 

	typedef nx_struct TemperatureMsg{
		nx_uint16_t sender_id;
		nx_uint16_t value;
	}TemperatureMsg_t;


module NullC
{
  uses interface Boot;
  uses interface SplitControl as RadioControl;
  uses interface StdControl as CollectionControl;
  uses interface Readuint16_t as TemperatureRead;
  uses interface Send as TemperatureSend;
  uses interface Leds;
  uses interface TimerTMilli as TemperatureTimer;
  uses interface RootControl;
  uses interface Receive as TemperatureReceive;
}
implementation
{

  message_t packet;
  bool sendBusy = FALSE;

  event void Boot.booted() {
if(call RadioControl.start()!=SUCCESS){
		call Leds.led0On();
	printf(NODE %d\t| ERROR | radio start\n,TOS_NODE_ID);
	printfflush();
}
	printf(NODE %d\t| \n,TOS_NODE_ID);
	printfflush();
  }
  
  event void RadioControl.startDone(error_t OK){
  	if(OK!=SUCCESS){
 		call Leds.led0On();
	printf(NODE %d\t| ERRORE | radio start\n,TOS_NODE_ID);
	printfflush();  		
		call RadioControl.start();
	return;
  	}
	printf(NODE %d\t| radio ok. collection start\n,TOS_NODE_ID);
	printfflush();
  	call CollectionControl.start();
  	switch(TOS_NODE_ID){
  	case 0:
  	case 2:
  		//leaders simply catch arriving data
  		call RootControl.setRoot();
		printf(NODE %d\t| AREA_ID: %d, IS_ROOT: %s \n,TOS_NODE_ID,AREA_ID,boolToString(call RootControl.isRoot()));
		printfflush();
  		break;
  	case 1:
  	case 3:
  		//sensor nodes
  		call RootControl.unsetRoot();
  		call TemperatureTimer.startPeriodic(TEMPERATURE_CHECK_INTERVAL);
		printf(NODE %d\t| AREA_ID: %d, IS_ROOT: %s \n,TOS_NODE_ID,AREA_ID,boolToString(call RootControl.isRoot()));
		printfflush();
  		break;
  	default:
		call Leds.led0On();
		printf(NODE %d\t| ERRORE | node id out of range\n,TOS_NODE_ID);
		printfflush();
		return;
  	}
  }
  
  event void RadioControl.stopDone(error_t OK){  }
  
  event void TemperatureTimer.fired(){
		printf(NODE %d\t| timer fired\n,TOS_NODE_ID);
		printfflush();  	
		call TemperatureRead.read();
  }
  
  event void TemperatureRead.readDone(error_t OK, uint16_t temperature){
  	if(OK!=SUCCESS){
		call Leds.led0On();
		printf(NODE %d\t| ERRORE | temperature read\n,TOS_NODE_ID);
	printfflush();  	
	return;
  	}
	printf(NODE %d\t| temperature: %d\n,TOS_NODE_ID, temperature);
	printfflush();  	
	if(!sendBusy){
		TemperatureMsg_t * msg =(TemperatureMsg_t*)call TemperatureSend.getPayload(packet, sizeof(TemperatureMsg_t));
		msg-sender_id=TOS_NODE_ID;
		msg-value = temperature;
		
		if (call TemperatureSend.send(packet, sizeof(TemperatureMsg_t)) != SUCCESS){ 
			call Leds.led0On();
			printf(NODE %d\t| ERRORE | temperature read\n,TOS_NODE_ID);
			printfflush();  	
			return;
		}else {
			printf(NODE %d\t| temperature send\n,TOS_NODE_ID);
			printfflush();  	
			sendBusy = TRUE;
		}
	}else{
		call Leds.led0On();
		printf(NODE %d\t| ERRORE | send blocked: radio busy\n,TOS_NODE_ID);
	printfflush();  	
	return;
	}
  }
  
  event 

[Tinyos-help] Changing the buffer size of printf (PRINTF_BUFFER_SIZE)

2008-07-31 Thread Nicola Wegner
Hi,

i tried to change the buffer size of printf as mentioned in the TinyOS
documentation by adding the following line to my Makefile:

 CFLAGS += -DPRINTF_BUFFER_SIZE=2000

When I try to build the application it fails. The problem is that the
last three lines of the following output repeat forever:

-
$ makesnooper.sh
mkdir -p build/micaz
compiling SnooperAppC to a micaz binary
ncc -o build/micaz/main.exe -Os -I%T/lib/net/ctp -I%T/lib/net
-I%T/lib/net/le -finline-limit=10 -Wall -Wshadow -Wnesc-all
-target=micaz -fnesc-cfile=build/micaz/app.c
 -board=mts300 -I/opt/tinyos-2.x/tos/lib/printf -I../
-DCC2420_NO_ACKNOWLEDGEMENTS -DCC2420_NO_ADDRESS_RECOGNITION
-DPRINTF_BUFFER_SIZE=2000 -DIDENT_PROGRAM_NAME=\SnooperAppC\
-DIDENT_USER_ID=\Nicki\ -DIDENT_HOSTNAME=\ltnic\
-DIDENT_USER_HASH=0xce21d42fL -DIDENT_UNIX_TIME=0x4891a807L
-DIDENT_UID_HASH=0xd45e3960L -fnesc-dump=wiring
-fnesc-dump='interfaces(!abstract())'
-fnesc-dump='referenced(interfacedefs, components)'
-fnesc-dumpfile=build/micaz/wiring-check.xml SnooperAppC.nc -lm
In file included from SnooperC.nc:1:
/opt/tinyos-2.x/tos/lib/printf/printf.h:41:1: warning:
PRINTF_BUFFER_SIZE redefined

command line:5:1: warning: this is the location of the previous definition
In file included from command line:13:
/tmp/nesccppm2005000:1046:1: warning: PRINTF_BUFFER_SIZE redefined
-

Does anybody know a clean way to change the buffer size that works? Or
am I doing anything wrong? I do not want to change it in the printf.h
file because this would affect all applications and I only want to
change it for my snooper application.

Thanks Nicola
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] error using UartStream......

2008-07-31 Thread Guillermo De Cesco
Hi,

The uart communicatioin only uses RX and TX, those are the only pins you
should be aware of. In the case of only transmit you are doing right, just
connect the TX pin and also GND. Check te baudrate, byte length, parity,
stop bits i.e 8N1, of the UartStream and your Led display.
I am not sure you are sending the commands correctly,  a1234, space
caracter is actually decimal 32. try with a buffer like this
to be sure

char buff[6]={255,'a','1','2','3','4'};

  call SendUartStream.send(buff,6);


Bill

On Thu, Jul 31, 2008 at 3:48 AM, Varun Jain [EMAIL PROTECTED] wrote:

  Hi,

 Thanks for your reply. I am sorry if I missed telling that I am using motes
 similar to Micaz in Tinyos-2.0.2 and Cygwin. The UART used here for
 Atmega128 is UART1. It is not used for Flash or Radio but is used only for
 serial communication. I am currently able to correctly do communication with
 the PC where as I want to attach a 7-segment LED screen to the serial port
 instead of a PC. I read the complete hardware specifications of both my
 motes and the serial cable attached to the LED screen. What the LED screen
 is EXPECTING is data on a single pin (RXD on led screenside) which should be
 connected to the TXD1 of the Atmel processor. Now my atmel atmega128 is
 connected to a RS-232 driver chip which is expecting RTS, CTS, TXD1 and
 RXD1, so my first question is if I use UartStream.send , will it just send
 the data to the TXD1 pin or do we need to send the complete control signals
 as my LED board is not expecting the control signals??? I went on to look
 the PlatformSerialC for my platform, it connects to Atm128Uart correctly and
 HplAtm128UartP,, so that should not be a problem. The next thing is that the
 my LED screen is expecting commands like as follows:



 [uid] ['a'/'b'…] [digit 1] [digit 2] [digit 3] [digit 4]



 Where:

 the uid preprogrammed is 255,so to send the equivalent ascii is a space,
 'a' means turn on all the 4 LED's and digit1 is say '1',etc etc.



 So, what I am trying to do is something like this:



 Event void some_event() {

 call SendUartStream.send( a1234,6);

 }



 async event void SendUartStream.sendDone(uint8_t* buffered, uint16_t len,
 error_t ok) {

 if (ok == SUCCESS) {

 call Leds.led0Toggle();

 }

   }



   async event void SendUartStream.receivedByte(uint8_t byte)

 {

 char string[] =  a1234;

 call SendUartStream.send(string,6);

 call
 SendUartStream.disableReceiveInterrupt();

 }



   async event void

 SendUartStream.receiveDone(uint8_t *buf, uint16_t len,
 error_t error)

 {

 call SendUartStream.send(buffer,6);

 }



 NOW I HAVE been able to get over with the errors sent earlier by declaring
 the receivedByte and receiveDone events (though, I do not still understand
 why we need to do this when we do not want to receive any byte, all I want
 is to just send the bytes to the UART), but the error is fixed, so I am
 trying to first get the LED screen working, but its not working. AM I using
 the UartStream.send incorrectly or am I missing something??? IS THERE
 something more that is needed to be done for using the UartStream??



 Guillermo: I tried searching for the code you mention but could not find, I
 am not using Msp430 controller so, I do not have to request a resource, the
 resource is always mine.



 I hope I was able to explain my issue, please let me know if you people
 need more info for helping me out here..



 Cheers,

 Varun Jain





 *From:* Guillermo De Cesco [mailto:[EMAIL PROTECTED]
 *Sent:* Wednesday, July 30, 2008 10:47 PM
 *To:* tinyos-help@millennium.berkeley.edu
 *Cc:* Varun Jain
 *Subject:* [Tinyos-help] error using UartStream..



 Hi all,

 For all the ones that wants to use uart communication in tmote, some things
 have to be taken in consideration:
 -What uart do you want to use, UART1 is the uart associated with USB
 communication so this isn't the one you want to use probably. UART0 is the
 one exported in the expansion pin connector, but is also shared as a SPI bus
 with stm25p flash and cc2420 radio chips.
 -What type of communication you intend to establish, i.e just send bytes to
 uart, just receive, receive in response to a sent command, or send and
 receive in a full duplex manner were the receive is not correlated to the
 send event.

 Taken this things into account one cant do the following:
 -In the case that you use UART1 there is no problem at all, I mean you
 remove the usb or what ever but you have access to the uart, there is no
 conflict chip intervening in this uart.
 For the case you use UART0, the most common case:
 -For just  sending:
 - you have to request the resource
 - when granted the resource send your bytes.
 - when send done 

Re: [Tinyos-help] Uart and CC2420 module conflict on telos Platform?

2008-07-31 Thread Guillermo De Cesco
Hi,

I am a little confuse, BSN == tmote, isnt it?
You are using tmote as your microcontroler to interact with your own CC2420
stack through  one msp430 Uart.
when you connect bsn to usb, does your application works or you have the
same problem?
you say that you use UART1 to communicate to platform1, but how do you
achive this if UART1 is used by usb?
if you are using uart0, we can talk about the issues I mentioned in the
previous mail, in particular to your application.

Related to debugging I always wanted to use ICE but never bought  it.


On Thu, Jul 31, 2008 at 5:52 AM, Han Yidong [EMAIL PROTECTED] wrote:

  Hi Bill,



 I saw your reply about UartStream error in the TinyOS mailing list.
 Impressive!



 Actually I also encountered the same Uart1 problem in my project. I am now
 using telos platform, which is BSN development kit from Imperial College
 London.



 This platform has SPI/Uart0 interface and Uart1. Our group is now using
 this BSN Development Kit to develop our own prototype, which  use *another
 platform Platform1 to connect to BSN through Uart1 interface*, we build
 our own CC2420 stack on Platform1 and try to communicate with another BSN
 node trough CC2420, like the following graph.



Telos(BSN)

 |-|

 | |---| SPI  |---||
 Uart |--|

 | |   RF  | --- | MSP430
 |-|--|Platfrom1   |

 ||---| BSN Node|---|
  |   | -|

 |-|



 *One thing I may mention is that, I plug the BSN into PC to utilize the
 USB power supply, but when I use battery , the UART1 could not work at all.
 I still don't know why.*



 Caus we don't have standalone CC2420 module*. What telos platform do is to
 function as Uart-SPI gateway in that we want to utilize the CC2420 module
 without using CC2420 stack on Telos .* On it, we use TinyOS 2.x to program
 the node, when operating the RF module, we use purely Usart interface to
 read or write CC2420, like the following interfaces:



   call Usart.clrTxIntr();

   call Usart.tx( ch );

   call InterruptFIFOP.clear();







 When we try to operate CC2420 on BSN and meanwhile transmit data through
 Uart,  then few problems happen.



 *1.  **After SRXON command strobe is sent to CC2420, we continue to
 try to send data through Uart1, it turn that the data could not be received
 correctly at BSN side. But before that command, the Uart1 works quit well.
 *

 2.   The same problem would happen after I send STXON command strobe.

 3.   Since we only trace to the STXON step, we could not guarantee
 there's no problem for other command strobes, if so, can you point them out?



 *Have you ever encountered this kind of problem? Or do you have any idea
 about these? *

 * *

 *Besides, Is there any efficient method to debug BSN development kit, or
 telos platform? Do we need to buy other ICE tools if we want to debug BSN?
 *



 Best Wishes,

 Yidong, Neil

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] Changing the buffer size of printf (PRINTF_BUFFER_SIZE)

2008-07-31 Thread Kevin Klues
I'm not sure which version of printf you are using, but the version in
cvs should work as outlined in the tutorial.

Kevin

On Thu, Jul 31, 2008 at 5:37 AM, Nicola Wegner
[EMAIL PROTECTED] wrote:
 Hi,

 i tried to change the buffer size of printf as mentioned in the TinyOS
 documentation by adding the following line to my Makefile:

 CFLAGS += -DPRINTF_BUFFER_SIZE=2000

 When I try to build the application it fails. The problem is that the
 last three lines of the following output repeat forever:

 -
 $ makesnooper.sh
 mkdir -p build/micaz
compiling SnooperAppC to a micaz binary
 ncc -o build/micaz/main.exe -Os -I%T/lib/net/ctp -I%T/lib/net
 -I%T/lib/net/le -finline-limit=10 -Wall -Wshadow -Wnesc-all
 -target=micaz -fnesc-cfile=build/micaz/app.c
  -board=mts300 -I/opt/tinyos-2.x/tos/lib/printf -I../
 -DCC2420_NO_ACKNOWLEDGEMENTS -DCC2420_NO_ADDRESS_RECOGNITION
 -DPRINTF_BUFFER_SIZE=2000 -DIDENT_PROGRAM_NAME=\SnooperAppC\
 -DIDENT_USER_ID=\Nicki\ -DIDENT_HOSTNAME=\ltnic\
 -DIDENT_USER_HASH=0xce21d42fL -DIDENT_UNIX_TIME=0x4891a807L
 -DIDENT_UID_HASH=0xd45e3960L -fnesc-dump=wiring
 -fnesc-dump='interfaces(!abstract())'
 -fnesc-dump='referenced(interfacedefs, components)'
 -fnesc-dumpfile=build/micaz/wiring-check.xml SnooperAppC.nc -lm
 In file included from SnooperC.nc:1:
 /opt/tinyos-2.x/tos/lib/printf/printf.h:41:1: warning:
 PRINTF_BUFFER_SIZE redefined

 command line:5:1: warning: this is the location of the previous definition
 In file included from command line:13:
 /tmp/nesccppm2005000:1046:1: warning: PRINTF_BUFFER_SIZE redefined
 -

 Does anybody know a clean way to change the buffer size that works? Or
 am I doing anything wrong? I do not want to change it in the printf.h
 file because this would affect all applications and I only want to
 change it for my snooper application.

 Thanks Nicola
 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help




-- 
~Kevin
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] Implementation of CTP - SentCache

2008-07-31 Thread Oliver Frietsch
Hello list,

I'm currently working on a special-purpose derivate of CTP and therefore 
read all the source code to get an overview. One point that is totally 
unclear to me is in CtpForwardingEngineP (most recent CVS release).
It says (line 439):

   // Once we are here, we have decided to send the packet.
   if (call SentCache.lookup(qe-msg)) {
 call CollectionDebug.logEvent(NET_C_FE_DUPLICATE_CACHE_AT_SEND);
 call SendQueue.dequeue();
if (call MessagePool.put(qe-msg) != SUCCESS)
  call CollectionDebug.logEvent(NET_C_FE_PUT_MSGPOOL_ERR);
if (call QEntryPool.put(qe) != SUCCESS)
  call CollectionDebug.logEvent(NET_C_FE_PUT_QEPOOL_ERR);
 post sendTask();
 return;
   }

OK, so it should *stop sending* and drop the next packet, in the case 
that this packet (i.e. something very similar...) has already been sent 
before. That's what I think...

Unfortunately, my opinion collides with the comment Once we are here, 
we have decided to send the packet. and the implementation of the cache 
itself.

As stated in LruCtpMsgCacheP, the result of lookup is: if key [packet] 
is in cache returns the index (offset by first), otherwise returns count 
[of enqueued packets].
So... The packet is dropped *everytime*, except that is is the first one 
in the sent cache or the cache is empty? What does this position imply 
for the packet, except that it is the oldest one that I can remember?

I'm very sure that I missed something important, as this implementation 
looks senseless to me ATM. Please help me!

Thank you,
Oliver
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] TinyOS and Eclipse

2008-07-31 Thread Jim Fell
Hello Ramus,

Nescdt was the first TinyOS plug-in I tried.  After linking in 
C:\Program Files\UCB\cygwin\opt\tinyos-2.x\tos to my project, I added a
new file, main.c:

void main(void)
{
_NOP();
}

However, the Create and Build options under Project - Make Target are
greyed out
(http://www.enlightenedcode.net/temp/eclipse_screen_capture.JPG), and if
I click the Make Target button in the Make Targets pane on the right,
nothing happens.  It's as if there is a path error in linking the nescdt
plug-in with the installed tinyos on cygwin.

I'm also working on installing the TinyOS Plug-in for Eclipse from DCG
(http://dcg.ethz.ch/projects/tos_ide/).  Is anyone familiar with this
plug-in?

-Jim


Date: Wed, 30 Jul 2008 21:28:07 +0200
From: Rasmus Ulslev Pedersen [EMAIL PROTECTED]
Subject: [Tinyos-help]  TinyOS and Eclipse
To: tinyos-help@millennium.berkeley.edu
Message-ID: [EMAIL PROTECTED]
Content-Type: text/plain; charset=windows-1252; format=flowed

Hi Jim and MS,

There is perhaps a way to do it: An editor (Eclipse plugin) project
for nesC was started some weeks ago. It was committed to contrib a few
days ago, and it is not tested so much yet... 

But if you go to the contrib index;
http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x-contrib/c
ontrib.html
and look for nescdt in the Tools column; and then follow the links
you will find the 
page in the TinyOS wiki that describes how to use (and extend (or fix
bugs)) the editor 
(or go directly to the home page
http://docs.tinyos.net/index.php/NESCDT-_An_editor_for_nesC_in_Eclipse).

Good luck, Rasmus

PS: Perhaps drop me a note if you have time to give nescdt a try?

 I have been unsuccessful in repeated attempts to make either
 of the Eclipse TOS plugins work, perhaps due to my inability
 to follow instructions...if anyone has been successful I'd
 love to hear about it.

 However I do use Eclipse with TOS as a big search engine.
 I create an Eclipse Project at the top of the tinyos tree
 and make some sub-search components (I forget what they are
 called, but under Search-File you can select areas to search).
 Unfortunately Eclipse will only allow you to have one Project
 in any directory tree. I haven't found a way to make sub-
 projects for individual apps because TOS seems to insist on
 having it's devel tree tightly integrated.
 MS
 
  
 
Jim Fell wrote:
/ Hello.  I?m hoping to develop with TinyOS using Eclipse on a Windows
XP 
// platform.  In installed the recommended MSP430 RPMs from this page:
// 
//  
// 
// http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html
// 
//  
// 
// Now, in Eclipse I?m unsure as to which directory I should link my 
// Eclipse TinyOS project to for a proper build.  I currently have it 
// linked to here:
// 
//  
// 
// C:\Program Files\UCB\cygwin\opt\msp430
// 
//  
// 
// Is this correct, or is there a better folder?
// 
//  
// 
// Thanks,
// 
//  
// 
// *Jim Fell*

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] Changing the buffer size of printf (PRINTF_BUFFER_SIZE)

2008-07-31 Thread Nicola Wegner
2008/7/31 Kevin Klues [EMAIL PROTECTED]:
 I'm not sure which version of printf you are using, but the version in
 cvs should work as outlined in the tutorial.

 Kevin

Hi,
yes, I did not use the latest version. Now I have changed to the
latest version from cvs and I get a lot of errors. I removed explicit
flush from my code but still errors. In the cvs comments it is written
that you do not need any wiring. I am a little bit confused now :-O Is
there any usage example for the new version?

Below the errors I get...


$ makesnooper.sh
mkdir -p build/micaz
compiling SnooperAppC to a micaz binary
ncc -o build/micaz/main.exe -Os -I%T/lib/net/ctp -I%T/lib/net
-I%T/lib/net/le -finlin
e-limit=10 -Wall -Wshadow -Wnesc-all -target=micaz
-fnesc-cfile=build/micaz/app.c
 -board=mts300 -I/opt/tinyos-2.x/tos/lib/printf -I../
-DCC2420_NO_ACKNOWLEDGEMENTS -D
CC2420_NO_ADDRESS_RECOGNITION -DPRINTF_BUFFER_SIZE=1000
-DIDENT_PROGRAM_NAME=\Snoope
rAppC\ -DIDENT_USER_ID=\Nicki\ -DIDENT_HOSTNAME=\ltnic\
-DIDENT_USER_HASH=0xce21
d42fL -DIDENT_UNIX_TIME=0x4891c872L -DIDENT_UID_HASH=0x9bd619eaL
-fnesc-dump=wiring -
fnesc-dump='interfaces(!abstract())'
-fnesc-dump='referenced(interfacedefs, component
s)' -fnesc-dumpfile=build/micaz/wiring-check.xml SnooperAppC.nc -lm
In file included from /opt/tinyos-2.x/tos/lib/printf/printf.h:49,
 from SnooperC.nc:1,
 from SnooperAppC.nc:6:
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:408: syntax error before `3'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:598: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:604: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:611: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:616: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:639: syntax error before `__fmt'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:645: syntax error before `__fmt'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:653: syntax error before `__fmt'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:659: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:665: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:675: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:681: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:687: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:693: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:703: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:709: syntax error before `__s'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:714: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:720: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:727: syntax error before `__str'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:732: syntax error before `__str'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:738: syntax error before `__str'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:743: syntax error before `__str'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:753: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:761: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:766: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:800: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:812: syntax error before `__str'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:819: syntax error before `__str'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:831: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:836: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:847: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:858: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1008: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1013: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1021: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1026: syntax error before `__stream'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1033: syntax error before `__fmt'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1038: syntax error before `__fmt'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1046: syntax error before `__fmt'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1054: syntax error before `__buf'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1059: syntax error before `__buf'
/opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1071: syntax error before `stream'
In file included from /opt/tinyos-2.x/tos/lib/printf/PrintfC.nc:56,
 from /opt/tinyos-2.x/tos/lib/printf/MainC.nc:51,
 from SnooperAppC.nc:8:
/opt/tinyos-2.x/tos/lib/printf/PrintfP.nc:80: warning: implicit
declaration of functi
on `TCAST'
/opt/tinyos-2.x/tos/lib/printf/PrintfP.nc:80: 

Re: [Tinyos-help] Changing the buffer size of printf (PRINTF_BUFFER_SIZE)

2008-07-31 Thread Kevin Klues
It llooks like you are using alot of old stuff (old avr compiler, old
tinyos-tools, etc.), you should probably look into updating...  if
not, see the tutorial below for instructions for using printf with
tinyos-2.0.2 (link at the top)

The tutorial for printf is here:
http://docs.tinyos.net/index.php/The_TinyOS_printf_Library

Kevin

On Thu, Jul 31, 2008 at 7:27 AM, Nicola Wegner
[EMAIL PROTECTED] wrote:
 2008/7/31 Kevin Klues [EMAIL PROTECTED]:
 I'm not sure which version of printf you are using, but the version in
 cvs should work as outlined in the tutorial.

 Kevin

 Hi,
 yes, I did not use the latest version. Now I have changed to the
 latest version from cvs and I get a lot of errors. I removed explicit
 flush from my code but still errors. In the cvs comments it is written
 that you do not need any wiring. I am a little bit confused now :-O Is
 there any usage example for the new version?

 Below the errors I get...

 
 $ makesnooper.sh
 mkdir -p build/micaz
compiling SnooperAppC to a micaz binary
 ncc -o build/micaz/main.exe -Os -I%T/lib/net/ctp -I%T/lib/net
 -I%T/lib/net/le -finlin
 e-limit=10 -Wall -Wshadow -Wnesc-all -target=micaz
 -fnesc-cfile=build/micaz/app.c
  -board=mts300 -I/opt/tinyos-2.x/tos/lib/printf -I../
 -DCC2420_NO_ACKNOWLEDGEMENTS -D
 CC2420_NO_ADDRESS_RECOGNITION -DPRINTF_BUFFER_SIZE=1000
 -DIDENT_PROGRAM_NAME=\Snoope
 rAppC\ -DIDENT_USER_ID=\Nicki\ -DIDENT_HOSTNAME=\ltnic\
 -DIDENT_USER_HASH=0xce21
 d42fL -DIDENT_UNIX_TIME=0x4891c872L -DIDENT_UID_HASH=0x9bd619eaL
 -fnesc-dump=wiring -
 fnesc-dump='interfaces(!abstract())'
 -fnesc-dump='referenced(interfacedefs, component
 s)' -fnesc-dumpfile=build/micaz/wiring-check.xml SnooperAppC.nc -lm
 In file included from /opt/tinyos-2.x/tos/lib/printf/printf.h:49,
 from SnooperC.nc:1,
 from SnooperAppC.nc:6:
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:408: syntax error before `3'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:598: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:604: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:611: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:616: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:639: syntax error before `__fmt'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:645: syntax error before `__fmt'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:653: syntax error before `__fmt'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:659: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:665: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:675: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:681: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:687: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:693: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:703: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:709: syntax error before `__s'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:714: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:720: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:727: syntax error before `__str'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:732: syntax error before `__str'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:738: syntax error before `__str'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:743: syntax error before `__str'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:753: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:761: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:766: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:800: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:812: syntax error before `__str'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:819: syntax error before `__str'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:831: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:836: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:847: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:858: syntax error before `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1008: syntax error before 
 `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1013: syntax error before 
 `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1021: syntax error before 
 `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1026: syntax error before 
 `__stream'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1033: syntax error before `__fmt'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1038: syntax error before `__fmt'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1046: syntax error before `__fmt'
 /opt/tinyos-2.x/tos/lib/printf/avr_stdio.h:1054: syntax error 

Re: [Tinyos-help] ADC based off DigOutput

2008-07-31 Thread Eric Keller
When I'm trying to build this code under tinyos-2.0.2-2 for mica2 or
micaz, I get errors because of
on the i2c_flags_t declaration in I2CPacket in the tos/interfaces/I2CPacket.nc
Can someone point out where nesc is supposed to be picking up the definition
of that data type?
Thanks,
Eric


On Wed, Jul 30, 2008 at 11:51 AM, Charles Elliott
[EMAIL PROTECTED] wrote:
 Hi Chris

 I've been trying to get a ADC driver working based on your DigOutput code.
 I've attached my code.

 This is the error I get when I'm trying to compile:

 $ make mica2
 mkdir -p build/mica2
 compiling Test2AppC to a mica2 binary
 ncc -o build/mica2/main.exe  -Os -Wall -Wshadow -Wnesc-all -target=mica2
 -fnesc-
 cfile=build/mica2/app.c -board=micasb -DDEFINED_TOS_AM_GROUP=0x22
 -finline-limit
 =10 -DIDENT_APPNAME=\Test2AppC\ -DIDENT_USERNAME=\ani\
 -DIDENT_HOSTNAME=
 \DOAD06-89CD7F8F\ -DIDENT_USERHASH=0x9a391b60L
 -DIDENT_TIMESTAMP=0x48908a44L -
 DIDENT_UIDHASH=0x02b4a7f2L -fnesc-dump=wiring
 -fnesc-dump='interfaces(!abstract(
 ))' -fnesc-dump='referenced(interfacedefs, components)'
 -fnesc-dumpfile=build/mi
 ca2/wiring-check.xml Test2AppC.nc -lm
 Exception in thread main
 com.sun.org.apache.xerces.internal.impl.io.MalformedB
 yteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
 at
 com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unk
 nown Source)
 at
 com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown So
 urce)
 at
 com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown
  Source)
 at
 com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(Unk
 nown Source)
 at
 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
 l$FragmentContentDriver.next(Unknown Source)
 at
 com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(U
 nknown Source)
 at
 com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next
 (Unknown Source)
 at
 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
 l.scanDocument(Unknown Source)
 at
 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
 nknown Source)
 at
 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
 nknown Source)
 at
 com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
 urce)
 at
 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
 known Source)
 at net.tinyos.nesc.dump.NDReader.parse(NDReader.java:97)
 at net.tinyos.nesc.wiring.WiringCheck.main(WiringCheck.java:147)
 make: *** [exe0] Error 1

 I get the same error if I make iris.

 Any ideas?

 Thanks
 Charles

 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] eetx value doesn't increase for neighbors

2008-07-31 Thread Philippe BAYLE
Hi all, I am working on tinyos 2.x (not the latest CVS release). I am
currently doing modifications on CtpRoutingEngineP.nc file in order  to
choose a parent considering severals parameters such as congestion and
energy in extra of ETX. For that I check all the neighbors in the Routing
Table built in the file. The problem is when a node is no longer alive ( for
example if you move the motes) , it stays in the routing Tableand then
it is considered for the choice of a new parent.
I guess that the link Etx value should avoid to consider bad link but it
doesn't. The link quality must increase in a signifiant way when a neighbor
mote die but in fact, towards what I observed, it stays at the same
valueThis comes from LinkEstimator component with the eetx value. I know
that there was problems about eetx not increasing in the past but I am using
the revision 1.6 of this file and it should works so I don't understand at
all what happens. Can someone tell me if this is a bug or if the eetx value
only increases when the parent (and not a simple neighbor) is lost?

Thank you, Phil.
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] TinyOS and Eclipse

2008-07-31 Thread Michael Schippling
I tried the dcg.ethz.ch version sometime ago with less than stellar
results. I don't remember the details but I think I got basically
nothing...

I also tried this one:  http://sourceforge.net/projects/tinydt/
and again, my memory is it sort-of worked exactly once, then
stopped and no amount of reinstalling had any effect.

As I said, I'm not good at following instructions so I probably
missed some important detail. But I have tried both of the above
a couple times thinking that might be the problem...

I believe Ramus said that the nescdt plugin just does code highlighting
and completion now. At least he said it doesn't do any config parsing
to make it easy to navigate TOS code. So I suppose the build options
are there to make it tantalizing enough that someone might implement
them...

MS


Jim Fell wrote:
 Hello Ramus,
 
 Nescdt was the first TinyOS plug-in I tried.  After linking in 
 C:\Program Files\UCB\cygwin\opt\tinyos-2.x\tos to my project, I added a
 new file, main.c:
 
 void main(void)
 {
   _NOP();
 }
 
 However, the Create and Build options under Project - Make Target are
 greyed out
 (http://www.enlightenedcode.net/temp/eclipse_screen_capture.JPG), and if
 I click the Make Target button in the Make Targets pane on the right,
 nothing happens.  It's as if there is a path error in linking the nescdt
 plug-in with the installed tinyos on cygwin.
 
 I'm also working on installing the TinyOS Plug-in for Eclipse from DCG
 (http://dcg.ethz.ch/projects/tos_ide/).  Is anyone familiar with this
 plug-in?
 
 -Jim
 
 
 Date: Wed, 30 Jul 2008 21:28:07 +0200
 From: Rasmus Ulslev Pedersen [EMAIL PROTECTED]
 Subject: [Tinyos-help]  TinyOS and Eclipse
 To: tinyos-help@millennium.berkeley.edu
 Message-ID: [EMAIL PROTECTED]
 Content-Type: text/plain; charset=windows-1252; format=flowed
 
 Hi Jim and MS,
 
 There is perhaps a way to do it: An editor (Eclipse plugin) project
 for nesC was started some weeks ago. It was committed to contrib a few
 days ago, and it is not tested so much yet... 
 
 But if you go to the contrib index;
 http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x-contrib/c
 ontrib.html
 and look for nescdt in the Tools column; and then follow the links
 you will find the 
 page in the TinyOS wiki that describes how to use (and extend (or fix
 bugs)) the editor 
 (or go directly to the home page
 http://docs.tinyos.net/index.php/NESCDT-_An_editor_for_nesC_in_Eclipse).
 
 Good luck, Rasmus
 
 PS: Perhaps drop me a note if you have time to give nescdt a try?
 
 I have been unsuccessful in repeated attempts to make either
 of the Eclipse TOS plugins work, perhaps due to my inability
 to follow instructions...if anyone has been successful I'd
 love to hear about it.
 
 However I do use Eclipse with TOS as a big search engine.
 I create an Eclipse Project at the top of the tinyos tree
 and make some sub-search components (I forget what they are
 called, but under Search-File you can select areas to search).
 Unfortunately Eclipse will only allow you to have one Project
 in any directory tree. I haven't found a way to make sub-
 projects for individual apps because TOS seems to insist on
 having it's devel tree tightly integrated.
 MS

  

 Jim Fell wrote:
 / Hello.  I?m hoping to develop with TinyOS using Eclipse on a Windows
 XP 
 // platform.  In installed the recommended MSP430 RPMs from this page:
 // 
 //  
 // 
 // http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html
 // 
 //  
 // 
 // Now, in Eclipse I?m unsure as to which directory I should link my 
 // Eclipse TinyOS project to for a proper build.  I currently have it 
 // linked to here:
 // 
 //  
 // 
 // C:\Program Files\UCB\cygwin\opt\msp430
 // 
 //  
 // 
 // Is this correct, or is there a better folder?
 // 
 //  
 // 
 // Thanks,
 // 
 //  
 // 
 // *Jim Fell*
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] Changing the buffer size of printf (PRINTF_BUFFER_SIZE)

2008-07-31 Thread Nicola Wegner
2008/7/31 Kevin Klues [EMAIL PROTECTED]:
 It llooks like you are using alot of old stuff (old avr compiler, old
 tinyos-tools, etc.), you should probably look into updating...  if
 not, see the tutorial below for instructions for using printf with
 tinyos-2.0.2 (link at the top)

I have updated my whole tinyos-2.x directory and printf works well
now. Thanks for your help!

Nicola
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] help installing blink on iris

2008-07-31 Thread João Paulo Amaro da Costa Luz Carneiro
Having problems installing Blink on IRIS with MIB520. Followed  
installation tutorial for Mac OS X: 
http://docs.tinyos.net/index.php/Installing_tinyos-2.x_on_Mac_OS_X_%28Tiger_%26_Leopard%29#Installing_avr_tools_for_Mica_Support
Do I need to install something else for IRIS support?

Using command: make iris install mib520,/dev/tty.usbserial-XBR3EDJYB


mkdir -p build/iris
 compiling BlinkAppC to a iris binary
ncc -o build/iris/main.exe  -Os -Wall -Wshadow -Wnesc-all -target=iris  
-fnesc-cfile=build/iris/app.c -board=micasb - 
DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=10 - 
DIDENT_APPNAME=\BlinkAppC\ -DIDENT_USERNAME=\jcarneiro\ - 
DIDENT_HOSTNAME=\MacBookPro.loca\ -DIDENT_USERHASH=0x687a91fbL - 
DIDENT_TIMESTAMP=0x4891e802L -DIDENT_UIDHASH=0x4e04f3e7L -fnesc- 
dump=wiring -fnesc-dump='interfaces(!abstract())' -fnesc- 
dump='referenced(interfacedefs, components)' -fnesc-dumpfile=build/ 
iris/wiring-check.xml BlinkAppC.nc -lm
command-line: warning: __STDC__ redefined
/tmp/nesccppb9b404Y:70:1: warning: this is the location of the  
previous definition
 compiled BlinkAppC to build/iris/main.exe
 2308 bytes in ROM
   51 bytes in RAM
avr-objcopy --output-target=srec build/iris/main.exe build/iris/ 
main.srec
avr-objcopy --output-target=ihex build/iris/main.exe build/iris/ 
main.ihex
 writing TOS image
cp build/iris/main.srec build/iris/main.srec.out
 installing iris binary using mib510
avrdude -cmib510 -P/dev/tty.usbserial-XBR3EDJYB -U hfuse:w:0xd9:m - 
pm1281 -U efuse:w:0xff:m -C/etc/avrdude/avrdude.conf  -U flash:w:build/ 
iris/main.srec.out:a
make: avrdude: Command not found
make: *** [program] Error 127

Regards,

Joao
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] Reading Serial Packets with TOSSIM Live

2008-07-31 Thread Raymond Paxton
I'm sure this is somewhere on the forum already but I can not find it.  Does
anyone have a code snippet on how read a serial packet from TOSSIM live.  I
can inject them into the Mote but can not receive them back in the python
code. 

Raymond 

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] JTAG adapter interface for the TelosB/Tmote Sky

2008-07-31 Thread Aisha Neal
Does anyone know where to purchase the JTAG adapter that interfaces with the 
MSP-FET430UIF JTAG Tool for the TelosB/Tmote Sky motes?
The moteiv is now Sentilla, and don't think Sentilla is selling them anymore.

Thank you



  ___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] default event problem - not implemented

2008-07-31 Thread Jack Travis
Hi

I have a problem defining the default events for my interface.

The module implementation contains:

signal Interface.Receive(msg, payload, len);
...
default async event message_t* Interface.Receive(message_t* msg, void*
payload, uint8_t len) {
return msg;
}


And the interface contains:

async event message_t* Receive(message_t* msg, void* payload, uint8_t len);


But When I wire an application to this Interface I always get the
following error:

TestC.nc:32: `Interface.Receive' not implemented


I cant see why the default does not work.
Thanks
J
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] TinyOS and Eclipse

2008-07-31 Thread Rasmus Ulslev Pedersen
Hi MS and Jim,
It is nice that you try to use it.
The immediate goal for me when starting the project was to code faster 
and having to remember less when coding. Code completion (even though it 
is sorrowful simple) in nescdt helps some. Syntax highlighting is a must 
so that is done. The next step is maybe to get some sort of code 
navigation going so if you press F3 then you go to the definition of a 
certain variable. Another place where I found myself spending (ie. 
wasting) some time was trying to remember if a file was a module or a 
configuration. So I implemented an outline that uses the same symbols as 
nesdoc to show what type a file is before you open it. Small things, but 
still it saves some time.

Other plugins are probably more comprehensive and requires perhaps more 
maintenance. This UI centric plugin does not tinker with the build 
process (yet:-)), so that is why you did not get so much success there. 
My reason for this is to lower the barrier of entry for those who like 
to invoke make from a shell as they do today, but just want an Eclipse 
based editor for nesC.

However, I think an easy way to do something useful is to invoke make 
from within nescdt and hook into the output produced by the build 
process. It would be possible to read the line number that causes 
trouble I think and provide a few of the features that make Eclipse a 
really nice Java IDE. My best guess is that it would take up to two 
years more before this plugin is fully developed.
Best, Rasmus

PS: Jim: thanks for the picture 
(http://www.enlightenedcode.net/temp/eclipse_screen_capture.JPG). Good 
documentation of what you meant. It (nescdt) will at *most* do what you 
see here: 
http://docs.tinyos.net/index.php/NESCDT-_An_editor_for_nesC_in_Eclipse 
and the target things are not done.



Michael Schippling wrote:
 I tried the dcg.ethz.ch version sometime ago with less than stellar
 results. I don't remember the details but I think I got basically
 nothing...

 I also tried this one:  http://sourceforge.net/projects/tinydt/
 and again, my memory is it sort-of worked exactly once, then
 stopped and no amount of reinstalling had any effect.

 As I said, I'm not good at following instructions so I probably
 missed some important detail. But I have tried both of the above
 a couple times thinking that might be the problem...

 I believe Ramus said that the nescdt plugin just does code highlighting
 and completion now. At least he said it doesn't do any config parsing
 to make it easy to navigate TOS code. So I suppose the build options
 are there to make it tantalizing enough that someone might implement
 them...

 MS


 Jim Fell wrote:
 Hello Ramus,

 Nescdt was the first TinyOS plug-in I tried.  After linking in 
 C:\Program Files\UCB\cygwin\opt\tinyos-2.x\tos to my project, I added a
 new file, main.c:

 void main(void)
 {
 _NOP();
 }

 However, the Create and Build options under Project - Make Target are
 greyed out
 (http://www.enlightenedcode.net/temp/eclipse_screen_capture.JPG), and if
 I click the Make Target button in the Make Targets pane on the right,
 nothing happens.  It's as if there is a path error in linking the nescdt
 plug-in with the installed tinyos on cygwin.

 I'm also working on installing the TinyOS Plug-in for Eclipse from DCG
 (http://dcg.ethz.ch/projects/tos_ide/).  Is anyone familiar with this
 plug-in?

 -Jim


 Date: Wed, 30 Jul 2008 21:28:07 +0200
 From: Rasmus Ulslev Pedersen [EMAIL PROTECTED]
 Subject: [Tinyos-help]  TinyOS and Eclipse
 To: tinyos-help@millennium.berkeley.edu
 Message-ID: [EMAIL PROTECTED]
 Content-Type: text/plain; charset=windows-1252; format=flowed

 Hi Jim and MS,

 There is perhaps a way to do it: An editor (Eclipse plugin) project
 for nesC was started some weeks ago. It was committed to contrib a few
 days ago, and it is not tested so much yet...
 But if you go to the contrib index;
 http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x-contrib/c
 ontrib.html
 and look for nescdt in the Tools column; and then follow the links
 you will find the page in the TinyOS wiki that describes how to use 
 (and extend (or fix
 bugs)) the editor (or go directly to the home page
 http://docs.tinyos.net/index.php/NESCDT-_An_editor_for_nesC_in_Eclipse).

 Good luck, Rasmus

 PS: Perhaps drop me a note if you have time to give nescdt a try?

 I have been unsuccessful in repeated attempts to make either
 of the Eclipse TOS plugins work, perhaps due to my inability
 to follow instructions...if anyone has been successful I'd
 love to hear about it.

 However I do use Eclipse with TOS as a big search engine.
 I create an Eclipse Project at the top of the tinyos tree
 and make some sub-search components (I forget what they are
 called, but under Search-File you can select areas to search).
 Unfortunately Eclipse will only allow you to have one Project
 in any directory tree. I haven't found a way to make sub-
 projects for individual apps because TOS seems to insist 

Re: [Tinyos-help] Reading Serial Packets with TOSSIM Live

2008-07-31 Thread Paul Stickney
TOSSIM Live provides the SerialForwarder module:
from TOSSIM import SerialForwarder
sf = SerialForwarder(9002)

Then it's just a matter of listening to a SF connection on port 9002
(good luck ;-).
It should be connectible using sflisten, et al.
However, the standard sim-sf time synchronization does not play nice
with python threads and sf works on a poll-basis.
There is some python code to read from an SF connection distributed in
support/sdk/python, IIRC.
I think I tried to use it once, but dropped it for issues with my design.

I am using a custom (thread-friendly) time synchronizer and a basic
asyncore wrapper (understands enough SF to dispatch) with threads and
Queues.

HTH,
Paul

On Thu, Jul 31, 2008 at 9:38 AM, Raymond Paxton [EMAIL PROTECTED] wrote:
 I'm sure this is somewhere on the forum already but I can not find it.  Does
 anyone have a code snippet on how read a serial packet from TOSSIM live.  I
 can inject them into the Mote but can not receive them back in the python
 code.

 Raymond

 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] TOSSIM help

2008-07-31 Thread Paul Stickney
It varies by version, some links to see:

http://docs.tinyos.net/index.php/TOSSIM
http://www.tinyos.net/tinyos-1.x/doc/tutorial/lesson5.html
http://www.tinyos.net/tinyos-1.x/doc/tython/manual.html
http://www.cs.berkeley.edu/~pal/pubs/nido.pdf

On Tue, Jul 29, 2008 at 2:22 AM, kashif.saghar [EMAIL PROTECTED] wrote:
 Dear all
 I am new to TOSSIM. I have read some help documents and manuals for TOSSIM.
 I want to ask if there any Book on TOSSIM that can help.
 Thanks

 
 This e-mail is intended solely for the addressee. It may contain private and
 confidential information. If you are not the intended addressee, please take
 no action based on it nor show a copy to anyone. Please reply to this e-mail
 to highlight the error. You should also be aware that all electronic mail
 from, to, or within Northumbria University may be the subject of a request
 under the Freedom of Information Act 2000 and related legislation, and
 therefore may be required to be disclosed to third parties.

 This e-mail and attachments have been scanned for viruses prior to leaving
 Northumbria University. Northumbria University will not be liable for any
 losses as a result of any viruses being passed on.
 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] Limited number of timers?

2008-07-31 Thread Paul Stickney
I must be evil.
I have used VirtualizeTimerC, wired to a new TimerMilliC as the source, IIRC.
It worked nice for parameterization.

HTH,
Paul
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] Is it possible for each node send/receive messages with different AM id?

2008-07-31 Thread Paul Stickney
I would look for a logic-level bug.
What results do you get from the send?
SUCCESS? EBUSY? EFAIL?
Are there any guards?
If so, how and where?

HTH,
Paul

On Tue, Jul 29, 2008 at 4:40 AM, weiping SONG [EMAIL PROTECTED] wrote:
 weiping SONG wrote:
 Hi all,

 I uploaded an application to nodes, which is to make each node
 send/recieve normal messages with a special AM id, and there is a
 component can send/receive message wtih another Am id for managing nodes.

 But I found nodes can  recieve managing messages once in a while and
 they can not receive  messages any more if they send a managing
 messages. I don't know why, could you give some advice?

 Regards,

 Weiping
 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


 I have also found that the rxFrameLength = 0 after I sending the
 managing packets and receiving  next packets, so all packets can not
 send to upper components.


 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] Limited number of timers?

2008-07-31 Thread Nicola Wegner
2008/7/31 Paul Stickney [EMAIL PROTECTED]:
 I must be evil.
 I have used VirtualizeTimerC, wired to a new TimerMilliC as the source, IIRC.
 It worked nice for parameterization.

 HTH,
 Paul

Yes you seem to be very evil ;)

In my case it worked too. But I did not know if it was necessary for
my usage. In special cases I think you are right.

Nicola
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] making a loop sleep.

2008-07-31 Thread Paul Stickney
TOSSIM is a discreet-event simulator.
It will only run things as they need to be run (e.g. events) and
normally in the loop, it runs them as fast as they can be processed.
You can tell Tossim to run an event at a specific time by using
newPacket().deliver() to trigger an event and then overlay that with a
state-machine based on time.
SimX/Event is such a wrapper.

To run things in real-world time, see sim-sf (or simx/tsync).

HTH,
Paul
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] TinyOS Question

2008-07-31 Thread Paul Stickney
Just my depreciating two cents: use the cygwin (or linux?) shell
environment to make and install the your TinyOS code to the motes.
Eclipse should be just fine as an editor using C rules.

HTH,
Paul

On Wed, Jul 30, 2008 at 6:53 AM, Jim Fell [EMAIL PROTECTED] wrote:
 Hello.  How do I write a program to run TinyOS on the TelosB mote?  I've
 installed Eclipse, but I can't figure out how to install the proper plugin
 to get it to work with the mote.  Any guidance here would be appreciated.



 Jim Fell
 Software Engineer
 LS Research, LLC
 Email: [EMAIL PROTECTED]
 http://www.lsr.com/



 Notice:  This message and any included attachments are intended only for the
 use of the addressee, and may contain information that is privileged or
 confidential.  If you are not the intended recipient, you are hereby
 notified that any review, copying or distribution of this communication is
 strictly prohibited.  If you have received this e-mail in error, please
 destroy the original message and any copies or printouts hereof.  Any views
 or opinions presented are solely those of the author of this e-mail, and do
 not necessarily represent those of LS Research, LLC, unless otherwise
 specifically stated.



 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] JTAG adapter interface for the TelosB/Tmote Sky

2008-07-31 Thread Eric Decker
The connector is a 14 pin ribbon cable that needs to be properly soldered to
the TelosB.We figured it out from the telosb schematic.  There is a 14 pin
dual inline connector.

I don't know of anyone that sells them.

eric

On Thu, Jul 31, 2008 at 10:03 AM, Aisha Neal [EMAIL PROTECTED] wrote:

 Does anyone know where to purchase the JTAG adapter that interfaces with
 the MSP-FET430UIF JTAG Tool for the TelosB/Tmote Sky motes?
 The moteiv is now Sentilla, and don't think Sentilla is selling them
 anymore.

 Thank you


 ___
 Tinyos-help mailing list
 Tinyos-help@millennium.berkeley.edu
 https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help




-- 
Eric B. Decker
Senior (over 50 :-) Researcher
Autonomous Systems Lab
Jack Baskin School of Engineering
UCSC
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] Uart and CC2420 module conflict on telos Platform?

2008-07-31 Thread Han Yidong
Hi,

 

Thanks a lot for your answer.  You got the problem I encountered.

 

And BSN should belong to telosa platform. I use this platform makefile to 
compile.

 

Cauz BSN provide a extension board, which has Uart1tx and Uart1rx pins. So I 
could use its Uart1 interface, beside the USB programming function of Uart1. 
When I program the BSN node by USB, the BSN will be reset, afterwards, Uart1 
could be controlled by the application.

 

Pity thing is, for our CC2420 stack, it could only run on Platform1, and no way 
to run on PC to test. But Uart1 works quit well before that CC2420 command 
being executed.

 

This problem really got me frustrated, haha…

 

Thanks again^_^

 

Best Wishes,

Yidong, Neil

 

 

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Guillermo De 
Cesco
Sent: 2008年7月31日 21:13
To: Han Yidong
Cc: tinyos-help@millennium.berkeley.edu
Subject: Re: [Tinyos-help] Uart and CC2420 module conflict on telos Platform?

 

Hi, 

I am a little confuse, BSN == tmote, isnt it?
You are using tmote as your microcontroler to interact with your own CC2420 
stack through  one msp430 Uart. 
when you connect bsn to usb, does your application works or you have the same 
problem?
you say that you use UART1 to communicate to platform1, but how do you achive 
this if UART1 is used by usb?
if you are using uart0, we can talk about the issues I mentioned in the 
previous mail, in particular to your application.

Related to debugging I always wanted to use ICE but never bought  it. 



On Thu, Jul 31, 2008 at 5:52 AM, Han Yidong [EMAIL PROTECTED] wrote:

Hi Bill,

 

I saw your reply about UartStream error in the TinyOS mailing list. Impressive! 

 

Actually I also encountered the same Uart1 problem in my project. I am now 
using telos platform, which is BSN development kit from Imperial College London.

 

This platform has SPI/Uart0 interface and Uart1. Our group is now using this 
BSN Development Kit to develop our own prototype, which  use another platform 
Platform1 to connect to BSN through Uart1 interface, we build our own CC2420 
stack on Platform1 and try to communicate with another BSN node trough CC2420, 
like the following graph.  

 

   Telos(BSN)

|-|

| |---| SPI  |---||Uart 
|--|

| |   RF  | --- | MSP430 
|-|--|Platfrom1   |

||---| BSN Node|---||   
| -|

|-|

 

One thing I may mention is that, I plug the BSN into PC to utilize the USB 
power supply, but when I use battery , the UART1 could not work at all. I still 
don't know why.

 

Caus we don't have standalone CC2420 module. What telos platform do is to 
function as Uart-SPI gateway in that we want to utilize the CC2420 module 
without using CC2420 stack on Telos . On it, we use TinyOS 2.x to program the 
node, when operating the RF module, we use purely Usart interface to read or 
write CC2420, like the following interfaces:

 

  call Usart.clrTxIntr();

  call Usart.tx( ch );

  call InterruptFIFOP.clear();

 

 

 

When we try to operate CC2420 on BSN and meanwhile transmit data through Uart,  
then few problems happen. 

 

1.  After SRXON command strobe is sent to CC2420, we continue to try to 
send data through Uart1, it turn that the data could not be received correctly 
at BSN side. But before that command, the Uart1 works quit well.

2.   The same problem would happen after I send STXON command strobe.

3.   Since we only trace to the STXON step, we could not guarantee there's 
no problem for other command strobes, if so, can you point them out?

 

Have you ever encountered this kind of problem? Or do you have any idea about 
these? 

 

Besides, Is there any efficient method to debug BSN development kit, or telos 
platform? Do we need to buy other ICE tools if we want to debug BSN?

 

Best Wishes,

Yidong, Neil

 

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Re: [Tinyos-help] Implementation of CTP - SentCache

2008-07-31 Thread Omprakash Gnawali
On Thu, Jul 31, 2008 at 7:01 AM, Oliver Frietsch
[EMAIL PROTECTED] wrote:
 Hello list,

 I'm currently working on a special-purpose derivate of CTP and therefore
 read all the source code to get an overview. One point that is totally
 unclear to me is in CtpForwardingEngineP (most recent CVS release).
 It says (line 439):

   // Once we are here, we have decided to send the packet.
   if (call SentCache.lookup(qe-msg)) {
 call CollectionDebug.logEvent(NET_C_FE_DUPLICATE_CACHE_AT_SEND);
 call SendQueue.dequeue();
if (call MessagePool.put(qe-msg) != SUCCESS)
  call CollectionDebug.logEvent(NET_C_FE_PUT_MSGPOOL_ERR);
if (call QEntryPool.put(qe) != SUCCESS)
  call CollectionDebug.logEvent(NET_C_FE_PUT_QEPOOL_ERR);
 post sendTask();
 return;
   }

 OK, so it should *stop sending* and drop the next packet, in the case
 that this packet (i.e. something very similar...) has already been sent
 before. That's what I think...

 Unfortunately, my opinion collides with the comment Once we are here,
 we have decided to send the packet.

The comment is misleading. As you note, there are more tests done
after the comment before deciding to send the packet.


 and the implementation of the cache
 itself.

 As stated in LruCtpMsgCacheP, the result of lookup is: if key [packet]
 is in cache returns the index (offset by first), otherwise returns count
 [of enqueued packets].
 So... The packet is dropped *everytime*, except that is is the first one
 in the sent cache or the cache is empty? What does this position imply
 for the packet, except that it is the oldest one that I can remember?

 I'm very sure that I missed something important, as this implementation
 looks senseless to me ATM. Please help me!

Cache.lookup returns TRUE if a packet with the same signature is in
the cache. This TRUE/FALSE return by Cache.lookup is different from
what the internal lookup function in LruCtpMsgCacheP.nc returns. The
internal lookup function in LruCtpMsgCacheP.nc returns the position of
a packet in the cache if a similar packet is found, otherwise the size
of the cache. CTP does not use the internal lookup function
LruCtpMsgCacheP.nc.

- om_p
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] eetx value doesn't increase for neighbors

2008-07-31 Thread Omprakash Gnawali
On Thu, Jul 31, 2008 at 8:50 AM, Philippe BAYLE [EMAIL PROTECTED] wrote:
 Hi all, I am working on tinyos 2.x (not the latest CVS release). I am
 currently doing modifications on CtpRoutingEngineP.nc file in order  to
 choose a parent considering severals parameters such as congestion and
 energy in extra of ETX. For that I check all the neighbors in the Routing
 Table built in the file. The problem is when a node is no longer alive ( for
 example if you move the motes) , it stays in the routing Tableand then
 it is considered for the choice of a new parent.
 I guess that the link Etx value should avoid to consider bad link but it
 doesn't. The link quality must increase in a signifiant way when a neighbor
 mote die but in fact, towards what I observed, it stays at the same
 valueThis comes from LinkEstimator component with the eetx value. I know
 that there was problems about eetx not increasing in the past but I am using
 the revision 1.6 of this file and it should works so I don't understand at
 all what happens. Can someone tell me if this is a bug or if the eetx value
 only increases when the parent (and not a simple neighbor) is lost?

The link estimator value will decrease slowly - the estimator might
send beacons once every 1024 seconds if the trickle timer has settled
at that value and you will need to realize that you have missed a few
beacons before you start seeing lower values. But if you send some
data packets, the estimator will be updated rapidly.

- om_p
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] collection, multiple roots, multiple id's - help

2008-07-31 Thread Omprakash Gnawali
On Thu, Jul 31, 2008 at 4:05 AM, De-MonHell [EMAIL PROTECTED] wrote:

 hi all.

 THE EXAMPLE:
 i have 4 motes: 0,1,3,4 (these are their TOS_NODE_ID)
 Inside them i have basically the same application that use a single collection
 with AREA_ID as colllection id BUT:
 node 0 and 1 have a enum inside them like this:
AREA_ID=0
 node 3 and 4 have
AREA_ID=1

 (for every node: i change the AREA_ID, i recompile and finally i deploy)

 Node 0 and 2 will act as root of the collection service.

node 2? You have five motes?

 Node 1 and 3 will measure the ambient temperature and send it the the leader
 of their respective area (using the collection sender)
 so node 1 will send its data to node 0 and
 node 4 to node 3

I think there is a typo here - is node 3 your root?


 This is (my) exptected behavior.

 THE PROBLEM:
 but this case sometimes work and sometimes not. both temperature nodes sent
 their data (connecting them to the pc i can see their printf )
 node 0 and 2 indeed, sometimes both thei receive the data, sometimes only one
 of the two.

 INFO
 i'm using the tinyos 2 from CVS
 4 tmotesky motes
 i attach the files of the application

 ANSWER?!
 am i missing something about the collection protocol?
 what can i check to understand what is failing?
 why sometimes work and sometimes not?

The argument you pass to CollectionSenderC during its instantiation is
protocol id, the dispatch id of the protocol or application running on
top of CTP. So, you are not forming two separate/disjoint trees. If
you want two disjoint trees, you should run one instance of CTP in one
part of the network and another instance of CTP in another part of the
network. To do this, you can run CTP on two different AM types.
Otherwise, you will have multiple roots in the same network and the
packets will go to any or all of the roots depending on the dynamics
or topology.

- om_p
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help] How to produce a 40kHz square wave by a tmote sky?

2008-07-31 Thread superpopb2b
Hi all,

How to produce 40khz square wave on the pin that SCL_CLK?

I have overwritten the TACCR0 to make an MSP430 counter overflow interrupt, int 
the event ,by using the function that port33.setHigh or setLow to produce the 
square wave. If the TACCR0 is large ,the square wave is good but lager than the 
frequency than what I want ,If the TACCR0 is small, the port output nothing! 
Why , and How to do about it to produce square wave whose frequency is 40KHz? 
My code is that :

==

module BlinkM {

  provides {

interface StdControl;

  }

  uses {

interface Timer;

interface Leds;

interface MSP430GeneralIO as Port33;

interface MSP430Timer as TimerA;

interface CounterTMicro,uint16_t as CounterMicro;

  }

}

implementation {

   bool state=FALSE;

   int i;

  command result_t StdControl.init() {

call Leds.init(); 

call Port33.setLow();

WDTCTL=WDTPW+WDTHOLD;

TACTL=0x0216;

TACCR0=25;

TACCTL0=CCIE;

return SUCCESS;

  }

  command result_t StdControl.start() {

  call Timer.start(TIMER_REPEAT,100);

  return SUCCESS;

  }

 

  command result_t StdControl.stop() {

 return SUCCESS;

  }

  event result_t Timer.fired()

  {

  return SUCCESS;

  }

  async event void CounterMicro.overflow(){

state=!state;

if(state)

  call Port33.setHigh(); 

else

  call Port33.setLow();

  }

  async event void TimerA.overflow(){

  }

}

 

Thanks.

 ___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help