File nut/include/dev/vscodec.h


Included Files


Preprocessor definitions

#define _DEV_VSCODEC_H_

#define AUDIO0_VSAUTO

#define AUDIO0_DAC_MIN_GAIN -127

#define AUDIO0_DAC_MAX_GAIN 0

#define AUDIO_DAC_MIN_GAIN AUDIO0_DAC_MIN_GAIN

#define AUDIO_DAC_MAX_GAIN AUDIO0_DAC_MAX_GAIN

#define AUDIO_DAC_MAX_TREB 8

#define AUDIO_DAC_MAX_TFIN 15

#define AUDIO_DAC_MAX_BASS 15

#define AUDIO_DAC_MAX_BFIN 15

#define AUDIO_SETWRITETIMEOUT 0x010d

#define AUDIO_GETWRITETIMEOUT 0x010e

#define AUDIO_PLAY 0x3001

#define AUDIO_CANCEL 0x3002

#define AUDIO_GET_STATUS 0x3003

#define AUDIO_GET_PLAYGAIN 0x3004

#define AUDIO_SET_PLAYGAIN 0x3005

#define AUDIO_GET_PBSIZE 0x3006

#define AUDIO_SET_PBSIZE 0x3007

#define AUDIO_GET_PBLEVEL 0x3008

#define AUDIO_GET_PBWLOW 0x3009

#define AUDIO_SET_PBWLOW 0x300A

#define AUDIO_GET_PBWHIGH 0x300B

#define AUDIO_SET_PBWHIGH 0x300C

#define AUDIO_BEEP 0x300F

#define AUDIO_GET_DECINFO 0x3010

#define AUDIO_GET_DECCAPS 0x3011

#define AUDIO_GET_DECFMTS 0x3012

#define AUDIO_FMT_PLUGIN 0x00000001

#define AUDIO_FMT_WAV_PCM 0x00000002

#define AUDIO_FMT_WAV_ADPCM 0x00000004

#define AUDIO_FMT_WAV_IMA_ADPCM 0x00000008

#define AUDIO_FMT_VORBIS 0x00000100

#define AUDIO_FMT_MPEG1_L1 0x00001000

#define AUDIO_FMT_MPEG1_L2 0x00002000

#define AUDIO_FMT_MPEG1_L3 0x00004000

#define AUDIO_FMT_MPEG2_AAC 0x00010000

#define AUDIO_FMT_MPEG4_AAC 0x00020000

#define AUDIO_FMT_WMA_V2 0x00100000

#define AUDIO_FMT_WMA_V7 0x00200000

#define AUDIO_FMT_WMA_V8 0x00400000

#define AUDIO_FMT_WMA_V9 0x00800000

#define AUDIO_SET_DECFMTS 0x3013

#define AUDIO_GET_CODINFO 0x3014

#define AUDIO_GET_CODCAPS 0x3015

#define AUDIO_GET_CODFMTS 0x3016

#define AUDIO_SET_CODFMTS 0x3017

#define AUDIO_GET_MIDINFO 0x3018

#define AUDIO_GET_MIDCAPS 0x3019

#define AUDIO_FMT_GMIDI1 0x00000001

#define AUDIO_FMT_GMIDI2 0x00000002

#define AUDIO_FMT_SPMIDI0 0x00000004

#define AUDIO_SET_TREB 0x301a

#define AUDIO_GET_TREB 0x301b

#define AUDIO_SET_TFIN 0x301c

#define AUDIO_GET_TFIN 0x301d

#define AUDIO_SET_BASS 0x301e

#define AUDIO_GET_BASS 0x301f

#define AUDIO_SET_BFIN 0x3020

#define AUDIO_GET_BFIN 0x3021

#define AUDIO_PLUGIN_UPLOAD 0x3030

#define AUDIO_IRQ_ENABLE 0x3031

#define AUDIO_SET_ICLOCK 0x3032

#define AUDIO_WRITE_CMEM 0x3038

#define AUDIO_SET_PARAMX 0x3040

#define AUDIO_GET_PARAMX 0x3041

#define VSP4_CHIP_ID_OFF 0x00

#define VSP4_VERSION_OFF 0x02

#define VSP4_CONFIG1_OFF 0x03

#define VSP4_PLAY_SPEED_OFF 0x04

#define VSP4_BIT_RATE_PER_100_OFF 0x05

#define VSP4_END_FILL_BYTE_OFF 0x06

#define VSP4_RATE_TUNE_OFF 0x07

#define VSP4_PLAY_MODE_OFF 0x09

#define VSP4_SAMPLE_COUNTER_OFF 0x0a

#define VSP4_VU_METER_OFF 0x0c

#define VSP4_AD_MIXER_GAIN_OFF 0x0d

#define VSP4_AD_MIXER_CONFIG_OFF 0x0e

#define VSP4_PCM_MIXER_RATE_OFF 0x0f

#define VSP4_PCM_MIXER_FREE_OFF 0x10

#define VSP4_PCM_MIXER_VOL_OFF 0x11

#define VSP4_EQ5_PARAMS_OFF( i )

#define VSP4_EQ5_UPDATED_OFF 0x1c

#define VSP4_SPEED_SHIFTER_OFF 0x1d

#define VSP4_EAR_SPEAKER_LEVEL_OFF 0x1e

#define VSP4_SDI_FREE_OFF 0x1f

#define VSP4_AUDIO_FILL_OFF 0x20

#define VSP4_LATEST_SOF_OFF 0x25

#define VSP4_POSITION_MSEC_OFF 0x27

#define VSP4_RESYNC_OFF 0x29

#define VSP4_ENC_TX_UART_DIV_OFF 0x2a

#define VSP4_ENC_TX_UART_BYTE_SPEED_OFF 0x2b

#define VSP4_ENC_TX_PAUSE_GPIO_OFF 0x2c

#define VSP4_ENC_SEC_ADAPT_MULTIPLIER_OFF 0x2d

#define VSP4_ENC_CHANNEL_MAX_OFF 0x3c

#define VSP4_ENC_SERIAL_NUMBER_OFF 0x3e

#define VSP4_WMA_CUR_PACKET_SIZE_OFF 0x2a

#define VSP4_WMA_PACKET_SIZE_OFF 0x2c

#define VSP4_AAC_SCE_FOUND_MASK_OFF 0x2a

#define VSP4_AAC_CPE_FOUND_MASK_OFF 0x2b

#define VSP4_AAC_LFE_FOUND_MASK_OFF 0x2c

#define VSP4_AAC_PLAY_SELECT_OFF 0x2d

#define VSP4_AAC_DYN_COMPRESS_OFF 0x2e

#define VSP4_AAC_DYN_BOOST_OFF 0x2f

#define VSP4_AAC_SBR_AND_PS_STATUS_OFF 0x30

#define VSP4_AAC_SBR_PS_FLAGS_OFF 0x31

#define VSP4_VORBIS_GAIN_OFF 0x2a

#define VS_PLAYMODE_MONO_OUTPUT_ON ox0001

#define VS_PLAYMODE_PAUSE_ON 0x0002

#define VS_PLAYMODE_VUMETER_ON 0x0004

#define VS_PLAYMODE_ADMIXER_ON 0x0008

#define VS_PLAYMODE_PCMMIXER_ON 0x0010

#define VS_PLAYMODE_EQ5_ON 0x0020

#define VS_PLAYMODE_SPEEDSHIFTER_ON 0x0040

#define VS_OPCODE_READ 3

#define VS_OPCODE_WRITE 2

#define VS_MODE_REG 0

#define VS_SM_DIFF 0x0001

#define VS_SM_RESET 0x0004

#define VS_SM_DACT 0x0100

#define VS_SM_BITORD 0x0200

#define VS_SM_SDIORD 0x0200

#define VS_STATUS_REG 1

#define VS_SS_APDOWM1 0x0004

#define VS_SS_APDOWN2 0x0008

#define VS_SS_VER 0x00F0

#define VS_SS_VER_LSB 4

#define VS1001_SS_VER 0

#define VS1011_SS_VER 1

#define VS1011E_SS_VER 2

#define VS1002_SS_VER 2

#define VS1003_SS_VER 3

#define VS1053_SS_VER 4

#define VS1033_SS_VER 5

#define VS1063_SS_VER 6

#define VS1103_SS_VER 7

#define VS_CLOCKF_REG 3

#define VS_DECODE_TIME_REG 4

#define VS_AUDATA_REG 5

#define VS_AD_STEREO 0x8000

#define VS_WRAM_REG 6

#define VS_WRAMADDR_REG 7

#define VS_AIADDR_REG 10

#define VS_VOL_REG 11

#define VS_VOL_RIGHT 0x00FF

#define VS_VOL_RIGHT_LSB 0

#define VS_VOL_LEFT 0xFF00

#define VS_VOL_LEFT_LSB 8

#define VS_VOL_MAX 0x0000

#define VS_VOL_MIN 0xFEFE

#define VS_VOL_OFF 0xFFFF

#define VS_FLUSH_BYTES 2048

#define CODEC_STATUS_IDLE 0

#define CODEC_STATUS_PLAYING 1

#define CODEC_STATUS_RECORDING 2

#define VSCODEC_CMD_TIMEOUT NUT_WAIT_INFINITE

#define VSCODEC_DATA_CHUNK_SIZE 32


Typedef VS_PLUGIN_INFO

typedef struct _VS_PLUGIN_INFO VS_PLUGIN_INFO
See: Type struct _VS_PLUGIN_INFO

Type struct _VS_PLUGIN_INFO

struct _VS_PLUGIN_INFO
struct _VS_PLUGIN_INFO  
   {  
      size_t vsplg_size;  
      const uint16_t* vsplg_data;  
   }  

Typedef VS_WRAM_DATA

typedef struct _VS_WRAM_DATA VS_WRAM_DATA
See: Type struct _VS_WRAM_DATA

Type struct _VS_WRAM_DATA

struct _VS_WRAM_DATA
struct _VS_WRAM_DATA  
   {  
      uint16_t vswd_addr;  
      uint16_t vswd_size;  
      uint16_t* vswd_data;  
   }  

Typedef VS_PARAMX_INFO

typedef struct _VS_PARAMX_INFO VS_PARAMX_INFO
See: Type struct _VS_PARAMX_INFO

Type struct _VS_PARAMX_INFO

struct _VS_PARAMX_INFO
struct _VS_PARAMX_INFO  
   {  
      uint16_t vspx_offs;  
      uint16_t vspx_data;  
   }  

Typedef VS_HEADERINFO

typedef struct {...} VS_HEADERINFO
struct  
   {  
      uint16_t vshi_no_crc:1;  
      uint16_t vshi_layer:2;  
      uint16_t vshi_id:2;  
      uint16_t vshi_syncword:11;  
      uint16_t vshi_emphasis:2;  
      uint16_t vshi_original:1;  
      uint16_t vshi_copyright:1;  
      uint16_t vshi_extension:2;  
      uint16_t vshi_mode:2;  
      uint16_t vshi_private_bit:1;  
      uint16_t vshi_pad_bit:1;  
      uint16_t vshi_sample_rate:2;  
      uint16_t vshi_bitrate:4;  
   }  

Typedef VSDCB

typedef struct _VSDCB VSDCB
struct _VSDCB  
   {  
      int dcb_pbstat;  
      uint32_t dcb_scmd;  
      int dcb_rvol;  
      int dcb_lvol;  
      int dcb_treb;  
      int dcb_tfin;  
      int dcb_bass;  
      int dcb_bfin;  
      uint16_t dcb_sinefreq;  
      uint32_t dcb_pbwlo;  
      uint32_t dcb_pbwhi;  
      uint32_t dcb_wtmo;  
      uint32_t dcb_rtmo;  
      HANDLE dcb_bufque;  
      HANDLE dcb_feedme;  
      uint16_t dcb_codec_ver;  
      char dcb_codec_rev;  
      uint32_t dcb_dec_caps;  
      uint32_t dcb_cod_caps;  
      uint32_t dcb_midi_caps;  
      uint32_t dcb_cod_mode;  
      int (*dcb_isready)(void);  
      int (*dcb_sendcmd)(void*,size_t);  
      int (*dcb_senddata)(const uint8_t*,size_t);  
      int (*dcb_control)(int req,void* conf);  
      int (*dcb_recvdata)(void*,size_t);  
   }  

External Variables

zero_chunk
extern uint8_t zero_chunk[32]
Defined in: nut/dev/spi_vscodec.c

devVsCodec
extern NUTDEVICE devVsCodec

devSpiVsCodec0
extern NUTDEVICE devSpiVsCodec0