mirror of
https://github.com/pvvx/RTL00MP3.git
synced 2026-03-20 09:34:51 +00:00
first commit
This commit is contained in:
parent
2ee525362e
commit
d108756e9b
792 changed files with 336059 additions and 0 deletions
46
project/inc/driver/i2s_freertos.h
Normal file
46
project/inc/driver/i2s_freertos.h
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
#ifndef _I2S_FREERTOS_H_
|
||||
#define _I2S_FREERTOS_H_
|
||||
|
||||
#include "i2s_api.h"
|
||||
#include "user/playerconfig.h"
|
||||
|
||||
#define I2S_DMA_PAGE_WAIT_MS_MIN 4 // 8 // min 2 ms (CPU CLK 166), min 4 ms (CPU CLK 83),
|
||||
#define I2S_DMA_PAGE_SIZE_MS_96K (96000/1000) // in sizeof(u32)
|
||||
#define I2S_DMA_PAGE_NUM 4 // Valid number is 2~4
|
||||
|
||||
#define I2S0_SCLK_PIN PE_1 // PD_1
|
||||
#define I2S0_WS_PIN PE_0 // PD_0
|
||||
#define I2S0_SD_PIN PE_2 // PD_2
|
||||
|
||||
#define I2S1_SCLK_PIN PC_1
|
||||
#define I2S1_WS_PIN PC_0
|
||||
#define I2S1_SD_PIN PC_2
|
||||
|
||||
#define I2S_DEBUG_LEVEL 0
|
||||
|
||||
typedef struct _I2S_OBJS_ {
|
||||
i2s_t i2s_obj;
|
||||
u32 *currDMABuff; // Current DMA buffer we're writing to
|
||||
u32 currDMABuffPos; // Current position in that DMA buffer
|
||||
s32 sampl_err;
|
||||
#if I2S_DEBUG_LEVEL > 1
|
||||
u32 underrunCnt; // DMA underrun counter
|
||||
#endif
|
||||
}I2S_OBJS, *PI2S_OBJS;
|
||||
|
||||
#define MAX_I2S_OBJS 2
|
||||
#define I2S0_OBJSN 0
|
||||
#define I2S1_OBJSN 1
|
||||
|
||||
//extern PI2S_OBJS pi2s[MAX_I2S_OBJS]; // I2S0, I2S1
|
||||
|
||||
int i2sInit(int mask, int bufsize, int word_len); // word_len = WL_16b or WL_24b
|
||||
void i2sClose(int mask);
|
||||
char i2sSetRate(int mask, int rate);
|
||||
u32 i2sPushPWMSamples(u32 sample);
|
||||
|
||||
#if I2S_DEBUG_LEVEL > 1
|
||||
long i2sGetUnderrunCnt(int num);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue