2.6 KiB
2.6 KiB
I2S Module
Since | Origin / Contributor | Maintainer | Source |
---|---|---|---|
2017-04-29 | zelll | i2s.c |
The I2S module provides access to the in-built two I2S controllers.
i2s.start()
Configuration and start I2S bus.
Syntax
i2s.start(i2s_num, cfg = {
mode = can.MODE_MASTER + can.MODE_TX,
rate = 44100,
bits = 16,
channel = i2s.CHANNEL_RIGHT_LEFT,
format = i2s.FORMAT_I2S + i2s.FORMAT_I2S_MSB,
buffer_count = 2,
buffer_len = 441,
bck_pin = 16,
ws_pin = 17,
data_out_pin = 18,
data_in_pin = -1
}, callback)
Parameters
i2s_num
1
or2
cfg
configurationmode
combine of following constantsi2s.MODE_MASTER
,i2s.MODE_SLAVE
,i2s.MODE_TX
,i2s.MODE_RX
,i2s.MODE_DAC_BUILT_IN
. Default:i2s.MODE_MASTER + i2s.MODE_TX
rate
Audio sample rate, such as44100
,48000
,16000
,800
. Default:44100
bits
32
,24
,16
or8
. Default:16
channel
One of following constants. Default:i2s.CHANNEL_RIGHT_LEFT
i2s.CHANNEL_RIGHT_LEFT
i2s.CHANNEL_ALL_LEFT
i2s.CHANNEL_ONLY_LEFT
i2s.CHANNEL_ALL_RIGHT
i2s.CHANNEL_ONLY_RIGHT
format
combine of following constantsi2s.FORMAT_I2S
,i2s.FORMAT_I2S_MSB
,i2s.FORMAT_I2S_LSB
,i2s.FORMAT_PCM
,i2s.FORMAT_PCM_SHORT
,i2s.FORMAT_PCM_LONG
. Default:i2s.FORMAT_I2S + i2s.FORMAT_I2S_MSB
buffer_count
Buffer count. Default: 2buffer_len
Size of one buffer. Default: rate/100bck_pin
Clock pin. Default:-1
ws_pin
WS pin. Default:-1
data_out_pin
Pin for data output. Default:-1
data_in_pin
Pin for data input. Default:-1
callback
function called when i2s event occurs.event
Event type, one ofsent
,data
,error
size
bytes
Returns
nil
i2s.stop()
Stop I2S bus
Syntax
i2s.stop(i2s_num)
Parameters
i2s_num
1
or2
Returns
nil
i2s.read()
Read data from data-in
Syntax
i2s.read( i2s_num, size[, wait_ms] )
Parameters
adc_number
Onlyadc.ADC1
nowsize
Bytes to readwait_ms
Millisecond to wait if data is not ready. Default:0
(not to wait)
Returns
Data read from data-in pin. If data is not ready in wait_ms
millisecond, less than size
bytes can be returned.
i2s.write()
Write to I2S bus
Syntax
i2s.write( i2s_num, size[, wait_ms] )
Parameters
adc_number
Onlyadc.ADC1
nowsize
Bytes to sendwait_ms
Millisecond to wait if DMA buffer is full. Default:0
(not to wait)
Returns
Integer, bytes wrote to buffer.