File nut/dev/vscodec.c

References Functions: VsClose() nut/dev/vscodec.c
  VsIOCtl() nut/dev/vscodec.c
  VsInit() nut/dev/vscodec.c
  VsOpen() nut/dev/vscodec.c
  VsWrite() nut/dev/vscodec.c
  VsWrite_P() nut/dev/vscodec.c
References Variables: dcb nut/dev/vscodec.c

Included Files


Preprocessor definitions

#define AUDIO_VS1001K

#define VS10XX_FREQ 12288000UL

#define VS10XX_HWRST_DURATION 1

#define VS10XX_HWRST_RECOVER 4

#define VS10XX_SWRST_RECOVER 2

#define VS10XX_SCI_MODE 0

#define VS10XX_SCI_RATE

#define VS10XX_SDI_MODE 0

#define VS10XX_SDI_RATE

#define VSREQ_PLAY 0x00000001

#define VSREQ_CANCEL 0x00000002

#define VSREQ_BEEP 0x00000004


Typedef VSDCB

typedef struct _VSDCB VSDCB
struct _VSDCB  
   {  
      int dcb_pbstat;  
      uint32_t dcb_scmd;  
      int dcb_crvol;  
      int dcb_srvol;  
      int dcb_clvol;  
      int dcb_slvol;  
      int dcb_ctreb;  
      int dcb_streb;  
      int dcb_ctfin;  
      int dcb_stfin;  
      int dcb_cbass;  
      int dcb_sbass;  
      int dcb_cbfin;  
      int dcb_sbfin;  
      uint32_t dcb_pbwlo;  
      uint32_t dcb_pbwhi;  
   }  

Global Variable devVsCodec

NUTDEVICE devVsCodec
Visible in:   nut/dev/vscodec.c

Local Variables

dcb
static VSDCB dcb
Used in:   nut/dev/vscodec.c
  FeederThread()  
  VsIOCtl()  
  VsPlayBufferInit()  
  VsPlayerFlush()  

vs_chip
static unsigned int vs_chip

Used in: VsInit()  

vs_ready
static HANDLE vs_ready

Used in: FeederThread()  
  VsInterrupt()  

Global Function FeederThread()

void FeederThread ( void* arg )
Prototyped in: nut/include/dev/vscodec.h
Calls: NutIrqEnable() nut/dev/ihndlr.c
  NutIrqSetMode() nut/dev/ihndlr.c
  NutRegisterIrqHandler() nut/dev/ihndlr.c
  SpiByte() nut/dev/vscodec.c
  VsBeep() nut/dev/vscodec.c
  VsRegWrite() nut/dev/vscodec.c
  NutEventWait(), NutSegBufReadLast(), NutSegBufReadRequest(), NutSegBufReset(), NutSegBufUsed(), NutSleep(), VS10XX_DREQ_ENA(), VS10XX_DREQ_TST()
Used in: VsInit() nut/dev/vscodec.c
References Functions: VsInterrupt() nut/dev/vscodec.c
References Variables: dcb nut/dev/vscodec.c
  vs_ready nut/dev/vscodec.c

Local Function SciDeselect()

static void SciDeselect ( void )
Called by: VsRegRead() nut/dev/vscodec.c
  VsRegWrite() nut/dev/vscodec.c

Local Function SciSelect()

static void SciSelect ( void )
Called by: VsRegRead() nut/dev/vscodec.c
  VsRegWrite() nut/dev/vscodec.c

Local Function SpiByte()

static uint8_t SpiByte ( uint8_t val )
Called by: FeederThread() nut/dev/vscodec.c
  VsRegRead() nut/dev/vscodec.c
  VsRegWrite() nut/dev/vscodec.c
  VsSdiWrite() nut/dev/vscodec.c
  VsSdiWrite_P() nut/dev/vscodec.c

Local Function VsBeep()

static int VsBeep ( uint8_t fsin, uint8_t ms )
Calls: VsRegWrite() nut/dev/vscodec.c
  VsSdiWrite() nut/dev/vscodec.c
  VsSdiWrite_P() nut/dev/vscodec.c
  NutDelay()
Called by: FeederThread() nut/dev/vscodec.c

Local Function VsClose()

static int VsClose ( NUTFILE* nfp )
Calls: VsPlayerFlush() nut/dev/vscodec.c
  free() nut/crt/malloc.c
Used in:   nut/dev/vscodec.c

Local Function VsIOCtl()

static int VsIOCtl ( NUTDEVICE* dev, int req, void* conf )
Calls: VsPlayBufferInit() nut/dev/vscodec.c
  NutSegBufAvailable(), NutSegBufUsed()
Used in:   nut/dev/vscodec.c
References Variables: dcb nut/dev/vscodec.c

Local Function VsInit()

static int VsInit ( NUTDEVICE* dev )
Calls: NutThreadCreate() nut/arch/cm3/os/context.c
  VsPlayBufferInit() nut/dev/vscodec.c
  VsRegRead() nut/dev/vscodec.c
  VsRegWrite() nut/dev/vscodec.c
  NutSleep()
Used in:   nut/dev/vscodec.c
References Functions: FeederThread() nut/dev/vscodec.c
References Variables: vs_chip nut/dev/vscodec.c

Local Function VsInterrupt()

static void VsInterrupt ( void* arg )
Used in: FeederThread() nut/dev/vscodec.c
References Variables: vs_ready nut/dev/vscodec.c

Local Function VsOpen()

static NUTFILE* VsOpen ( NUTDEVICE* dev, const char* name, int mode, int acc )
Calls: VsRegWrite() nut/dev/vscodec.c
  malloc() nut/crt/malloc.c
  NutSegBufReset(), NutSleep()
Used in:   nut/dev/vscodec.c

Local Function VsPlayBufferInit()

static int VsPlayBufferInit ( uint32_t size )
Calls: NutSegBufAvailable(), NutSegBufInit()
Called by: VsIOCtl() nut/dev/vscodec.c
  VsInit() nut/dev/vscodec.c
References Variables: dcb nut/dev/vscodec.c

Local Function VsPlayerFlush()

static int VsPlayerFlush ( void )
Calls: NutSleep()
Called by: VsClose() nut/dev/vscodec.c
  VsWrite() nut/dev/vscodec.c
References Variables: dcb nut/dev/vscodec.c

Local Function VsRegRead()

static uint16_t VsRegRead ( ureg_t reg )
Calls: SciDeselect() nut/dev/vscodec.c
  SciSelect() nut/dev/vscodec.c
  SpiByte() nut/dev/vscodec.c
  VsWaitReady() nut/dev/vscodec.c
Called by: VsInit() nut/dev/vscodec.c

Local Function VsRegWrite()

static void VsRegWrite ( ureg_t reg, uint16_t data )
Calls: SciDeselect() nut/dev/vscodec.c
  SciSelect() nut/dev/vscodec.c
  SpiByte() nut/dev/vscodec.c
  VsWaitReady() nut/dev/vscodec.c
Called by: FeederThread() nut/dev/vscodec.c
  VsBeep() nut/dev/vscodec.c
  VsInit() nut/dev/vscodec.c
  VsOpen() nut/dev/vscodec.c

Local Function VsSdiWrite()

static int VsSdiWrite ( const uint8_t* data, size_t len )
Calls: SpiByte() nut/dev/vscodec.c
  VsWaitReady() nut/dev/vscodec.c
  VS10XX_DREQ_TST()
Called by: VsBeep() nut/dev/vscodec.c

Local Function VsSdiWrite_P()

static int VsSdiWrite_P ( const char* data, size_t len )
Calls: SpiByte() nut/dev/vscodec.c
  VsWaitReady() nut/dev/vscodec.c
  VS10XX_DREQ_TST()
Called by: VsBeep() nut/dev/vscodec.c

Local Function VsWaitReady()

static int VsWaitReady ( void )
Calls: VS10XX_DREQ_TST()
Called by: VsRegRead() nut/dev/vscodec.c
  VsRegWrite() nut/dev/vscodec.c
  VsSdiWrite() nut/dev/vscodec.c
  VsSdiWrite_P() nut/dev/vscodec.c

Local Function VsWrite()

static int VsWrite ( NUTFILE* fp, const void* data, int len )
Calls: VsPlayerFlush() nut/dev/vscodec.c
  memcpy() nut/c/string/memcpy.c
  NutSegBufWriteLast(), NutSegBufWriteRequest()
Used in:   nut/dev/vscodec.c

Local Function VsWrite_P()

static int VsWrite_P ( NUTFILE* nfp, const char* buffer, int len )
Used in:   nut/dev/vscodec.c