[Firebug-cvs] firebug/project/zaurus design.txt,NONE,1.1
Brought to you by:
doolin
|
From: <do...@us...> - 2003-07-02 16:32:32
|
Update of /cvsroot/firebug/firebug/project/zaurus
In directory sc8-pr-cvs1:/tmp/cvs-serv21261
Added Files:
design.txt
Log Message:
Preliminary design documentation for zaurus.
--- NEW FILE: design.txt ---
>From pho...@EE... Wed Jul 2 09:23:04 2003
Date: Mon, 16 Jun 2003 16:32:49 -0700
From: pho...@EE...
To: che...@ya...
Subject: Zaurus starting instructions
Zaurus Programming
******************
Close collaboration with: Service visualization coordinator
DESCRIPTION
We wish to use the Zauruses for the final integrated demo, so people
can walk around the network to eavesdrop on the packets and use that to observe
what is happening in different local areas of the network. Instead of
displaying raw data, we hope to process the information and display the various
services covered in the minidemos. The user should be able to select from a
menu/tabbed pane which service to display on the screen.
IMPLEMENTATION
There are two ways of gathering information from the network. One is
to eavesdrop on packets flying by and listen to broadcasts on the network using
a generic_comm mote connected to the Zaurus. The other is to send queries into
the network for information using a generic_comm mote connect to the Zaurus
(see RESOURCES list below for more information on using Config interface for
sending queries).
Ideally, we will be using the Compact Flash Motes developed by Intel
(see RESOURCES list below) to serve as a generic_base mote to communicate with
the network of MICA2 motes. This may or may not require redevelopment of
software on the java side to talk to the compact flash mote. At the Spring
2003 NEST retreat, David Gay at Intel demonstrated using a compact flash mote
on the Compaq IPAQ to communicate with a MICA1 network, so he may have some
software that can already be used. The backup plan is to use the serial port
on the Zaurus's and connect to a MICA2 mote directly. In this case, we would
probably use the serial forwarder, moteIF, messageListener java
programs/interfaces to talk to the network. In any case, we will have to test
the latter first until the compact flash motes for the MICA2 networks come in.
To save development time, we wish to reuse the code from the minidemos
in our Zaurus devices. Therefore, the main task of the Zaurus programmer is to
port the code over to the Java 2 Platform, Micro Edition (J2ME). Part of the
tasks is to discover the limitations of running Java on the Zauruses (if any)
and inform the service visualization coordinator so he can disseminate this
information to the visualization coders. Ideally, even for the minidemos, we
have only one program in a JAR file that links to all the service visualization
java programs and displays them in a tabbed pane. If no problems arise,
porting to the Zaurus should be as easy as just running the JAR program used
for the minidemos. However, we need an expert on the Zauruses to identify and
provide workarounds to any problems that arise.
TASKS
1) Read documentation on differences in J2ME and J2SE. Pay particular
attention to whether there are differences in how input/output is handled.
* For example, we know that the Zaurus's have a smaller screen. Will this
cause formatting problems for the display windows?
* Are there progamming functions/constructs that are not supported/behave
differently on J2ME? Ex. Is Java's Swing supported? If there are coding
differences, notify the service visualization coordinator.
2) After playing with the Zaurus's, note what particular forms of input are
more/less cumbersome than that experienced on a laptop computer.
Currently, the plan is to use only buttons and pull down menus to switch
between modes and select options, minimizing typing. Provide this
feedback to the service visualization coordinator.
3) Test porting the Oscilloscope application to the Zaurus, and note any
difficulties encountered porting the program. Pay close attention to any
effects on the graphics.
4) Test porting Vanderbilt's Message Center to the Zaurus (see RESOURCES) as
a debugging tool, and note any difficulties encountered porting the program.
Note that VU's Message Center uses Swing... this is an opportunity to see
if there are any problems with using swing and finding work arounds.
5) Optional: Make modifications to the VU tools to make it easier to use on
the Zaurus (or write a new set of tools completely if appropriate). This
will make the Zaurus a good platform for debugging a deployed sensor
network.
6) Help with actual porting of service visualizations to Zaurus.
7) Write a set of instructions on how to setup and run the Zauruses. One set
of instructions for any initial configurations/setup, and another set of
instructions for how to start the program.
8)
RESOURCES
1) Java 2 Platform, Micro Edition
http://java.sun.com/j2me/
2) See the list "Packets Received From the Network".
3) Talk to David Gay (dg...@in...) and Wei Hong
(wh...@in...) about when we can get Compact Flash cards to
plug into the Zaurus's to interface with the Mica2 motes.
4) Querying the sensor network for information can be accomplished through
the Configuration interface written by Cory Sharp
(cs...@ee...). The documentation SHOULD be in
tinyos/minitasks/03/ucb/Config/Config_README.txt . If it is not there,
please email Cory Sharp to get it updated.
5) See Vanderbilt Tool Quick Reference for notes on how to run Vanderbilt's
network snooping tool.
6) See NesC tutorial for more information about the Oscilloscope application.
Vanderbilt Tool Quick Reference
-------------------------------
- In minitasks/02/VU/tools/java/isis/nest/messageCenter run
javac ./messageCenter/*.java ./util/*.java
- In minitasks/02/VU/tools/java directory run
java isis/nest/messageCenter/CenterFrame
- Progams that can be loaded by the App Loader:
* AllMSGDisplay.java
* DiagMSGDisplay.java
* MessageTable.java
* RegisterManager.java
- Message Table: mouse over the message format whitespace and wait
to get entry formatting information
* types accepted: char uint8 int8 hex8 uint16 int16 hex16
uint32 int32 hex32 float
* modifiers accepted: omit unique const (or no modifier)
* press reset button for formatting changes to take effect
* use AllMSGDisplay to help determine msg type and fields that are used
* the packet format specified has to be the exact length of the packet
transmitted to have the messages displayed
* you can add rows, fill in information, and send messages back to the
network
* if you save a configuration (the message format info), it will persist
between java sessions
- To delete all the messages in AllMSGDisplay and DiagMSGDisplay, type Ctrl-A,
then DELETE
|