59 lines
2.2 KiB
C
59 lines
2.2 KiB
C
/* -*- mode: c; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4; coding: utf-8 -*- */
|
|
/************************************************************************************
|
|
** **
|
|
** mcHF QRP Transceiver **
|
|
** K Atanassov - M0NKA 2014 **
|
|
** **
|
|
**---------------------------------------------------------------------------------**
|
|
** **
|
|
** File name: **
|
|
** Description: **
|
|
** Last Modified: **
|
|
** Licence: GNU GPLv3 **
|
|
************************************************************************************/
|
|
|
|
#ifndef __CODEC_H
|
|
#define __CODEC_H
|
|
|
|
typedef enum
|
|
{
|
|
WORD_SIZE_16 = 0,
|
|
WORD_SIZE_24 = 2,
|
|
WORD_SIZE_32 = 3,
|
|
} CodecSampleWidth_t;
|
|
|
|
#include "ui_configuration.h"
|
|
#ifdef UI_BRD_MCHF
|
|
#define CODEC_SPEAKER_MAX_VOLUME 16
|
|
#else
|
|
#define CODEC_SPEAKER_MAX_VOLUME AUDIO_GAIN_MAX
|
|
#endif
|
|
|
|
// --------------------------------------------------
|
|
|
|
/**
|
|
* @brief setups up the codec according to tx/rx mode and selected sources
|
|
* @param txrx_mode the mode for which it should be configured
|
|
*
|
|
*/
|
|
void Codec_SwitchTxRxMode(uint8_t txrx_mode);
|
|
void Codec_MCUInterfaceInit(uint32_t AudioFreq);
|
|
void Codec_VolumeLineOut(uint8_t txrx_mode);
|
|
void Codec_VolumeSpkr(uint8_t vol);
|
|
void Codec_LineInGainAdj(uint8_t gain);
|
|
void Codec_IQInGainAdj(uint8_t gain);
|
|
void Codec_MuteDAC(bool state);
|
|
|
|
uint32_t Codec_Reset(uint32_t AudioFreq);
|
|
void Codec_RestartI2S(void);
|
|
void Codec_TxSidetoneSetgain(uint8_t mode);
|
|
void Codec_SwitchMicTxRxMode(uint8_t mode);
|
|
void Codec_PrepareTx(uint8_t current_txrx_mode);
|
|
|
|
bool Codec_ReadyForIrqCall(void);
|
|
#endif
|
|
|
|
#ifdef SDR_AMBER
|
|
uint32_t Codec_Reset_CS4270_Codec(void);
|
|
#endif
|