// // Created by xemon on 20.10.22. // #include "AtGsmTelitLe910_DigitalVoicebandInterface.h" #include AtCommandResult AtGsmTelitLe910_SetSpeakerVolumeLevel(tAtCmd *env, uint16_t level) { AtCmdPrepare(env); AtCmdTxClear(env); AtCmdTxAddStatic(env, "AT#PCMRXG="); AtCmdTxAddDecimalIntWithLimit(env, level, 4); AtCmdTxSendLn(env); return AtCmdOkErrAnswer(env, env->stdRxTimeout); } AtCommandResult AtGsmTelitLe910_DviEnableMaster(tAtCmd *env) { AtCmdPrepare(env); AtCmdSendStatic(env, "AT#DVI=1,2,1\r\n"); return AtCmdOkErrAnswer(env, env->stdRxTimeout); } AtCommandResult AtGsmTelitLe910_DviToPcmMode(tAtCmd *env) { AtCmdPrepare(env); AtCmdSendStatic(env, "AT#DVIEXT=0\r\n"); return AtCmdOkErrAnswer(env, env->stdRxTimeout); } AtCommandResult AtGsmTelitLe910_DviPcmClk( tAtCmd *env, eAtGsmTelitLe910DviClock clock, eAtGsmTelitLe910DviSampleRate sampleRate ) { AtCmdPrepare(env); AtCmdTxClear(env); AtCmdTxAddStatic(env, "AT#DVICLK="); AtCmdTxAddDecimalIntWithLimit(env, (1 << clock), 4); AtCmdTxAddStatic(env, ","); AtCmdTxAdd(env, (char *) &sampleRate, 1); AtCmdTxSendLn(env); return AtCmdOkErrAnswer(env, env->stdRxTimeout); } AtCommandResult AtGsmTelitLe910_DviToI2s16Khz(tAtCmd *env) { AtCmdPrepare(env); AtCmdSendStatic(env, "AT#DVIEXT=1,1\r\n"); return AtCmdOkErrAnswer(env, env->stdRxTimeout); } AtCommandResult AtGsmTelitLe910_DviToI2s8Khz(tAtCmd *env) { AtCmdPrepare(env); AtCmdSendStatic(env, "AT#DVIEXT=1,0\r\n"); return AtCmdOkErrAnswer(env, env->stdRxTimeout); }