# HG changeset patch # User Mychaela Falconia # Date 1495496174 0 # Node ID ba4b6877e2277376f52b9b292b28eafb365c1f79 # Parent 841dd03d5c85c92f60ba7582847d8222a6425b49 fc-rfcal-vcxo: afcparams computation implemented diff -r 841dd03d5c85 -r ba4b6877e227 autocal/afcparams.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/autocal/afcparams.h Mon May 22 23:36:14 2017 +0000 @@ -0,0 +1,13 @@ +/* definition of the afcparams structure */ + +struct afcparams { + uint32_t psi_sta_inv; + uint32_t psi_st; + uint32_t psi_st_32; + uint32_t psi_st_inv; + + int16_t dac_center; + int16_t dac_min; + int16_t dac_max; + int16_t snr_thr; +}; diff -r 841dd03d5c85 -r ba4b6877e227 autocal/vcxomain.c --- a/autocal/vcxomain.c Mon May 22 23:10:34 2017 +0000 +++ b/autocal/vcxomain.c Mon May 22 23:36:14 2017 +0000 @@ -4,9 +4,11 @@ #include #include +#include #include #include #include +#include "afcparams.h" #include "stdband.h" #define VCXOCAL_BAND 900 @@ -23,6 +25,8 @@ static int dac_init_int; static float Psi_sta, Psi_st; +struct afcparams afcparams_host, afcparams_arm; + prepare_rf_test_system() { char cmd[80]; @@ -97,7 +101,27 @@ Psi_sta = 2.0f * (float)M_PI * lin_a / 270833.0f; Psi_st = Psi_sta * 0.8f; - /* afcparams output TBD */ + /* compute and fill afcparams */ + afcparams_host.psi_sta_inv = (unsigned)(1.0f / Psi_sta); + afcparams_host.psi_st = (unsigned)(Psi_st * 65536.0f); + afcparams_host.psi_st_32 = (unsigned)(Psi_st * 65536.0f * 65536.0f); + afcparams_host.psi_st_inv = (unsigned)(1.0f / Psi_st); + afcparams_host.dac_center = (int)(dac_init * 8.0f); + afcparams_host.dac_min = (int)(dac_min * 8.0f); + afcparams_host.dac_max = (int)(dac_max * 8.0f); + afcparams_host.snr_thr = 2560; + + /* print them out */ + printf("afcparams Psi_sta_inv: %u\n", afcparams_host.psi_sta_inv); + printf("afcparams Psi_st: %u\n", afcparams_host.psi_st); + printf("afcparams Psi_st_32: %u\n", afcparams_host.psi_st_32); + printf("afcparams Psi_st_inv: %u\n", afcparams_host.psi_st_inv); + printf("afcparams DAC_INIT*8: %d\n", afcparams_host.dac_center); + printf("afcparams DAC_MIN*8: %d\n", afcparams_host.dac_min); + printf("afcparams DAC_MAX*8: %d\n", afcparams_host.dac_max); + printf("afcparams snr_thr: %d\n", afcparams_host.snr_thr); + + /* conversion to LE and sending to L1 remain to be implemented */ exit(0); }