FreeCalypso > hg > fc-rfcal-tools
view cmu200/vcxocal.c @ 8:c873a36a16e6
fc-cmu200d: freq-meas implemented without response parsing
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 May 2017 18:20:55 +0000 |
parents | 948031e6de50 |
children | aeffe53e110d |
line wrap: on
line source
/* * This module implements the VCXO calibration support functionality. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include "mode.h" #include "band.h" extern char *client_cmd_fields[]; extern int client_cmd_nfields; extern int current_mode; extern struct band *current_band; extern char instrument_response[]; cmd_vcxo_cal_setup() { int rc; unsigned arfcn; char cmdstr[32]; if (client_cmd_nfields != 3) { send_socket_response("-Wrong number of arguments\n"); return(0); } stop_signal_gen(); current_mode = OP_MODE_UNDEF; rc = find_named_band(client_cmd_fields[1]); if (rc < 0) { send_socket_response("-Invalid band argument\n"); return(0); } arfcn = atoi(client_cmd_fields[2]); if (verify_arfcn(arfcn, 0, 0) < 0) { send_socket_response("-Invalid ARFCN\n"); return(0); } sprintf(cmdstr, "*SEC %d\n", current_band->secaddr); send_scpi_cmd(cmdstr); sprintf(cmdstr, "RFAN:CHAN %uCH\n", arfcn); send_scpi_cmd(cmdstr); send_scpi_cmd("RFAN:TSEQ GSM5\n"); current_mode = OP_MODE_VCXO_CAL; send_socket_response("+OK\n"); return(0); } cmd_freq_meas() { if (current_mode != OP_MODE_VCXO_CAL) { send_socket_response("-Wrong mode\n"); return(0); } send_scpi_cmd("READ:MOD?\n"); collect_instr_response(); /* response parsing and freq offset extraction to be implemented */ send_socket_response("+ TBD\n"); return(0); }