Merge branch 'master' of git://git.ti.com/tas2557sw-android/tas2557-ftc
[tas2557sw-android/tas2557-ftc.git] / tas2557_chk.c
1 /*\r
2 ** =============================================================================\r
3 ** Copyright (c) 2016  Texas Instruments Inc.\r
4 **\r
5 ** File:\r
6 **     tas2557_ftc.c\r
7 **\r
8 ** Description:\r
9 **     factory test program for TAS2557 Android devices\r
10 **\r
11 ** =============================================================================\r
12 */\r
13 \r
14 #include <stdio.h>\r
15 #include <stdint.h>\r
16 #include <math.h>\r
17 #include <sys/types.h>\r
18 \r
19 #include "system.h"\r
20 #include "tas2557.h"        // TAS2557 Driver\r
21 #include "tas2557_ftc_lib.h"    \r
22 #include "tas2557_ftc.h"    // TAS2557 Factory Test and Calibration Tool\r
23 \r
24 #define PI                   3.14159\r
25 \r
26 // -----------------------------------------------------------------------------\r
27 // tas2557_ftc\r
28 // -----------------------------------------------------------------------------\r
29 // Description:\r
30 //      Obtains Re, f0, Q and T_cal from the speaker. This only needs to be\r
31 //      executed once during production line test.\r
32 // -----------------------------------------------------------------------------\r
33 int tas2557_chk(double t_cal, struct TFTCConfiguration *pFTCC)\r
34 {\r
35         int nResult = 0;\r
36         double nDevARe, nDevADeltaT, nDevAF0, nDevAQ;\r
37         double nDevBRe, nDevBDeltaT, nDevBF0, nDevBQ;\r
38         uint8_t nPGID;\r
39         uint32_t libVersion;\r
40 \r
41         libVersion = get_lib_ver();\r
42         printf("libVersion=0x%x\r\n", libVersion);\r
43 \r
44         /* get device PGID */\r
45         nPGID = tas2557_get_PGID();\r
46         printf("PGID=0x%x\r\n", nPGID);\r
47         /* set device PGID to FTC process */\r
48         tas2557_ftc_set_PGID(nPGID);\r
49 \r
50         /* Get actual Re from TAS2557 */\r
51         nResult = get_Re_deltaT(pFTCC->nTSpkCharDevA.nPPC3_Re0,\r
52                                                         pFTCC->nTSpkCharDevA.nSpkReAlpha,\r
53                                                         &nDevARe, &nDevADeltaT);\r
54         nResult = get_f0_Q(pFTCC->nTSpkCharDevA.nPPC3_FWarp,\r
55                                                 pFTCC->nPPC3_FS,\r
56                                                 pFTCC->nTSpkCharDevA.nPPC3_Bl,\r
57                                                 pFTCC->nTSpkCharDevA.nPPC3_Mms,\r
58                                                 pFTCC->nTSpkCharDevA.nPPC3_Re0,\r
59                                                 &nDevAF0, &nDevAQ);\r
60         printf("SPK Re = %f, DeltaT=%f, F0 = %f, Q = %f\n", nDevARe, nDevADeltaT, nDevAF0, nDevAQ);\r
61 \r
62         tas2557_ftc_release();\r
63 \r
64     return nResult;\r
65 }\r