FreeCalypso > hg > fc-rfcal-tools
view vcxo-manual/linear.c @ 9:6d7079a81e8b
fc-cmu200d: do setlinebuf(stdout) for easier logging with tee
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 May 2017 18:39:49 +0000 |
parents | bd62be88259d |
children |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include "meas.h" struct meas meas[2]; float lin_a, lin_b, target_off; int target_dac; main(argc, argv) char **argv; { if (argc < 2 || argc > 3) { fprintf(stderr, "usage: %s meas-file [target]\n", argv[0]); exit(1); } read_meas_file(argv[1], meas, 2); if (argc > 2) target_off = atof(argv[2]); else target_off = 0; lin_a = (float)(meas[1].freq_offset - meas[0].freq_offset) / (float)(meas[1].dac_value - meas[0].dac_value); lin_b = (float)meas[1].freq_offset - lin_a * meas[1].dac_value; target_dac = (target_off - lin_b) / lin_a; printf("%d\n", target_dac); exit(0); }