AtGsmTelitLe910/Src/AtGsmTelitLe910_DigitalVoic...

59 lines
1.6 KiB
C

//
// Created by xemon on 20.10.22.
//
#include "AtGsmTelitLe910_DigitalVoicebandInterface.h"
#include <AtCmdCommonProtected.h>
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);
}