/********************************** Network Dump v1.0 Dumps network data to com port Copyright Patrick Childers ptc@quadserv.com ***********************************/ #include "pager.h" #include #include char VersionPtr[] = "Network Dump"; int AppStackSize = 2048; static BYTE mpakBuffer[560]; static MPAK_HEADER mpakHeader; #define SCROLL_HEIGHT 8 void putline (char *str) { LcdScroll(SCROLL_HEIGHT); LcdPutStringXY( 0, LCD_HEIGHT-SCROLL_HEIGHT, str, -1, TEXT_NORMAL ); } void PagerMain(void) { int n,x; char buffer[300]; MESSAGE msg; RadioRegister(); for (;;) { RimGetMessage( &msg ); switch (msg.Device) { case DEVICE_RADIO: switch (msg.Event) { case MESSAGE_RECEIVED: n = RadioGetMpak(msg.SubMsg, &mpakHeader, mpakBuffer); if (n < 0) { putline("RadioGetMpak failed"); break; } RimSprintf(buffer, sizeof(buffer),"\r\n\r\nSender: %d\r\nDestination: %d\r\nMpakType: %d\r\nHPID: %d\r\nFlags: %d\r\nlTime: %d\r\nTrafficState: %d\r\nPayload:\r\n",mpakHeader.Sender,mpakHeader.Destination,mpakHeader.MpakType,mpakHeader.HPID,mpakHeader.Flags,mpakHeader.lTime,mpakHeader.TrafficState); buffer[300] = '\0'; mpakBuffer[560] = '\0'; CommOpenPort(9600, 8, COMM_NO_PARITY, 1, 2048, 2048); for (x=0;buffer[x] != '\0';x++) { CommSendChar((BYTE) buffer[x]); } for (x=0;x<561;x++) { CommSendChar((BYTE) mpakBuffer[x]); } CommClosePort(); break; } break; } } }