[Tinyos-help] Re: Using a USB port to connect to a MIB510

2007-10-04 Thread Khew U-Wei
Hi Aneekat,

I tried the above command you provided: $ make mica2 install.0mib510,/dev/ttyS6
for a COM7 port and this is my error report:

compiled TOSBase to build/mica2/main.exe
9022 bytes in ROM
 584 bytes in RAM
avr-objcopy --output-target=srec build/mica2/main.exe build/mica2/main.srec
make mica2 reinstall.0 PROGRAMMER=DAPA PROGRAMMER_FLAGS=-dprog=dapa
-dpart=AT
mega128 --wr_fuse_e=ff 
make[1]: Entering directory `/cygdrive/c/tinyos/cygwin/opt/tinyos-1.x
/apps/TOSBa
se'
installing mica2 binary
set-mote-id build/mica2/main.srec build/mica2/main.srec.out `echo
reinstall.0 |p
erl -pe 's/^reinstall.//; $_=hex if /^0x/i;'`
uisp -dprog=dapa -dpart=ATmega128 --wr_fuse_e=ff  --erase
pulse
Atmel AVR ATmega128 is found.
Erasing device ...
pulse
Reinitializing device
Atmel AVR ATmega128 is found.

Fuse Extended Byte set to 0xff
sleep 1
uisp -dprog=dapa -dpart=ATmega128 --wr_fuse_e=ff  --upload
if=build/mica2/main.s
rec.out
pulse
Atmel AVR ATmega128 is found.
Uploading: flash

Fuse Extended Byte set to 0xff
sleep 1
uisp -dprog=dapa -dpart=ATmega128 --wr_fuse_e=ff  --verify
if=build/mica2/main.s
rec.out
pulse
Atmel AVR ATmega128 is found.
Verifying: flash
flash error at address 0x0: file=0x0c, mem=0x00
flash error at address 0x1: file=0x94, mem=0x00
flash error at address 0x2: file=0xbc, mem=0x00
flash error at address 0x3: file=0x01, mem=0x00
flash error at address 0x4: file=0x0c, mem=0x00
flash error at address 0x5: file=0x94, mem=0x00
flash error at address 0x6: file=0xd9, mem=0x00
flash error at address 0x7: file=0x01, mem=0x00
flash error at address 0x8: file=0x0c, mem=0x00
flash error at address 0x9: file=0x94, mem=0x00
continued

Do you know whats the problem? Looking forward to your reply. THank you.

Best regards,
U-Wei

On 9/28/07, aneekat patkar [EMAIL PROTECTED] wrote:

 Hi U-Wei,

 I install the code by the command make mica2 install mib510,/dev/ttyS0
 for mica2 sensor and with the mib510 programming board. In the Cygwin
 environment you go to the application folder and then type this command .
 The digit in Sx is generally 1 less than the actual port number in the
 computer configuration.

 What i  meant was if S3 doesn't work when the computer says COM4 for the
 cable , then type the command again with S4.
 At a time u can program with only port in a Cygwin window. If you have
 mutliple windows open, then u could program different ports at the same
 time.
 Hope this helps,
 Aneeket.

 *Khew U-Wei [EMAIL PROTECTED]* wrote:

 Hi Aneeket,

 As you previously said if COM4 is displayed try S3 and then S4 when
 you install the tinyOS code.
 How do you use two different ttys when installing the code on the nodes?

 Best regards,
 U-Wei

 Date: Mon, 24 Sep 2007 12:55:33 -0700 (PDT)
 From: aneekat patkar [EMAIL PROTECTED]
 Subject: [Tinyos-help] RE: Using a USB port to connect to a MIB510
 To: tinyos-help@millennium.berkeley.edu
 Message-ID:  [EMAIL PROTECTED]
 Content-Type: text/plain; charset=iso-8859-1

 The problem is with the digit to be put after ttys0  in

 MIB510='/dev/ttys0' make mica2 install.0 mib510
 By S0 you refer to the COM1 port which is a 9-pin serial port .
 To get the correct port number do the following :
 1. RIght-click on My Computer and click on Properties.
 2. Go to hardware and then Device Manager.
 3. The click on Ports .

 Your USB to serial port number would be displayed here. If COM4 is
 displayed try S3 and then S4 when you install the tinyOS code.

 Also if you are gonna read any sensor readings from the serial port, set
 the baud rate and other protocol options by right-click  on the displayed
 port number and selecting properties.

 Hope this helps,
 Aneeket.


 --
 Need a vacation? Get great deals to amazing places
 http://us.rd.yahoo.com/evt=48256/*http://travel.yahoo.com/;_ylc=X3oDMTFhN2hucjlpBF9TAzk3NDA3NTg5BHBvcwM1BHNlYwNncm91cHMEc2xrA2VtYWlsLW5jbQ--on
 Yahoo! Travel.




-- 
Your future depends on your dreams
So go to sleep


The more you learn, the more you know,
The more you know, the more you forget
The more you forget, the less you know
So.. why learn.
___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] Switching radio on/off

2007-10-04 Thread Nelisse, M.W. (Martin)
Hello everybody,

We are working on an outdoor WSN application, which should collect data
from one or more motes in the field to a single mote connected to a
computer. This mote has no power restrictions (powered via USB
connection), however the motes in the field do have power restrictions.
Currently the power consumption of these motes is rather high since the
radio reciever is always on. 

Our communication scheme is very simple: after a START command, the
field motes start transmitting data at regular interval for a (long)
fixed period of time; so after the START command the field motes do not
need to receive data from the central mote

We already looked into using NetSync or compiling for lowpower, but
these mechanisms seem to be rather complex for our approach. Is there an
easier way how we can switch off the radio chip between transmissions
(on the field motes)?

Martin


PS:
Some extra info:
- the mote connected to the PC is running TOSBase and all data is
collected using a Java application. 
- the motes are Tmote Sky, Tmote Mini and Tmote Mini Plus
- we use SPReceive and SPSend for communication on the field motes

This e-mail and its contents are subject to the DISCLAIMER at 
http://www.tno.nl/disclaimer/email.html

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


Re : [Tinyos-help] yamp problems with xubuntos

2007-10-04 Thread mejda chouaieb
Hi,
Thank you for the solution it works.


- Message d'origine 
De : Chad Metcalf [EMAIL PROTECTED]
À : mejda chouaieb [EMAIL PROTECTED]
Cc : tinyos-help@millennium.berkeley.edu
Envoyé le : Mardi, 2 Octobre 2007, 18h15mn 24s
Objet : Re: [Tinyos-help] yamp problems with xubuntos

This isn't a XubunTOS problem.

Here is your problem:

/opt/tinyos-2.x/tos/system/tos.h:36:22: platform.h: No such file or directory

Here is your solution:

$ touch /opt/tinyos-2.x/tos/platforms/yamp/platform.h 

It corrects the first error in your output, and the rest of the lesson
works fine.  All platforms in /opt/tinyos-2.x/tos/platforms have an
empty platform.h.  I don't know why that's not in Lesson 10. But I'll 
talk to the author and see about getting it added.

Cheers
Chad



On 10/2/07, mejda chouaieb  [EMAIL PROTECTED] wrote:
Hello,
I installed Xubuntos live cd in a virtual machine and I tried to execute the 
yamp application (tinyos tutorials lesson 10) but I have these problems, when I 
type make telosb it's ok but when I type: 




[EMAIL PROTECTED]:/opt/tinyos-2.x/apps/Null# make yamp
mkdir -p build/yamp
compiling NullAppC to a yamp binary
ncc -o build/yamp/main.exe -Os -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d 
-Wnesc-all -target=yamp -fnesc-cfile=build/yamp/app.c -board=   NullAppC.nc -lm
/opt/tinyos-2.x/tos/system/tos.h:36:22: platform.h: No such file or directory
commandline: failed to preprocess /opt/tinyos-2.x/tos/system/tos.h
In file included from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:36: 
In interface `Scheduler':
/opt/tinyos-2.x/tos/interfaces/Scheduler.nc:54: only commands and events can be 
defined in interfaces
/opt/tinyos-2.x/tos/interfaces/Scheduler.nc:54: warning: return-type defaults 
to `int' 
/opt/tinyos-2.x/tos/interfaces/Scheduler.nc:54: syntax error before 
`runNextTask'
In file included from /opt/tinyos-2.x/tos/platforms/yamp/hardware.h:3,
 from /opt/tinyos-2.x/tos/system/SchedulerBasicP.nc:41, 
 from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:40:



-- 
Chad @ Home


  
__ 
Stockage illimité de vos mails avec Yahoo! Mail. Changez aujourd'hui de mail !___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] ncc command not found !!!! I need HELP

2007-10-04 Thread mejda chouaieb
Hello All,
I have Windows Media Center Edition and I installed Tinyos-2.x but when I try 
to compile something I have :
bash-3.2$ pwd
/cygdrive/c/jennic/cygwin/opt/tinyos-2.x/apps/Null
bash-3.2$ make yamp
/bin/sh: tos-ident-flags: command not found
mkdir -p build/yamp
compiling NullAppC to a yamp binary
ncc -o build/yamp/main.exe -Os -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all
 -target=yamp -fnesc-cfile=build/yamp/app.c -board=   NullAppC.nc -lm
make: ncc: Command not found
make: *** [exe0] Error 127
bash-3.2$

I tried to install NesC again but I still have the same problem, and I think 
that there is something missing in my PATH but I don't know how to fix this 
problem

bash-3.2$ echo $PATH
/opt/msp430/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WIN
DOWS/System32/Wbem:/cygdrive/c/Program Files/Microsoft SQL Server/80/Tools/BINN:
/cygdrive/c/Program Files/Microsoft SQL Server/90/Tools/binn/:/cygdrive/c/PROGRA
~1/ATT/Graphviz/bin:/cygdrive/c/PROGRA~1/ATT/Graphviz/bin:/cygdrive/c/PROGRA~1/A
TT/Graphviz/bin:/cygdrive/c/PROGRA~1/ATT/Graphviz/bin:/cygdrive/c/PROGRA~1/ATT/G
raphviz/bin:/cygdrive/c/PROGRA~1/ATT/Graphviz/bin:/cygdrive/c/Sun/SDK/bin:/cygdr
ive/c/Program Files/Java/jre1.6.0_02:/cygdrive/c/WINDOWS/Microsoft.NET/Framework
/v1.1.4322:/usr/bin:/or32-elf/bin/:/usr/bin:/ba-elf/bin/:/or32-elf/bin
bash-3.2$

Thank you for Help


  

Découvrez le blog Yahoo! Mail : dernières nouveautés, astuces, conseils.. et 
vos réactions !
http://blog.mail.yahoo.fr

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


Re: [Tinyos-help] A discussion on TOSSIM

2007-10-04 Thread Bernardo Avila Pires
That is one problem, no? The monolith.c is what I was trying to run away
from...

2007/10/3, Kevin Klues [EMAIL PROTECTED]:

 Don't forget that all your nesC modules just get turned into one giant
 app.c file in your build/platform directory if thats useful.

 Kevin

 On 10/3/07, Bernardo Avila Pires [EMAIL PROTECTED] wrote:
  Hi, I would like to ask some questions and expose some ideas of mine.
   1) How many people might need a simulator for more than one
 application?
   2) How many people might use simulators as means of debugging their
  application?
   3) How many people might use simulators to evaluate application
 performance
  and behavior?
 
  I found myself in need of a simulator to debug the algorithms for
  interaction between two applications. So I posted a question about how
 to
  hammer to applications in TOSSIM and later I had an idea. So, how hard
 would
  it be to translate nesC to C++? Given C++ code for components, it would
 be
  possible to build and use a NS-like simulator, no? So I kept thinking
 about
  this translation process:
 There could be two ways to bind components via interface: by
 generating
  code for the bindings (static) or by passing objects (which would be
  instances of components) as parameters to other objects in execution
 time
  (dynamic). Also, statically bound interfaces could be inspected many
 times
  in order to remove indirection levels. Some low-level components would
 need
  to be implemented as C++ code integrated to the simulator if efficiency
  during simulation were important, otherwise the simulator could emulate
 the
  nodes right away.
  I have to put more thought on the other ideas I have.
 Regards,
Bernardo
 
  --
  The truth shall set you free
  ___
  Tinyos-help mailing list
  Tinyos-help@Millennium.Berkeley.EDU
  https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
 


 --
 ~Kevin




-- 
The truth shall set you free
___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

[Tinyos-help] GIO interrupt on tmote sky

2007-10-04 Thread Bhavish Aggarwal
Hi,

I'm trying to use the GIO0 pin as a hardware interrupt. I read about
the mechanism to do this. The archives and documentation says that I
have to join the R14 ends together and then I can use it as interrupt.

I'm not sure about this method. Also, what interface will I use to
generate the interrupts? I'll be very thankful for any ideas/guidance.

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


Re: [Tinyos-help] non-continous usage

2007-10-04 Thread Ákos Maróy

Kevin Klues wrote:

Its definitely there.  I just reran the set of commands mentioned at
the end of the tutorial:

cd $TOSROOT/apps/tutorials
cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/tinyos login
cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/tinyos
co -P -d LowPowerSensing tinyos-2.x/apps/tutorials/LowPowerSensing

and it checked it out for me.


yes, you're right. first I just did an update on the original tinyos CVS 
I already checked out, and nothing came from there..


my mistake, sorry.

now I just have to understand what's going on here... :)


Akos

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


Re: [Tinyos-help] serialsource for Visua C

2007-10-04 Thread David Gay
Sure, send them on.

On 10/4/07, Ákos Maróy [EMAIL PROTECTED] wrote:
 Hi,

 I had to port the serialforwarder C source so that it works on Windows
 from Visual C. I #ifdef'd the differences into the original source code.

 I wonder if this would be of interest in the TinyOS source tree.


 Akos
 ___
 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] non-continous usage

2007-10-04 Thread Kevin Klues
Its all part of the tinyos cvs repository, you probably just forgot to
do a `cvs update -dP` to guarantee that newly created directories get
added and old deleted ones get pruned.

Kevin

On 10/4/07, Ákos Maróy [EMAIL PROTECTED] wrote:
 Kevin Klues wrote:
  Its definitely there.  I just reran the set of commands mentioned at
  the end of the tutorial:
 
  cd $TOSROOT/apps/tutorials
  cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/tinyos login
  cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/tinyos
  co -P -d LowPowerSensing tinyos-2.x/apps/tutorials/LowPowerSensing
 
  and it checked it out for me.

 yes, you're right. first I just did an update on the original tinyos CVS
 I already checked out, and nothing came from there..

 my mistake, sorry.

 now I just have to understand what's going on here... :)


 Akos




-- 
~Kevin

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


[Tinyos-help] TOS 2.0 compilation issue

2007-10-04 Thread Chanaka Lloyd
hey,

i installed tinyos 2.0. i get errors when i try to compile a program (say,
BlinK). error message follows:

/opt/tinyos-2.x/apps/Blink# make tmote

/bin/sh: tos-ident-flags: command not found
mkdir -p build/telosb
compiling BlinkAppC to a telosb binary
ncc -o build/telosb/main.exe -Os -O -mdisable-hwmul -Wall -Wshadow
-DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=telosb
-fnesc-cfile=build/telosb/app.c -board=   BlinkAppC.nc -lm
Invoked: ncc -o build/telosb/main.exe -Os -O -mdisable-hwmul -Wall -Wshadow
-DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=telosb
-fnesc-cfile=build/telosb/app.c -board= BlinkAppC.nc -lm
Running: gcc -E -D__NCC__ -imacros /usr/include/nognu -Os -O -mdisable-hwmul
-DDEF_TOS_AM_GROUP=0x7d -fnesc-cfile=build/telosb/app.c
[gcc] Program failed..
make: *** [exe0] Fehler 1

what's 'tos-ident-flags'? any suggestions?

help highly appreciated.

thx  rgds

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

Re: [Tinyos-help] Re: Using a USB port to connect to a MIB510

2007-10-04 Thread Jeongyeup Paek

The mote seems to be dead. Try changing the mote.

Thanks

Khew U-Wei wrote:

Hi Aneekat,

I tried the above command you provided: $ make mica2 install.0 
mib510,/dev/ttyS6

for a COM7 port and this is my error report:

compiled TOSBase to build/mica2/main.exe
9022 bytes in ROM
 584 bytes in RAM
avr-objcopy --output-target=srec build/mica2/main.exe build/mica2/main.srec
make mica2 reinstall.0 PROGRAMMER=DAPA PROGRAMMER_FLAGS=-dprog=dapa 
-dpart=AT

mega128 --wr_fuse_e=ff 
make[1]: Entering directory 
`/cygdrive/c/tinyos/cygwin/opt/tinyos-1.x/apps/TOSBa

se'
installing mica2 binary
set-mote-id build/mica2/main.srec build/mica2/main.srec.out `echo 
reinstall.0 |p

erl -pe 's/^reinstall.//; $_=hex if /^0x/i;'`
uisp -dprog=dapa -dpart=ATmega128 --wr_fuse_e=ff  --erase
pulse
Atmel AVR ATmega128 is found.
Erasing device ...
pulse
Reinitializing device
Atmel AVR ATmega128 is found.

Fuse Extended Byte set to 0xff
sleep 1
uisp -dprog=dapa -dpart=ATmega128 --wr_fuse_e=ff  --upload 
if=build/mica2/main.s

rec.out
pulse
Atmel AVR ATmega128 is found.
Uploading: flash

Fuse Extended Byte set to 0xff
sleep 1
uisp -dprog=dapa -dpart=ATmega128 --wr_fuse_e=ff  --verify 
if=build/mica2/main.s

rec.out
pulse
Atmel AVR ATmega128 is found.
Verifying: flash
flash error at address 0x0: file=0x0c, mem=0x00
flash error at address 0x1: file=0x94, mem=0x00
flash error at address 0x2: file=0xbc, mem=0x00
flash error at address 0x3: file=0x01, mem=0x00
flash error at address 0x4: file=0x0c, mem=0x00
flash error at address 0x5: file=0x94, mem=0x00
flash error at address 0x6: file=0xd9, mem=0x00
flash error at address 0x7: file=0x01, mem=0x00
flash error at address 0x8: file=0x0c, mem=0x00
flash error at address 0x9: file=0x94, mem=0x00
continued

Do you know whats the problem? Looking forward to your reply. THank you.

Best regards,
U-Wei

On 9/28/07, *aneekat patkar* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


Hi U-Wei,

I install the code by the command make mica2 install mib510,/dev/ttyS0
for mica2 sensor and with the mib510 programming board. In the
Cygwin environment you go to the application folder and then type
this command .
The digit in Sx is generally 1 less than the actual port number in
the computer configuration.

What i  meant was if S3 doesn't work when the computer says COM4 for
the cable , then type the command again with S4.
At a time u can program with only port in a Cygwin window. If you
have mutliple windows open, then u could program different ports at
the same time.
Hope this helps,
Aneeket.


*/Khew U-Wei [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]/* wrote:

Hi Aneeket,

As you previously said if COM4 is displayed try S3 and then
S4 when you install the tinyOS code.
How do you use two different ttys when installing the code on
the nodes?

Best regards,
U-Wei
 
Date: Mon, 24 Sep 2007 12:55:33 -0700 (PDT)

From: aneekat patkar  [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
Subject: [Tinyos-help] RE: Using a USB port to connect to a MIB510
To: tinyos-help@millennium.berkeley.edu
mailto:tinyos-help@millennium.berkeley.edu
Message-ID:  [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
Content-Type: text/plain; charset=iso-8859-1

The problem is with the digit to be put after ttys0  in

MIB510='/dev/ttys0' make mica2 install.0 mib510
By S0 you refer to the COM1 port which is a 9-pin serial port .
To get the correct port number do the following :
1. RIght-click on My Computer and click on Properties.
2. Go to hardware and then Device Manager.
3. The click on Ports .

Your USB to serial port number would be displayed here. If COM4
is displayed try S3 and then S4 when you install the tinyOS
code.

Also if you are gonna read any sensor readings from the serial
port, set the baud rate and other protocol options by
right-click  on the displayed port number and selecting
properties.

Hope this helps,
Aneeket.



Need a vacation? Get great deals to amazing places

http://us.rd.yahoo.com/evt=48256/*http://travel.yahoo.com/;_ylc=X3oDMTFhN2hucjlpBF9TAzk3NDA3NTg5BHBvcwM1BHNlYwNncm91cHMEc2xrA2VtYWlsLW5jbQ--on
Yahoo! Travel.




--
Your future depends on your dreams
So go to sleep


The more you learn, the more you know,
The more you know, the more you forget
The more you forget, the less you know
So.. why learn.




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


--

Jeongyeup Paek
Ph.D. 

Re: [Tinyos-help] GIO interrupt on tmote sky

2007-10-04 Thread André Miguel de Almeida Marrão Rodrigues

Why not to begin be using the user button line on the 6pin conector?

André

- Original Message - 
From: Bhavish Aggarwal [EMAIL PROTECTED]

To: tinyos-help@Millennium.Berkeley.EDU
Sent: Thursday, October 04, 2007 3:29 PM
Subject: [Tinyos-help] GIO interrupt on tmote sky



Hi,

I'm trying to use the GIO0 pin as a hardware interrupt. I read about
the mechanism to do this. The archives and documentation says that I
have to join the R14 ends together and then I can use it as interrupt.

I'm not sure about this method. Also, what interface will I use to
generate the interrupts? I'll be very thankful for any ideas/guidance.

Bhavish
___
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] Is it possible to adjust MOTE/MiCAz's transmit power in the middle of the process

2007-10-04 Thread Jeongyeup Paek

Yes, both micaz and telosb can change rf power on the fly.
Check CC2420Control.
Just be careful how you send the command. If you 'reduce' the power,
the command might never reach the farther away nodes.
Also, if you are using a dynamic routing protocol,
routes might become invalid.

Thanks

- jpaek

Chang wrote:
As we all know, we need to specify some transmit power for the nodes and 
compile it then upload to the nodes to run.

But in this way, the power is pre-specified and cannot be changed.
I wonder if it is possible to change the power in the middle. Or anyone 
knows what hardware platform can do this (like Telos)?


Thanks for your information.




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


--

Jeongyeup Paek
Ph.D. student
Embedded Networks Laboratory
Department of Computer Science
University of Southern California
http://enl.usc.edu/~jpaek
___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] packet transmission time for mica2 platform

2007-10-04 Thread Jeongyeup Paek

depending on size of the packet, couple of tens of milliseconds?

Thanks

- jpaek


Ray kah wrote:

Dear all

what is the packet transmission time for mica2? What is the typical 
packet delay if I need to transmit 1 hop. I am experiencing more than 5 
secs after transmitting a packet to my mica2 receiver.


Thank you in advance.

Regards,
Ray




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


--

Jeongyeup Paek
Ph.D. student
Embedded Networks Laboratory
Department of Computer Science
University of Southern California
http://enl.usc.edu/~jpaek
___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Copfilter] Copy of quarantined email - *** SPAM *** [9.8/5.0] Re: [Tinyos-help] GIO interrupt on tmote sky

2007-10-04 Thread [EMAIL PROTECTED]
[Tinyos-help] GIO interrupt on tmote sky
Date: Thu, 4 Oct 2007 20:10:01 + (GMT)
X-Mailer: sendEmail-1.52
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=MIME delimiter for 
sendEmail-365655.539165349

This is a multi-part message in MIME format. To properly display this message 
you need a MIME-Version 1.0 compliant Email program.

--MIME delimiter for sendEmail-365655.539165349
Content-Type: text/plain;
charset=iso-8859-1
Content-Transfer-Encoding: 7bit

Why not to begin be using the user button line on the 6pin conector?

André

- Original Message - 
From: Bhavish Aggarwal [EMAIL PROTECTED]
To: tinyos-help@Millennium.Berkeley.EDU
Sent: Thursday, October 04, 2007 3:29 PM
Subject: [Tinyos-help] GIO interrupt on tmote sky


 Hi,

 I'm trying to use the GIO0 pin as a hardware interrupt. I read about
 the mechanism to do this. The archives and documentation says that I
 have to join the R14 ends together and then I can use it as interrupt.

 I'm not sure about this method. Also, what interface will I use to
 generate the interrupts? I'll be very thankful for any ideas/guidance.

 Bhavish
 ___
 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

 Hi,

 I'm trying to use the GIO0 pin as a hardware interrupt. I read about
 the mechanism to do this. The archives and documentation says that I
 have to join the R14 ends together and then I can use it as interrupt.

 I'm not sure about this method. Also, what interface will I use to
 generate the interrupts? I'll be very thankful for any ideas/guidance.

 Bhavish
 ___
 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


--MIME delimiter for sendEmail-365655.539165349--


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Scanned with Copfilter Version 0.84beta2 (ProxSMTP 1.6)
AntiSpam:  SpamAssassin 3.1.8
AntiVirus: ClamAV 0.91.2-exp/4472 - Thu Oct  4 16:45:39 2007
AntiVirus: F-PROT 4.6.7 Engine version: 3.16.15
SIGN.DEF 4 Oct07 - SIGN2.DEF 4 Oct07 - MACRO.DEF 4 Oct07
by Markus Madlener @ http://www.copfilter.org
___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


[Tinyos-help]Receiving Bad Packets

2007-10-04 Thread RamKishore

Hi all,
 I want to receive the  bad packets which failed CRC test.I am 
using  TOSbase(/tinyos1.x/contrib/xbow/apps) as receiver(mica2),at 
916.4Mhz.I scanned mailing lists,but couldn't figure out anything.


More importantly, could anyone tell me few methods of generating noisy 
environment.


Many Thanks in advance,
Kishore
___
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help]Receiving Bad Packets

2007-10-04 Thread Michael Schippling

I'm fairly sure that TOSBase doesn't do any received CRC check.
If you look at Packetizer.java::readFramedPacket() you can see
where messages are rejected based on the CRC failure, so this is
probably the place to hack.

I find that jackhammers and banging on pots and pans are good for
creating a noisy environment...sorry. You probably mean noisy RADIO
environment. It might be easier to reduce the signal, rather than
increase the noise. Removing the antenna from one of the motes
or reducing the transmit power could work. Or use a partial faraday
cage around some of the Motes.

MS


RamKishore wrote:

Hi all,
 I want to receive the  bad packets which failed CRC test.I am 
using  TOSbase(/tinyos1.x/contrib/xbow/apps) as receiver(mica2),at 
916.4Mhz.I scanned mailing lists,but couldn't figure out anything.


More importantly, could anyone tell me few methods of generating noisy 
environment.


Many Thanks in advance,
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


Re: [Tinyos-help]Receiving Bad Packets

2007-10-04 Thread RamKishore

Hi,

Thanks for helping in creating noisy environment.

Regarding CRCs,The CRC values that you were referring to are those over 
wired-medium(RS-232 in my case) between mica2 and PC.To elaborate:As 
said,TOS base surely doesn't do any CRC check.It receives only correct 
CRC packets from bottom layers.Now,it has to transmit this *correct 
packet* without any error to PC.So,it frames it's own CRC and transmits 
them to PC.At PC,java tool (Packetizer.java) will strip the CRC sent by  
TOSbase  ( and copy into readCrc of 
Packetizer.java::readFramedPacket() ) and now calculate its own CRC 
(computedCrc  in Packetizer.java::readFramedPacket()) 
.Then,cross-checks both and if they are same,it will display.This can be 
made sure by looking at TOS_msg-crc feild and crc done by java 
tool,which will turn out to be different.


Any ideas about dealing with bottom layer files ? Is there any thing 
that can be done with these files:(they seem to be doing something with crc)
 1)tos\platform\mica2\CC1000RadioIntM.nc(I doubt something can be done 
here)

 2) tos\platform\system\CrcFilter
 3) tos\platform\CRCPacket.nc.
As a newbie,i dont know perfectly what is going on?

Many Thanks,
Kishore




Michael Schippling wrote:

I'm fairly sure that TOSBase doesn't do any received CRC check.
If you look at Packetizer.java::readFramedPacket() you can see
where messages are rejected based on the CRC failure, so this is
probably the place to hack.

I find that jackhammers and banging on pots and pans are good for
creating a noisy environment...sorry. You probably mean noisy RADIO
environment. It might be easier to reduce the signal, rather than
increase the noise. Removing the antenna from one of the motes
or reducing the transmit power could work. Or use a partial faraday
cage around some of the Motes.

MS


RamKishore wrote:

Hi all,
 I want to receive the  bad packets which failed CRC test.I 
am using  TOSbase(/tinyos1.x/contrib/xbow/apps) as receiver(mica2),at 
916.4Mhz.I scanned mailing lists,but couldn't figure out anything.


More importantly, could anyone tell me few methods of generating 
noisy environment.


Many Thanks in advance,
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] Problem with communicating with PC using UART0 on telos ver.B for tinyos 2.x

2007-10-04 Thread Vaibhav Nagarnaik
Hi All,

I am trying to use tinyos 2.x with telosb to communicate with PC using UART0.

I have tried different components Msp430Usart0C and Msp430Uart0C but I don't 
receive the same character sent from PC.

For example if I send 'a' from PC, I get '0x58 0x08 0x01 0x00' ie four 
characters on the PC. Even when the code explicitly sends 1 byte.

I have set baud rate on the PC to 57600. If I run the same code using 
Msp430Usart1C component, there is no problem.

Can anyone please point me to the problem in this code?

Following is the sample code I am trying to run.

configuration TestSerialAppC {}
implementation {
components TestSerialC as App, MainC, LedsC;

components new Msp430Usart0C() as usart0;

App.Boot - MainC;
App.Leds - LedsC;

App.usart - usart0;
App.UsartResource - usart0;
}

module TestSerialC {
uses {
interface HplMsp430Usart as usart;
interface Boot;
interface Resource as UsartResource;
interface Leds;
}
}

implementation {
event void Boot.booted() {
while (call UsartResource.request() != SUCCESS);
}
event void UsartResource.granted() {
uint8_t data;
call usart.setModeUart(msp430_uart_default_config);
call usart.enableUart();

while (1) {
call Leds.led1On();
while (! call usart.isRxIntrPending());
call Leds.led1Off();

data = call usart.rx();
call usart.clrRxIntr();

call Leds.led0On();
call usart.tx(data);

while (! call usart.isTxEmpty());
if (call usart.isTxIntrPending()) {
call usart.clrTxIntr();
}
call Leds.led0Off();
}
}
}



Any help is appreciated. 
 
Vaibhav








   

Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for 
today's economy) at Yahoo! Games.
http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow  

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


Re: [Tinyos-help] Problem with communicating with PC using UART0 on telos ver.B for tinyos 2.x

2007-10-04 Thread Kevin Klues
I'm actually surprised you see anything at all..
You can't use USART0 to communicate with the PC because it isn't
physically connected to the serial port on the telos -- there are no
wires connecting USART0 to the USB controller to exchange data with
the PC.

USART0 is attached to the radio, the flash, and the external connector
pins, while USART1 is attached to the serial port.

As a side note..
You should consider using something other than while() loops in the
way that you do if you actually start implementing something
substantial in TinyOS.  Because of the concurrency model that TinyOS
uses, using while() loops to wait on a flag without really knowing
what you are doing could cause your program to lock up and never break
out of the loop.  Using a split-phase operation is preferred.  Just a
word of caution for anyone considering doing this.

Kevin

On 10/4/07, Vaibhav Nagarnaik [EMAIL PROTECTED] wrote:
 Hi All,

 I am trying to use tinyos 2.x with telosb to communicate with PC using UART0.

 I have tried different components Msp430Usart0C and Msp430Uart0C but I don't 
 receive the same character sent from PC.

 For example if I send 'a' from PC, I get '0x58 0x08 0x01 0x00' ie four 
 characters on the PC. Even when the code explicitly sends 1 byte.

 I have set baud rate on the PC to 57600. If I run the same code using 
 Msp430Usart1C component, there is no problem.

 Can anyone please point me to the problem in this code?

 Following is the sample code I am trying to run.

 configuration TestSerialAppC {}
 implementation {
 components TestSerialC as App, MainC, LedsC;

 components new Msp430Usart0C() as usart0;

 App.Boot - MainC;
 App.Leds - LedsC;

 App.usart - usart0;
 App.UsartResource - usart0;
 }

 module TestSerialC {
 uses {
 interface HplMsp430Usart as usart;
 interface Boot;
 interface Resource as UsartResource;
 interface Leds;
 }
 }

 implementation {
 event void Boot.booted() {
 while (call UsartResource.request() != SUCCESS);
 }
 event void UsartResource.granted() {
 uint8_t data;
 call usart.setModeUart(msp430_uart_default_config);
 call usart.enableUart();

 while (1) {
 call Leds.led1On();
 while (! call usart.isRxIntrPending());
 call Leds.led1Off();

 data = call usart.rx();
 call usart.clrRxIntr();

 call Leds.led0On();
 call usart.tx(data);

 while (! call usart.isTxEmpty());
 if (call usart.isTxIntrPending()) {
 call usart.clrTxIntr();
 }
 call Leds.led0Off();
 }
 }
 }



 Any help is appreciated.

 Vaibhav









 
 Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for 
 today's economy) at Yahoo! Games.
 http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow

 ___
 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


Re: [Tinyos-help]Receiving Bad Packets

2007-10-04 Thread Michael Schippling

ugh...I think you're right...

Looks like the radio CRC gets wiped by SpiByteFifo.dataReady()
in CC1000RAdioIntM.nc... look for:
rxbufptr-crc
Although the radio receive only looks at the CRC in order to
implement ACKs correctly and the message is passed along no matter.

Then the CRC gets recalculated for the uart by ByteComm.txByteReady()
in FramerM.nc... look for:
gTxRunningCRC

You could probably hack both of these in order to get the original
radio CRC, but I'm not taking any bets on what else may be afflicted.

MS


RamKishore wrote:

Hi,

Thanks for helping in creating noisy environment.

Regarding CRCs,The CRC values that you were referring to are those over 
wired-medium(RS-232 in my case) between mica2 and PC.To elaborate:As 
said,TOS base surely doesn't do any CRC check.It receives only correct 
CRC packets from bottom layers.Now,it has to transmit this *correct 
packet* without any error to PC.So,it frames it's own CRC and transmits 
them to PC.At PC,java tool (Packetizer.java) will strip the CRC sent by  
TOSbase  ( and copy into readCrc of 
Packetizer.java::readFramedPacket() ) and now calculate its own CRC 
(computedCrc  in Packetizer.java::readFramedPacket()) 
.Then,cross-checks both and if they are same,it will display.This can be 
made sure by looking at TOS_msg-crc feild and crc done by java 
tool,which will turn out to be different.


Any ideas about dealing with bottom layer files ? Is there any thing 
that can be done with these files:(they seem to be doing something with 
crc)
 1)tos\platform\mica2\CC1000RadioIntM.nc(I doubt something can be done 
here)

 2) tos\platform\system\CrcFilter
 3) tos\platform\CRCPacket.nc.
As a newbie,i dont know perfectly what is going on?

Many Thanks,
Kishore




Michael Schippling wrote:

I'm fairly sure that TOSBase doesn't do any received CRC check.
If you look at Packetizer.java::readFramedPacket() you can see
where messages are rejected based on the CRC failure, so this is
probably the place to hack.

I find that jackhammers and banging on pots and pans are good for
creating a noisy environment...sorry. You probably mean noisy RADIO
environment. It might be easier to reduce the signal, rather than
increase the noise. Removing the antenna from one of the motes
or reducing the transmit power could work. Or use a partial faraday
cage around some of the Motes.

MS


RamKishore wrote:

Hi all,
 I want to receive the  bad packets which failed CRC test.I 
am using  TOSbase(/tinyos1.x/contrib/xbow/apps) as receiver(mica2),at 
916.4Mhz.I scanned mailing lists,but couldn't figure out anything.


More importantly, could anyone tell me few methods of generating 
noisy environment.


Many Thanks in advance,
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] Help Required

2007-10-04 Thread Anil Karamchandani
Hi all 
 
I am currently doing my masters program in computer science dept from the Univ 
of Houston  I have taken a course on Wireless Sensor Networks because of my 
inclination in sensor technologies .
 
I am currently doing a project Emulation and Simulation of Wireless Sensor 
Networks in Wireless Networks and have chosen TOSSIM as a Simulator to 
simulate the working environment .
 
I have downloaded the TinyOs software and installed the same without any errors 
. I have also gone through the tutorials to run the application , however these 
tutorials require the physical motes to be run and its not done with the 
simulator , the effect of simulator is not visible in this case . 
 
I would highly appreciate if you could let me know how can i install TOSSIM 
over TinyOS or how does TinyOS works as TOSSIM ,
 
I am a bit confused and need assistance at the earliest 
 
  
Regards
Anil Karamchandani

Regards,

Anil Karamchandani.




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

[Tinyos-help] Help Required

2007-10-04 Thread Anil Karamchandani
Hi all 
 
I am currently doing my masters program in computer science dept from the Univ 
of Houston  I have taken a course on Wireless Sensor Networks because of my 
inclination in sensor technologies .
 
I am currently doing a project Emulation and Simulation of Wireless Sensor 
Networks in Wireless Networks and have chosen TOSSIM as a Simulator to 
simulate the working environment .
 
I have downloaded the TinyOs software and installed the same without any errors 
. I have also gone through the tutorials to run the application , however these 
tutorials require the physical motes to be run and its not done with the 
simulator , the effect of simulator is not visible in this case . 
 
I would highly appreciate if you could let me know how can i install TOSSIM 
over TinyOS or how does TinyOS works as TOSSIM ,
 
I am a bit confused and need assistance at the earliest 
 
  
Regards
Anil Karamchandani

Regards,

Anil Karamchandani.




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

Re: [Tinyos-help] serialsource for Visua C

2007-10-04 Thread Ákos Maróy

David Gay wrote:

Sure, send them on.


please find the files attached...

the rest of the C code compiles fine on Visual Studio.

(disclaimer: I'm not a Windows fan by far - I was almost forced to do 
this :)


#ifndef SERIALSOURCE_H
#define SERIALSOURCE_H

#ifdef _WIN32
#include windows.h
#endif

#ifdef __cplusplus
extern C {
#endif

typedef struct serial_source_t *serial_source;

typedef enum {
  msg_unknown_packet_type,  /* packet of unknown type received */
  msg_ack_timeout,  /* ack not received within timeout */
  msg_sync, /* sync achieved */
  msg_too_long, /* greater than MTU (256 bytes) */
  msg_too_short,/* less than 4 bytes */
  msg_bad_sync, /* unexpected sync byte received */
  msg_bad_crc,  /* received packet has bad crc */
  msg_closed,   /* serial port closed itself */
  msg_no_memory,/* malloc failed */
  msg_unix_error/* check errno for details */
} serial_source_msg;

serial_source open_serial_source(const char *device, int baud_rate,
 int non_blocking,
 void (*message)(serial_source_msg problem));
/* Effects: opens serial port device at specified baud_rate. If non_blocking
 is true, read_serial_packet calls will be non-blocking (writes are
 always blocking, for now at least)
 If non-null, message will be called to signal various problems during
 execution.
   Returns: descriptor for serial forwarder at host:port, or
 NULL for failure
 */

#ifndef _WIN32
int serial_source_fd(serial_source src);
/* Returns: the file descriptor used by serial source src (useful when
 non-blocking reads were requested)
*/
#endif

#ifdef _WIN32
HANDLE serial_source_handle(serial_source src);
/* Returns: the file descriptor used by serial source src (useful when
 non-blocking reads were requested)
*/
#endif

int serial_source_empty(serial_source src);
/* Returns: true if serial source does not contain any pending data, i.e.,
 if the result is true and there is no data available on the source's
 file descriptor, then read_serial_packet will:
   - return NULL if the source is non-blocking
   - block if it is blocking

(Note: the presence of this calls allows the serial_source to do some
internal buffering)
*/

int close_serial_source(serial_source src);
/* Effects: closes serial source src
   Returns: 0 if successful, -1 if some problem occured (but source is
 considered closed anyway)
 */

void *read_serial_packet(serial_source src, int *len);
/* Effects: Read the serial source src. If a packet is available, return it.
 If in blocking mode and no packet is available, wait for one.
   Returns: the packet read (in newly allocated memory), with *len is
 set to the packet length, or NULL if no packet is yet available and
 the serial source is in non-blocking mode
*/

int write_serial_packet(serial_source src, const void *packet, int len);
/* Effects: writes len byte packet to serial source src
   Returns: 0 if packet successfully written, 1 if successfully written
 but not acknowledged, -1 otherwise
*/

int platform_baud_rate(char *platform_name);
/* Returns: The baud rate of the specified platform, or -1 for unknown
 platforms. If platform_name starts with a digit, just return 
 atoi(platform_name).
*/

#ifdef __cplusplus
}
#endif

#endif
#ifndef _WIN32
#include sys/types.h
#include sys/stat.h
#include termios.h
#include unistd.h
#include errno.h
#include fcntl.h
#include stdlib.h
#include string.h
#include ctype.h
#include sys/time.h
#include stdio.h
#ifdef __CYGWIN__
#include windows.h
#include io.h
#else
#include stdint.h
#endif
#endif

#ifdef _WIN32
#include windows.h
#include stdint.h
#endif

/* C implementation of the mote serial protocol. See
   net.tinyos.packet.Packetizer for more details */

#undef DEBUG

#include serialsource.h
#include serialprotocol.h

typedef int bool;

enum {
#ifndef __CYGWIN__
#ifndef _WIN32
  FALSE = 0,
  TRUE = 1,
#endif
#endif
  BUFSIZE = 256,
  MTU = 256,
  ACK_TIMEOUT = 100, /* in us */
  SYNC_BYTE = SERIAL_HDLC_FLAG_BYTE,
  ESCAPE_BYTE = SERIAL_HDLC_CTLESC_BYTE,

  P_ACK = SERIAL_SERIAL_PROTO_ACK,
  P_PACKET_ACK = SERIAL_SERIAL_PROTO_PACKET_ACK,
  P_PACKET_NO_ACK = SERIAL_SERIAL_PROTO_PACKET_NOACK,
  P_UNKNOWN = SERIAL_SERIAL_PROTO_PACKET_UNKNOWN
};

struct packet_list
{
  uint8_t *packet;
  int len;
  struct packet_list *next;
};

struct serial_source_t {
#ifndef _WIN32
  int fd;
#else
  HANDLE hComm;
#endif
  bool non_blocking;
  void (*message)(serial_source_msg problem);

  /* Receive state */
  struct {
uint8_t buffer[BUFSIZE];
int bufpos, bufused;
uint8_t packet[MTU];
bool in_sync, escaped;
int count;
struct packet_list *queue[256]; // indexed by protocol
  } recv;
  struct {
uint8_t seqno;
uint8_t *escaped;
int escapeptr;
uint16_t