Thread: [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 |