FreeCalypso > hg > freecalypso-tools
view rfcal/vcxo-manual/linear.c @ 183:0518ed1d0dc8
rfcal/vcxo-manual hooked into the make hierarchy
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Apr 2017 07:37:26 +0000 |
parents | dcab0be3f67a |
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); }