FreeCalypso > hg > fc-rfcal-tools
annotate cmu200/init.c @ 34:99f753d4ccaf
fc-cmu200d: check for errors on serial port write
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 23 May 2017 00:33:10 +0000 | 
| parents | bd62be88259d | 
| children | 
| rev | line source | 
|---|---|
| 0 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * This module contains the code that fc-cmu200d runs at startup, | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * to put the CMU200 into a known state at the global level. | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 */ | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include <stdio.h> | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <stdlib.h> | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include <string.h> | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 #include <strings.h> | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include "secaddr.h" | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 extern char instrument_response[]; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 static char id_string[] = "Rohde&Schwarz,CMU"; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 static void | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 assign_secondary_addr(addr, func) | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 char *func; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 { | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 char cmdbuf[80]; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 sprintf(cmdbuf, "SYST:REM:ADDR:SEC %d,\"%s\"\n", addr, func); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 send_scpi_cmd(cmdbuf); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 } | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 init_cmu200() | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 { | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 /* Test if we are connected to a CMU */ | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 send_scpi_cmd("*IDN?\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 collect_instr_response(); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 if (strncasecmp(instrument_response, id_string, strlen(id_string))) { | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 fprintf(stderr, "error: not connected to a CMU200\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 exit(1); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 } | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 /* init commands */ | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 send_scpi_cmd("*SEC 0\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 send_scpi_cmd("*RST;*OPC?\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 collect_staropc_response(); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 send_scpi_cmd("SYST:NONV:DIS\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 assign_secondary_addr(SECADDR_RF_NSIG, "RF_NSig"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 assign_secondary_addr(SECADDR_GSM900MS_NSIG, "GSM900MS_NSig"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 assign_secondary_addr(SECADDR_GSM1800MS_NSIG, "GSM1800MS_NSig"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 assign_secondary_addr(SECADDR_GSM1900MS_NSIG, "GSM1900MS_NSig"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 assign_secondary_addr(SECADDR_GSM850MS_NSIG, "GSM850MS_NSig"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 send_scpi_cmd("*OPC?\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 collect_staropc_response(); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 printf("CMU200 init complete\n"); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 } | 
