[Tinyos Core WG] Re: Python scripts

David Gay dgay42 at gmail.com
Thu May 17 15:16:07 PDT 2007


On 5/17/07, Razvan Musaloiu-E. <razvanm at cs.jhu.edu> wrote:
> Hi!
>
> On Thu, 17 May 2007, Philip Levis wrote:
>
> > On May 17, 2007, at 1:49 PM, Razvan Musaloiu-E. wrote:
> >
> >> Hi!
> >>
> >> One last question: where exactly in the tools/ should we put the Python
> >> scripts?
> >
> > Hm. It might make more sense to put them in support/, since they interact
> > with nesC code. Otherwise, if someone changes the Deluge code it might be
> > hard to update the scripts.
>
> To make things more clear, here are a brief description of our scripts:
> - deluge.py: this is used to perform the regular Deluge operations (ping,
>    inject, reboot, etc)
> - build-deluge-image.py is used to build a binary image from a
>    tox_image.xml.
> - tinyos.py is a library that contains two class: Serial and
>    GenericPacket. Serial deals with sending/receiving and
>    decoding/encoding of the serial messages. GenericPacket is used to e
>    marshal/unmarshal the data from packets.

Hmm, some comments about tools vs support:

- tools is the command line tools needed to use (compile, install,
debug, etc) TinyOS code
  It's contents are distributed as the tinyos-tools rpm, and should
probably not be (too) dependent on the current state of the rest of
the TinyOS tree
  Also, when possible, we have all the tool names start with tos- to
reduce the level of confusion (we don't do this for tools from an
external source, though, e.g., uisp)

- support is the stuff we want to distribute with the rest of the
TinyOS code, but that isn't TinyOS code. Currently that's basically
the make system and libraries to support PC-side activities in various
languages (C, Java, etc)
  FWIW, we recently started putting PC-side applications that support
a particular TinyOS application with the TinyOS application (i.e., in
apps)

Currently, all executables  (scripts and binaries) are in
tinyos-tools. Life is simpler when the main tinyos package does not
contain executables - it makes it easier to use CVS instead of
distributions, makes the tinyos rpm relocatable, forces us to think
before breaking the existing tools ;-)

So from your list:
- tinyos.py sounds like something which should be living in
support/python (it sounds useful for any TinyOS programmer who wants
to interact with motes using python)
- if deluge.py and build-deluge-image.py are command line tools:
  - they should start with tos- (and lose the .py suffix - the user
doesn't care that they're written in python)
  - they should live in the tools directory and be distributed with
the tools package

I guess they're may be an issue with tinyos.py being needed by
deluge.py and build-deluge-image.py? I'd actually suggest just having
a "private" copy of tinyos.py that lives somewhere in the tinyos-tools
package.

David


More information about the Tinyos-2.0wg mailing list