void StandAloneInitialize (void) { //we need to figure out what dal to create EAP_STND_ALONE_CFG const * pStdaCfg; DAL_RATE_MODE_ENUM rate_mode = eDAL_RATE_MODE_LOW_MID; DAL_NOMINAL_RATE_ENUM rate = eDAL_NOMINAL_RATE_ANY; DAL_CLOCK_SOURCE_ENUM clksrc; pStdaCfg = eapGetStandaloneCfg(); clksrc = CLOCK_SOURCE[pStdaCfg->clkSrc]; if (clksrc == eDAL_CLK_SRC_AESRX0) { rate_mode = eDAL_RATE_MODE_ALL; //auto lock to 32k-192k } else { //illegal, do something rate = eDAL_NOMINAL_RATE_48; } dalCreateInterface(eDAL_INTERFACE_1, rate_mode, STDA_INPUT_DEVICES,STDA_OUTPUT_DEVICES); dalSetClockSource (eDAL_INTERFACE_1, clksrc, rate); dalStartInterface(eDAL_INTERFACE_1); //update the routing now according to the currently locked rate mode, in auto modes this might change //so in that case this function must be called. updateStdaRouting(); }
HRESULT myAppDumpStdAlone(void) { EAP_STND_ALONE_CFG const * pStdaCfg; pStdaCfg = eapGetStandaloneCfg(); cliPrintf("STAND ALONE CONFIGURATION\n\r"); cliPrintf("Verbose debug:\n\r"); cliPrintf("\tpStdaCfg->clkSrc : %i\n\r",pStdaCfg->clkSrc ); cliPrintf("\tpStdaCfg->extADAT : %i\n\r",pStdaCfg->extADAT); cliPrintf("\tpStdaCfg->extAES : %i\n\r",pStdaCfg->extAES ); cliPrintf("\tpStdaCfg->extInt : %i\n\r",pStdaCfg->extInt ); cliPrintf("\tpStdaCfg->extWC : %i\n\r",pStdaCfg->extWC); cliPrintf("\n\r"); switch (pStdaCfg->clkSrc) { case DD_CLK_SRC_AES1: cliPrintf("\tsync : spdif\n\r"); cliPrintf("\trate : %s\n\r","32k-192k"); break; case DD_CLK_SRC_ADAT: cliPrintf("\tsync : adat\n\r"); cliPrintf("\tsmux : %s\n\r",(pStdaCfg->extADAT==0) ? "none": (pStdaCfg->extADAT==1) ? "SMUX II": (pStdaCfg->extADAT==3) ? "SMUX IV": "illegal"); break; case DD_CLK_SRC_WC: cliPrintf("\tsync : Word Clock\n\r"); cliPrintf("\trate : %s\n\r","32k-192k"); break; case DD_CLK_SRC_INTERNAL: cliPrintf("\tsync : internal\n\r"); switch (pStdaCfg->extInt) { case eDAL_NOMINAL_RATE_32: cliPrintf("\trate : 32k\n\r");break; case eDAL_NOMINAL_RATE_44_1: cliPrintf("\trate : 44.1k\n\r");break; case eDAL_NOMINAL_RATE_48: cliPrintf("\trate : 48k\n\r");break; case eDAL_NOMINAL_RATE_88_2: cliPrintf("\trate : 88.2k\n\r");break; case eDAL_NOMINAL_RATE_96: cliPrintf("\trate : 96k\n\r");break; case eDAL_NOMINAL_RATE_176_4: cliPrintf("\trate : 176.4k\n\r");break; case eDAL_NOMINAL_RATE_192: cliPrintf("\trate : 192k\n\r");break; default: cliPrintf("\trate : Illegal\n\r");break; } break; default: cliPrintf("\tsync : Illegal\n\r"); } cliPrintf("\n\r"); return NO_ERROR; }
HRESULT myAppSetStdAlone(uint32 sync, uint32 intRate) { EAP_STND_ALONE_CFG * pStdaCfg; pStdaCfg = eapGetStandaloneCfg(); pStdaCfg->clkSrc = sync; pStdaCfg->extADAT = 0; pStdaCfg->extAES = 0; pStdaCfg->extInt = intRate; return eapStoreFlash (); }