# HG changeset patch # User Mychaela Falconia # Date 1495477824 0 # Node ID 0645344feee5215d984ebd857c6823860bd1df8d # Parent 1c4abfe8bcd90d891e4d10570255241393129165 autocal/l1tmops.c: started implementing basic operations diff -r 1c4abfe8bcd9 -r 0645344feee5 autocal/l1tmops.c --- a/autocal/l1tmops.c Mon May 22 17:45:30 2017 +0000 +++ b/autocal/l1tmops.c Mon May 22 18:30:24 2017 +0000 @@ -47,3 +47,91 @@ } return(0); } + +do_tms(arg) +{ + u_char cmdpkt[5]; + + cmdpkt[1] = TM_MODE_SET; + cmdpkt[2] = arg; + cmdpkt[3] = arg >> 8; + l1tm_pkt_exch(cmdpkt, 3); + if (rvi_msg[3]) { + fprintf(stderr, "DUT error %u in response to tms\n", + rvi_msg[3]); + exit(ERROR_TARGET); + } + if (rvi_msg_len != 5) { + fprintf(stderr, "DUT error: tms response wrong length\n"); + exit(ERROR_TARGET); + } + return(0); +} + +do_rfe(arg) +{ + u_char cmdpkt[5]; + + cmdpkt[1] = RF_ENABLE; + cmdpkt[2] = arg; + cmdpkt[3] = arg >> 8; + l1tm_pkt_exch(cmdpkt, 3); + if (rvi_msg[3]) { + fprintf(stderr, "DUT error %u in response to rfe\n", + rvi_msg[3]); + exit(ERROR_TARGET); + } + return(0); +} + +do_rfpw(index, value) +{ + u_char cmdpkt[7]; + + cmdpkt[1] = RF_PARAM_WRITE; + cmdpkt[2] = index; + cmdpkt[3] = index >> 8; + cmdpkt[4] = value; + cmdpkt[5] = value >> 8; + l1tm_pkt_exch(cmdpkt, 5); + if (rvi_msg[3]) { + fprintf(stderr, "DUT error %u in response to rfpw\n", + rvi_msg[3]); + exit(ERROR_TARGET); + } + if (rvi_msg_len != 6) { + fprintf(stderr, "DUT error: rfpw response wrong length\n"); + exit(ERROR_TARGET); + } + if (rvi_msg[4] != index) { + fprintf(stderr, "DUT error: rfpw response wrong index\n"); + exit(ERROR_TARGET); + } + return(0); +} + +set_std_band(std, band) +{ + u_char cmdpkt[7]; + + cmdpkt[1] = RF_PARAM_WRITE; + cmdpkt[2] = STD_BAND_FLAG; + cmdpkt[3] = 0; + cmdpkt[4] = std; + cmdpkt[5] = band; + l1tm_pkt_exch(cmdpkt, 5); + if (rvi_msg[3]) { + fprintf(stderr, "DUT error %u in response to rfpw\n", + rvi_msg[3]); + exit(ERROR_TARGET); + } + if (rvi_msg_len != 6) { + fprintf(stderr, "DUT error: rfpw response wrong length\n"); + exit(ERROR_TARGET); + } + if (rvi_msg[4] != STD_BAND_FLAG) { + fprintf(stderr, "DUT error: rfpw response wrong index\n"); + exit(ERROR_TARGET); + } + return(0); +}