AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_SSPMgrSetSpdifMode(AG903_SSPMgrHandle* handle, AG903_SSPMgrSpdifParam* param) 2: { 3: AG903_SSPPrmCtrl ctrl = {0}; 4: int32_t retval = AG903_ENONE; 5: _Bool idle; 6: uint8_t ch; 7: 8: retval = SSPMgr_CheckHandle(handle, &ch); 9: if(AG903_ENONE != retval) { 10: return -AG903_EINVAL; 11: } 12: if(NULL == param) { 13: return -AG903_EINVAL; 14: } 15: if((16!=param->datalen)&&(20!=param->datalen)&&(24!=param->datalen)) { 16: return -AG903_EINVAL; 17: } 18: idle = SSPMgr_CheckIdle(ch); 19: if(true != idle) { 20: return -AG903_EBUSY; 21: } 22: ctrl.format = AG903_SSP_FORMAT_SPDIF; 23: if(false == param->validity) { 24: ctrl.validity = 1; 25: } 26: ctrl.sdl = param->datalen-1; 27: 28: AG903_SSPPrmSetControl(ch, &ctrl); 29: 30: SspChStat[ch].format = AG903_SSP_FORMAT_SPDIF; 31: SspChStat[ch].wordlen = param->datalen; 32: SspChStat[ch].slave = false; 33: SspChStat[ch].tx_thod = AG903_SSP_TXFIFO_THRESHOLD; 34: SspChStat[ch].rx_thod = AG903_SSP_RXFIFO_THRESHOLD; 35: 36: return retval; 37: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.