FreeCalypso > hg > fc-rfcal-tools
annotate vcxo-manual/linear.c @ 47:e86779d5445c
autocal: preparations for receiving auto stats and rfe completion
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 27 May 2017 06:46:17 +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 #include <stdio.h> | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 #include <stdlib.h> | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 #include "meas.h" | 
| 
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 struct meas meas[2]; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 float lin_a, lin_b, target_off; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 int target_dac; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 main(argc, argv) | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 char **argv; | 
| 
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 if (argc < 2 || argc > 3) { | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 fprintf(stderr, "usage: %s meas-file [target]\n", argv[0]); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 exit(1); | 
| 
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 read_meas_file(argv[1], meas, 2); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 if (argc > 2) | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 target_off = atof(argv[2]); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 else | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 target_off = 0; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 lin_a = (float)(meas[1].freq_offset - meas[0].freq_offset) / | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 (float)(meas[1].dac_value - meas[0].dac_value); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 lin_b = (float)meas[1].freq_offset - lin_a * meas[1].dac_value; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 target_dac = (target_off - lin_b) / lin_a; | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 printf("%d\n", target_dac); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 exit(0); | 
| 
bd62be88259d
initial import of rfcal code and docs from freecalypso-tools repository
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 } | 
