comparison cmu200/signalgen.c @ 5:493987a4527e

fc-cmu200d: signal-gen-sine implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 21 May 2017 07:48:54 +0000
parents 504d3cbb95b5
children d8cbc7a383eb
comparison
equal deleted inserted replaced
4:504d3cbb95b5 5:493987a4527e
34 send_scpi_cmd(cmdstr); 34 send_scpi_cmd(cmdstr);
35 current_mode = OP_MODE_SIGNAL_GEN; 35 current_mode = OP_MODE_SIGNAL_GEN;
36 send_socket_response("+OK\n"); 36 send_socket_response("+OK\n");
37 return(0); 37 return(0);
38 } 38 }
39
40 cmd_signal_gen_sine()
41 {
42 unsigned arfcn, freq_khz;
43 int offset;
44 char cmdstr[128];
45
46 if (current_mode != OP_MODE_SIGNAL_GEN) {
47 send_socket_response("-Wrong mode\n");
48 return(0);
49 }
50 if (client_cmd_nfields != 4) {
51 send_socket_response("-Wrong number of arguments\n");
52 return(0);
53 }
54 arfcn = atoi(client_cmd_fields[1]);
55 if (verify_arfcn(arfcn, 0, &freq_khz) < 0) {
56 send_socket_response("-Invalid ARFCN\n");
57 return(0);
58 }
59 offset = atoi(client_cmd_fields[2]);
60 freq_khz += offset;
61 sprintf(cmdstr, "SOUR:RFG:LEV %s\n", client_cmd_fields[3]);
62 send_scpi_cmd(cmdstr);
63 sprintf(cmdstr, "SOUR:RFG:FREQ %u000\n", freq_khz);
64 send_scpi_cmd(cmdstr);
65 send_scpi_cmd("INIT:RFG\n");
66 send_scpi_cmd("*OPC?\n");
67 collect_staropc_response();
68 send_socket_response("+OK\n");
69 return(0);
70 }