FreeCalypso > hg > freecalypso-sw
view rvinterf/etm/etmbasic.c @ 183:85222710dc92
rvinterf/etm: implemented everything except the packet sending command
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 24 Nov 2013 08:03:27 +0000 |
parents | |
children | 4714fdfca39c |
line wrap: on
line source
/* * Basic ETM interaction */ #include <sys/types.h> #include <stdio.h> #include <string.h> #include <strings.h> #include <stdlib.h> #include "../limits.h" extern u_char rvi_msg[]; extern int rvi_msg_len; void etm_packet_rx() { char buf[MAX_PKT_FROM_TARGET*3+80], *dp; int i, c; if (rvi_msg_len < 4) { async_msg_output("!!! Short ETM Rx packet !!!"); return; } strcpy(buf, "Pkt from ETM:"); dp = index(buf, '\0'); c = 0; for (i = 2; i < rvi_msg_len; i++) { sprintf(dp, " %02X", rvi_msg[i]); dp += 3; c ^= rvi_msg[i]; } sprintf(dp, " chksum %s", c ? "BAD" : "OK"); async_msg_output(buf); }