[Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/delugetools
Deluge.java, 1.7, 1.8 Makefile, 1.14, 1.15 Pinger.java, 1.3,
1.4 Rebooter.java, 1.2, 1.3
Jonathan Hui
jwhui at users.sourceforge.net
Tue Mar 15 11:55:53 PST 2005
- Previous message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/Deluge
NetProgMsgs.h, NONE, 1.1 NetProg.h, 1.2, 1.3 NetProgC.nc, 1.3,
1.4 NetProgM.nc, 1.4, 1.5
- Next message: [Tinyos-beta-commits]
CVS: tinyos-1.x/beta/Deluge/Deluge DelugeM.nc, 1.11, 1.12
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-1.x/beta/Deluge/delugetools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4165
Modified Files:
Deluge.java Makefile Pinger.java Rebooter.java
Log Message:
- Ping now returns Ident info for currently executing image.
- Reboot confirmation now displays currently executing image.
- Updated Makefile to point to correct STM25P path.
Index: Deluge.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Deluge/delugetools/Deluge.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Deluge.java 10 Mar 2005 15:51:12 -0000 1.7
--- Deluge.java 15 Mar 2005 19:55:32 -0000 1.8
***************
*** 150,155 ****
case S_PING:
for ( int i = 0; i < pinger.getNumImages(); i++ ) {
! System.out.println(" Image " + i);
TOSBootImage image = pinger.getImage(i);
--- 150,158 ----
case S_PING:
+ System.out.println(" Currently Executing:");
+ System.out.println(pinger.getExecutingIdent());
+
for ( int i = 0; i < pinger.getNumImages(); i++ ) {
! System.out.println(" Stored Image " + i);
TOSBootImage image = pinger.getImage(i);
Index: Makefile
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Deluge/delugetools/Makefile,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** Makefile 9 Feb 2005 01:07:32 -0000 1.14
--- Makefile 15 Mar 2005 19:55:33 -0000 1.15
***************
*** 12,16 ****
NCG = ncg java
! MSGS = DelugeAdvMsg.java DelugeReqMsg.java DelugeDataMsg.java DelugeDataMsg.java DelugeConsts.java
INITIAL_TARGETS = $(MSGS)
--- 12,16 ----
NCG = ncg java
! MSGS = DelugeAdvMsg.java DelugeReqMsg.java DelugeDataMsg.java DelugeDataMsg.java DelugeConsts.java NetProgMsg.java
INITIAL_TARGETS = $(MSGS)
***************
*** 27,31 ****
DELUGE_PLATFORM=pc
DELUGE_LIB=$(TOS)/../beta/Deluge/Deluge
! STM25P_LIB=$(TOS)/../beta/STM25P
DELUGE_PC_LIB=$(TOS)/../beta/Deluge/pc
--- 27,31 ----
DELUGE_PLATFORM=pc
DELUGE_LIB=$(TOS)/../beta/Deluge/Deluge
! STM25P_LIB=$(TOS)/../beta/STM25P/STM25P
DELUGE_PC_LIB=$(TOS)/../beta/Deluge/pc
***************
*** 39,42 ****
--- 39,45 ----
$(MIG) -java-classname=$(PACKAGE).DelugeDataMsg -I$(DELUGE_PC_LIB) $(DELUGE_LIB)/DelugeMsgs.h DelugeDataMsg -o $@
+ NetProgMsg.java:
+ $(MIG) -java-classname=$(PACKAGE).NetProgMsg -I$(DELUGE_PC_LIB) $(DELUGE_LIB)/NetProgMsgs.h NetProgMsg -o $@
+
DelugeConsts.java:
$(NCG) -java-classname=$(PACKAGE).DelugeConsts -target=$(DELUGE_PLATFORM) -I$(DELUGE_LIB) -I$(STM25P_LIB) -I$(DELUGE_PC_LIB) $(DELUGE_LIB)/DelugeC.nc Deluge.h DelugePageTransfer.h DelugeMsgs.h DelugeConsts -o $@
Index: Pinger.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Deluge/delugetools/Pinger.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Pinger.java 2 Mar 2005 17:16:32 -0000 1.3
--- Pinger.java 15 Mar 2005 19:55:33 -0000 1.4
***************
*** 39,42 ****
--- 39,43 ----
private static final short TOS_UART_ADDR = 0x007e;
+ private static final int STRING_SIZE = 16;
private static final int START_PKT = DelugeConsts.DELUGE_CRC_BLOCK_SIZE/DelugeConsts.DELUGE_PKT_PAYLOAD_SIZE;
***************
*** 48,51 ****
--- 49,53 ----
private DelugeAdvMsg advMsg = new DelugeAdvMsg();
+ private NetProgMsg netProgMsg = new NetProgMsg();
private Hashtable pingReplies = new Hashtable();
***************
*** 62,65 ****
--- 64,69 ----
private boolean pingComplete = false;
+ private boolean receivedExecutingIdent = false;
+ private String identString = "";
public Pinger(MoteIF moteif, boolean verbose) {
***************
*** 68,71 ****
--- 72,76 ----
this.moteif.registerListener(new DelugeAdvMsg(), this);
this.moteif.registerListener(new DelugeDataMsg(), this);
+ this.moteif.registerListener(new NetProgMsg(), this);
}
***************
*** 83,86 ****
--- 88,115 ----
setupNewImage();
+ // get executing image
+ for (;;) {
+ try {
+ Thread.currentThread().sleep(500);
+
+ if (receivedExecutingIdent)
+ break;
+
+ netProgMsg.set_sourceAddr(pcAddr);
+ send(netProgMsg);
+ if (verbose) System.out.print(netProgMsg);
+
+ if (!resolvedNodeType) {
+ if (pcAddr == (short)MoteIF.TOS_BCAST_ADDR)
+ pcAddr = TOS_UART_ADDR;
+ else
+ pcAddr = (short)MoteIF.TOS_BCAST_ADDR;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ // get deluge image info
for (;;) {
try {
***************
*** 109,112 ****
--- 138,142 ----
moteif.deregisterListener(new DelugeAdvMsg(), this);
moteif.deregisterListener(new DelugeDataMsg(), this);
+ moteif.deregisterListener(new NetProgMsg(), this);
}
***************
*** 147,150 ****
--- 177,184 ----
}
+ public String getExecutingIdent() {
+ return identString;
+ }
+
public void messageReceived(int toAddr, Message m) {
***************
*** 165,168 ****
--- 199,226 ----
switch(m.amType()) {
+ case NetProgMsg.AM_TYPE:
+
+ netProgMsg = (NetProgMsg)m;
+
+ // extract ident information
+ {
+ byte tmpBytes[] = new byte[STRING_SIZE];
+ for ( int i = 0; i < STRING_SIZE; i++ )
+ tmpBytes[i] = (byte)(netProgMsg.getElement_ident_program_name(i) & 0xff);
+
+ String name = new String(tmpBytes);
+ if (name.indexOf('\0') != -1)
+ name = name.substring(0, name.indexOf('\0'));
+
+ Date date = new Date(netProgMsg.get_ident_unix_time()*1000);
+
+ identString = " Prog Name: " + name + "\n" +
+ " Compiled On: " + date + "\n" +
+ " User Hash: 0x" + Long.toHexString(netProgMsg.get_ident_user_hash());
+ receivedExecutingIdent = true;
+ }
+
+ break;
+
case DelugeAdvMsg.AM_TYPE:
***************
*** 182,195 ****
}
}
!
! DelugeReqMsg reqMsg = new DelugeReqMsg();
! reqMsg.set_sourceAddr(pcAddr);
! reqMsg.set_dest(pingReply.get_sourceAddr());
! reqMsg.set_vNum(pingReply.get_imgDesc_vNum());
! reqMsg.set_imgNum(pingReply.get_imgDesc_imgNum());
! reqMsg.set_pgNum((short)0);
! reqMsg.set_requestedPkts(pktsToReceive);
! if (verbose) System.out.print(reqMsg);
! send(reqMsg);
break;
--- 240,254 ----
}
}
! if (curImage == imgNum) {
! DelugeReqMsg reqMsg = new DelugeReqMsg();
! reqMsg.set_sourceAddr(pcAddr);
! reqMsg.set_dest(pingReply.get_sourceAddr());
! reqMsg.set_vNum(pingReply.get_imgDesc_vNum());
! reqMsg.set_imgNum(pingReply.get_imgDesc_imgNum());
! reqMsg.set_pgNum((short)0);
! reqMsg.set_requestedPkts(pktsToReceive);
! if (verbose) System.out.print(reqMsg);
! send(reqMsg);
! }
break;
Index: Rebooter.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Deluge/delugetools/Rebooter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Rebooter.java 20 Jan 2005 01:37:35 -0000 1.2
--- Rebooter.java 15 Mar 2005 19:55:33 -0000 1.3
***************
*** 46,53 ****
--- 46,55 ----
private short newVersion;
private boolean rebootAcked = false;
+ private Pinger pinger;
private DelugeAdvMsg advMsg = new DelugeAdvMsg();
public Rebooter(Pinger pinger, int imageNum, MoteIF moteif, boolean verbose) {
+ this.pinger = pinger;
this.pingReply = pinger.getPingReply(imageNum);
this.newImage = pinger.getImage(imageNum);
***************
*** 75,82 ****
}
! System.out.println("Reboot to image:");
!
TOSBootImage image = newImage;
! System.out.println(" Image: " + pingReply.get_imgDesc_imgNum());
System.out.println(image);
--- 77,86 ----
}
! System.out.println(" Reboot From Image:");
!
! System.out.println(pinger.getExecutingIdent());
!
TOSBootImage image = newImage;
! System.out.println(" To Image: " + pingReply.get_imgDesc_imgNum());
System.out.println(image);
- Previous message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/Deluge
NetProgMsgs.h, NONE, 1.1 NetProg.h, 1.2, 1.3 NetProgC.nc, 1.3,
1.4 NetProgM.nc, 1.4, 1.5
- Next message: [Tinyos-beta-commits]
CVS: tinyos-1.x/beta/Deluge/Deluge DelugeM.nc, 1.11, 1.12
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-beta-commits
mailing list