From 4b103ee828fe921effeb58a885986d19b8754e1f Mon Sep 17 00:00:00 2001 From: scipio Date: Tue, 10 Jun 2008 16:50:22 +0000 Subject: [PATCH] Fixed Makefile to automatically compile serial listen for 15.4, made serial list print zero-padded hex. --- apps/BaseStation15.4/Makefile | 10 ++++++- .../{listen14_5.c => seriallisten15-4.c} | 27 ++++++++++--------- 2 files changed, 24 insertions(+), 13 deletions(-) rename apps/BaseStation15.4/{listen14_5.c => seriallisten15-4.c} (84%) diff --git a/apps/BaseStation15.4/Makefile b/apps/BaseStation15.4/Makefile index 3c052e79..c58ce521 100644 --- a/apps/BaseStation15.4/Makefile +++ b/apps/BaseStation15.4/Makefile @@ -2,5 +2,13 @@ COMPONENT=BaseStationC CFLAGS += -DCC2420_NO_ACKNOWLEDGEMENTS CFLAGS += -DCC2420_NO_ADDRESS_RECOGNITION -include $(MAKERULES) +BUILD_EXTRA_DEPS += seriallisten15-4 +CLEAN_EXTRA = seriallisten15-4.o seriallisten15-4 + +seriallisten15-4: seriallisten15-4.o + gcc -o $@ $< $(TOSDIR)/../support/sdk/c/sf/libmote.a +seriallisten15-4.o: seriallisten15-4.c + gcc -c -o $@ -I$(TOSDIR)/../support/sdk/c/sf -I$(TOSDIR)/lib/serial -I$(TOSDIR)/types $< + +include $(MAKERULES) diff --git a/apps/BaseStation15.4/listen14_5.c b/apps/BaseStation15.4/seriallisten15-4.c similarity index 84% rename from apps/BaseStation15.4/listen14_5.c rename to apps/BaseStation15.4/seriallisten15-4.c index 7ed64f6f..b9c334d2 100644 --- a/apps/BaseStation15.4/listen14_5.c +++ b/apps/BaseStation15.4/seriallisten15-4.c @@ -87,7 +87,7 @@ int main(int argc, char **argv) { char seqno = packet[i++]; - printf(" Sequence number: %hhx\n", seqno); + printf(" Sequence number: 0x%hhx\n", seqno); } { @@ -98,7 +98,7 @@ int main(int argc, char **argv) // 16- and 64-bit destinations have a PAN ID if (addrLen == 2 || addrLen == 3) { short destPan = packet[i++] << 8 | packet[i++]; - printf(" Destination PAN: %hx\n", destPan); + printf(" Destination PAN: 0x%02hx\n", destPan); } switch (addrLen) { @@ -109,8 +109,9 @@ int main(int argc, char **argv) printf(" Destination address: invalid? (0x01)\n"); break; case 2: - saddr = (packet[i++] << 8 | packet[i++]); - printf(" Destination address: %hx\n", saddr); + saddr = (packet[i] << 8 | packet[i+1]); + i += 2; + printf(" Destination address: 0x%04hx\n", saddr); break; case 3: { int j; @@ -118,7 +119,7 @@ int main(int argc, char **argv) laddr = laddr << 8; laddr |= packet[i++]; } - printf(" Destination address: %llx\n", laddr); + printf(" Destination address: 0x%016llx\n", laddr); break; } default: @@ -133,8 +134,9 @@ int main(int argc, char **argv) long long laddr = 0; if (!intraPan) { // Intra-PAN packet - short srcPan = packet[i++] << 8 | packet[i++]; - printf(" Source PAN: %hx\n", srcPan); + short srcPan = packet[i] << 8 | packet[i+1]; + i += 2; + printf(" Source PAN: 0x%02hx\n", srcPan); } switch (addrLen) { @@ -145,8 +147,9 @@ int main(int argc, char **argv) printf(" Source address: invalid? (0x01)\n"); break; case 2: - saddr = (packet[i++] << 8 | packet[i++]); - printf(" Source address: %hx\n", saddr); + saddr = (packet[i] << 8 | packet[i + 1]); + i += 2; + printf(" Source address: 0x%04hx\n", saddr); break; case 3: { int j; @@ -154,7 +157,7 @@ int main(int argc, char **argv) laddr = laddr << 8; laddr |= packet[i++]; } - printf(" Source address: %llx\n", laddr); + printf(" Source address: 0x%016llx\n", laddr); break; } default: @@ -162,7 +165,7 @@ int main(int argc, char **argv) } } - printf(" AM type: %hhx\n", packet[i++]); + printf(" AM type: 0x%02hhx\n", packet[i++]); if (i >= plen) { printf("Packet format error: read packet is shorter than expected.\n"); @@ -170,7 +173,7 @@ int main(int argc, char **argv) else { printf(" Payload: "); for (; i < plen; i++) { - printf("%hhx ", packet[i]); + printf("0x%02hhx ", packet[i]); } printf("\n\n"); putchar('\n'); -- 2.39.2