diff rvinterf/etmsync/l1tmops.c @ 844:4694c7686ccd

fc-tmsync: add mpr command
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 31 Jul 2021 21:57:48 +0000
parents 4469d73bbc60
children
line wrap: on
line diff
--- a/rvinterf/etmsync/l1tmops.c	Sat Jul 31 21:00:26 2021 +0000
+++ b/rvinterf/etmsync/l1tmops.c	Sat Jul 31 21:57:48 2021 +0000
@@ -137,3 +137,29 @@
 	bcopy(rvi_msg + 5, buf, 32);
 	return(0);
 }
+
+do_mpr(index, retp)
+	u_short *retp;
+{
+	u_char cmdpkt[5];
+
+	cmdpkt[1] = MISC_PARAM_READ;
+	cmdpkt[2] = index;
+	cmdpkt[3] = index >> 8;
+	etm_pkt_exch(cmdpkt, 3);
+	if (rvi_msg[3]) {
+		fprintf(stderr, "target error %u in response to mpr\n",
+			rvi_msg[3]);
+		return(ERROR_TARGET);
+	}
+	if (rvi_msg_len < 8) {
+		fprintf(stderr, "target error: mpr response too short\n");
+		return(ERROR_TARGET);
+	}
+	if (rvi_msg[4] != index) {
+		fprintf(stderr, "target error: mpr response wrong index\n");
+		return(ERROR_TARGET);
+	}
+	*retp = rvi_msg[5] | (rvi_msg[6] << 8);
+	return(0);
+}