diff rvinterf/tmsh/l1cmd.c @ 114:eb54195fded6

fc-tmsh: rfpw command implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 16 Jan 2017 20:14:48 +0000
parents 816d91739a32
children c41511b79b1d
line wrap: on
line diff
--- a/rvinterf/tmsh/l1cmd.c	Mon Jan 16 19:30:40 2017 +0000
+++ b/rvinterf/tmsh/l1cmd.c	Mon Jan 16 20:14:48 2017 +0000
@@ -114,3 +114,53 @@
 	send_etm_cmd(cmdpkt, 5);
 	return(0);
 }
+
+cmd_rfpw2(argc, argv)
+	char **argv;
+{
+	u16 index, value;
+	u_char cmdpkt[7];
+
+	index = strtoul(argv[1], 0, 0);
+	value = strtol(argv[2], 0, 0);
+	cmdpkt[1] = RF_PARAM_WRITE;
+	cmdpkt[2] = index;
+	cmdpkt[3] = index >> 8;
+	cmdpkt[4] = value;
+	cmdpkt[5] = value >> 8;
+	send_etm_cmd(cmdpkt, 5);
+	return(0);
+}
+
+cmd_rfpw3(argc, argv)
+	char **argv;
+{
+	u16 index;
+	u8 val1, val2;
+	u_char cmdpkt[7];
+
+	index = strtoul(argv[1], 0, 0);
+	val1 = strtoul(argv[2], 0, 0);
+	val2 = strtoul(argv[3], 0, 0);
+	cmdpkt[1] = RF_PARAM_WRITE;
+	cmdpkt[2] = index;
+	cmdpkt[3] = index >> 8;
+	cmdpkt[4] = val1;
+	cmdpkt[5] = val2;
+	send_etm_cmd(cmdpkt, 5);
+	return(0);
+}
+
+cmd_rfpw(argc, argv)
+	char **argv;
+{
+	switch (argc) {
+	case 3:
+		return cmd_rfpw2(argc, argv);
+	case 4:
+		return cmd_rfpw3(argc, argv);
+	default:
+		fprintf(stderr, "BUG: wrong argc in cmd_rfpw()\n");
+		return(ERROR_BUG);
+	}
+}