diff --git a/tas2557dm_ftc.c b/tas2557dm_ftc.c
index dd935f02ac8e4eddce8f7a64dc8c17ccf9ad9564..2f5ab4b4b2af763da6bbfcbbcd63c43bfb478f79 100755 (executable)
--- a/tas2557dm_ftc.c
+++ b/tas2557dm_ftc.c
// -----------------------------------------------------------------------------\r
uint32_t tas2557_ftc(double t_cal, TFTCConfiguration *pFTCC)\r
{\r
- double dev_a_re = pFTCC->nPPC3_Re0; // Default Re\r
+ double dev_a_re = pFTCC->nTSpkCharDevA.nPPC3_Re0; // Default Re\r
uint32_t dev_a_prm_pow = 0; // Total RMS power coefficient\r
uint32_t dev_a_prm_tlimit = 0; // Delta temperature limit coefficient\r
- double dev_b_re = pFTCC->nPPC3_Re0; // Default Re\r
+ double dev_b_re = pFTCC->nTSpkCharDevB.nPPC3_Re0; // Default Re\r
uint32_t dev_b_prm_pow = 0; // Total RMS power coefficient\r
uint32_t dev_b_prm_tlimit = 0; // Delta temperature limit coefficient \r
\r
nPlaybackProcess = sys_play_wav("silense.wav", "loop");\r
\r
// STEP 3: Play calibration signal\r
- tas2557_switch_device(gpFTCC->nDevAAddr);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevA.nDevAddr);\r
tas2557_ftc_start();\r
- tas2557_switch_device(gpFTCC->nDevBAddr);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevB.nDevAddr);\r
tas2557_ftc_start();\r
\r
// STEP 4: Wait for algorithm to converge\r
\r
\r
// STEP 5: Get actual Re from TAS2555\r
- tas2557_switch_device(gpFTCC->nDevAAddr);\r
- dev_a_re = get_re(gpFTCC->nPPC3_Re0);\r
- tas2557_switch_device(gpFTCC->nDevBAddr);\r
- dev_b_re = get_re(gpFTCC->nPPC3_Re0);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevA.nDevAddr);\r
+ dev_a_re = get_re(gpFTCC->nTSpkCharDevA.nPPC3_Re0);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevB.nDevAddr);\r
+ dev_b_re = get_re(gpFTCC->nTSpkCharDevB.nPPC3_Re0);\r
\r
// STEP 6: Set temperature limit to target TMAX\r
- tas2557_switch_device(gpFTCC->nDevAAddr);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevA.nDevAddr);\r
dev_a_prm_pow = calc_prm_pow (dev_a_re, \r
- gpFTCC->nSpkTMax - t_cal, \r
- gpFTCC->nPPC3_RTV, \r
- gpFTCC->nPPC3_RTM, \r
- gpFTCC->nPPC3_RTVA, \r
- gpFTCC->nPPC3_SysGain);\r
- dev_a_prm_tlimit = calc_prm_tlimit(gpFTCC->nSpkTMax - t_cal, \r
- gpFTCC->nSpkReAlpha, \r
- gpFTCC->nPPC3_DevNonlinPer, \r
- gpFTCC->nPPC3_RTV, \r
- gpFTCC->nPPC3_RTM, \r
- gpFTCC->nPPC3_RTVA);\r
- set_re(gpFTCC->nPPC3_Re0, dev_a_re, gpFTCC->nSpkReAlpha);\r
+ gpFTCC->nTSpkCharDevA.nSpkTMax - t_cal, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_RTV, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_RTM, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_RTVA, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_SysGain);\r
+ dev_a_prm_tlimit = calc_prm_tlimit(gpFTCC->nTSpkCharDevA.nSpkTMax - t_cal, \r
+ gpFTCC->nTSpkCharDevA.nSpkReAlpha, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_DevNonlinPer, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_RTV, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_RTM, \r
+ gpFTCC->nTSpkCharDevA.nPPC3_RTVA);\r
+ set_re(gpFTCC->nTSpkCharDevA.nPPC3_Re0, dev_a_re, gpFTCC->nTSpkCharDevA.nSpkReAlpha);\r
set_temp_cal(dev_a_prm_pow, dev_a_prm_tlimit);\r
- tas2557_switch_device(gpFTCC->nDevBAddr);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevB.nDevAddr);\r
dev_b_prm_pow = calc_prm_pow (dev_b_re, \r
- gpFTCC->nSpkTMax - t_cal, \r
- gpFTCC->nPPC3_RTV, \r
- gpFTCC->nPPC3_RTM, \r
- gpFTCC->nPPC3_RTVA, \r
- gpFTCC->nPPC3_SysGain);\r
- dev_b_prm_tlimit = calc_prm_tlimit(gpFTCC->nSpkTMax - t_cal, \r
- gpFTCC->nSpkReAlpha, \r
- gpFTCC->nPPC3_DevNonlinPer, \r
- gpFTCC->nPPC3_RTV, \r
- gpFTCC->nPPC3_RTM, \r
- gpFTCC->nPPC3_RTVA);\r
- set_re(gpFTCC->nPPC3_Re0, dev_b_re, gpFTCC->nSpkReAlpha);\r
+ gpFTCC->nTSpkCharDevB.nSpkTMax - t_cal, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_RTV, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_RTM, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_RTVA, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_SysGain);\r
+ dev_b_prm_tlimit = calc_prm_tlimit(gpFTCC->nTSpkCharDevB.nSpkTMax - t_cal, \r
+ gpFTCC->nTSpkCharDevB.nSpkReAlpha, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_DevNonlinPer, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_RTV, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_RTM, \r
+ gpFTCC->nTSpkCharDevB.nPPC3_RTVA);\r
+ set_re(gpFTCC->nTSpkCharDevB.nPPC3_Re0, dev_b_re, gpFTCC->nTSpkCharDevB.nSpkReAlpha);\r
set_temp_cal(dev_b_prm_pow, dev_b_prm_tlimit); \r
sys_stop_wav(nPlaybackProcess);\r
\r
t_cal, "tas2557_cal.txt");\r
\r
// STEP 8: Save .bin file for TAS2555 driver\r
- tas2557_open_bin("tas2557_cal.bin", gpFTCC->nConfiguration, gpFTCC->nDevAAddr, gpFTCC->nDevBAddr);\r
- tas2557_switch_device(gpFTCC->nDevAAddr);\r
- set_re(gpFTCC->nPPC3_Re0, dev_a_re, gpFTCC->nSpkReAlpha);\r
+ tas2557_open_bin("tas2557_cal.bin", gpFTCC->nConfiguration, gpFTCC->nTSpkCharDevA.nDevAddr, gpFTCC->nTSpkCharDevB.nDevAddr);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevA.nDevAddr);\r
+ set_re(gpFTCC->nTSpkCharDevA.nPPC3_Re0, dev_a_re, gpFTCC->nTSpkCharDevA.nSpkReAlpha);\r
set_temp_cal(dev_a_prm_pow, dev_a_prm_tlimit);\r
- tas2557_switch_device(gpFTCC->nDevBAddr);\r
- set_re(gpFTCC->nPPC3_Re0, dev_b_re, gpFTCC->nSpkReAlpha);\r
+ tas2557_switch_device(gpFTCC->nTSpkCharDevB.nDevAddr);\r
+ set_re(gpFTCC->nTSpkCharDevB.nPPC3_Re0, dev_b_re, gpFTCC->nTSpkCharDevB.nSpkReAlpha);\r
set_temp_cal(dev_b_prm_pow, dev_b_prm_tlimit); \r
tas2557_close_bin();\r
\r