Included Files
- #include <nut/include/sys/atom.h>
- #include <nut/include/sys/event.h>
- #include <nut/include/sys/timer.h>
- #include <nut/include/sys/heap.h>
- #include <nut/include/cfg/arch/gpio.h>
- #include <nut/include/cfg/audio.h>
- #include <nut/include/dev/irqreg.h>
- #include <nut/include/contrib/hxmp3/mp3dec.h>
- #include <nut/include/contrib/hxmp3/hermite.h>
- #include <nut/include/dev/hxcodec.h>
- #include <nut/include/dev/tlv320dac.h>
- #include <nut/include/sys/bankmem.h>
- #include </usr/lib/gcc/avr/3.4.3/include/stddef.h>
- #include </usr/avr/include/string.h>
- #include <nut/include/memdebug.h>
Preprocessor definitions
#define NUT_THREAD_HXCODEC0STACK 768
#define HXCODEC0_MAX_OUTPUT_BUFSIZ 16384
#define DAC_OUTPUT_RATE 8000
#define MP3_BUFSIZ
#define HXREQ_PLAY 0x00000001
#define HXREQ_CANCEL 0x00000002
#define HXREQ_VOLUPD 0x00000004
#define HXREQ_BEEP 0x00000008
typedef struct _HXDCB HXDCB
struct _HXDCB
|
|
{
|
|
int dcb_pbstat;
|
|
uint32_t dcb_scmd;
|
|
int dcb_rvol;
|
|
int dcb_lvol;
|
|
uint32_t dcb_pbwlo;
|
|
uint32_t dcb_pbwhi;
|
|
uint32_t dcb_wtmo;
|
|
HANDLE dcb_bufque;
|
|
HANDLE dcb_feedme;
|
|
}
|
|
typedef struct _MP3PLAYERINFO MP3PLAYERINFO
struct _MP3PLAYERINFO
|
|
{
|
|
HMP3Decoder mpi_mp3dec;
|
|
MP3FrameInfo mpi_frameinfo;
|
|
}
|
|
NUTDEVICE devHelixCodec
Local Variables
dcb
static HXDCB dcb
mpi
static MP3PLAYERINFO mpi
pi_pcmbuf
static short pi_pcmbuf[2*2*576]
first_frame
static int first_frame
samprate
static int samprate
void FeederThread ( void* arg )
static int DecodeFrame ( uint8_t* buf, int len )
static int HelixClose ( NUTFILE* nfp )
static int HelixIOCtl ( NUTDEVICE* dev, int req, void* conf )
static int HelixInit ( NUTDEVICE* dev )
static NUTFILE* HelixOpen ( NUTDEVICE* dev, const char* name, int mode, int acc )
static int HelixPlayerBufferInit ( NUTDEVICE* dev, uint32_t size )
static int HelixPlayerFlush ( NUTDEVICE* dev, uint32_t tmo )
static int HelixPlayerSetVolume ( NUTDEVICE* dev, int left, int right )
static int HelixWrite ( NUTFILE* nfp, const void* data, int len )
static int HelixWrite_P ( NUTFILE* nfp, const prog_char* buffer, int len )