ESP-IDF
i2s_obj_t::tx
is only used within ESP-IDF.
Symbol previews are coming soon...
Symbols
loading (4/5)...
Files
loading (4/5)...
Summary
Syntax
Examples
References
Call Tree
Data Use
Class Tree
Override Tree
Implementations
Instances
Lifecycle
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
i2s_obj_t::tx
i2s_obj_t::tx field
DMA Tx buffer
Syntax
Show:
Summary
Declaration
from
i2s_legacy.c:139
i2s_dma_t
*
tx
;
Examples
References
from
examples
Code
Location
Referrer
i2s_dma_t
*
tx
;
/*!< DMA Tx buffer*/
i2s_legacy.c:139
if
(
(
status
&
I2S_LL_EVENT_TX_EOF
)
&&
p_i2s
->
tx
)
{
i2s_legacy.c:287
i2s_intr_handler_default()
if
(
xQueueIsQueueFullFromISR
(
p_i2s
->
tx
->
queue
)
)
{
i2s_legacy.c:291
i2s_intr_handler_default()
xQueueReceiveFromISR
(
p_i2s
->
tx
->
queue
,
&
dummy
,
&
tmp
)
;
i2s_legacy.c:292
i2s_intr_handler_default()
memset
(
(
void
*
)
(
(
(
lldesc_t
*
)
finish_desc
)
->
buf
)
,
0
,
p_i2s
->
tx
->
buf_size
)
;
i2s_legacy.c:304
i2s_intr_handler_default()
xQueueSendFromISR
(
p_i2s
->
tx
->
queue
,
&
(
(
(
lldesc_t
*
)
finish_desc
)
->
buf
)
,
&
tmp
)
;
i2s_legacy.c:306
i2s_intr_handler_default()
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
=
NULL
;
i2s_legacy.c:398
i2s_tx_reset()
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
=
0
;
i2s_legacy.c:399
i2s_tx_reset()
i2s_hal_tx_start_link
(
&
(
p_i2s
[
i2s_num
]
->
hal
)
,
(
uint32_t
)
p_i2s
[
i2s_num
]
->
tx
->
desc
[
0
]
)
;
i2s_legacy.c:434
i2s_tx_start()
xSemaphoreTake
(
p_i2s
[
i2s_num
]
->
tx
->
mux
,
portMAX_DELAY
)
;
i2s_legacy.c:1121
i2s_set_clk()
p_i2s
[
i2s_num
]
->
tx
->
buf_size
=
buf_size
;
i2s_legacy.c:1178
i2s_set_clk()
ret
=
i2s_realloc_dma_buffer
(
i2s_num
,
p_i2s
[
i2s_num
]
->
tx
)
;
i2s_legacy.c:1179
i2s_set_clk()
xQueueReset
(
p_i2s
[
i2s_num
]
->
tx
->
queue
)
;
i2s_legacy.c:1180
i2s_set_clk()
xSemaphoreGive
(
p_i2s
[
i2s_num
]
->
tx
->
mux
)
;
i2s_legacy.c:1197
i2s_set_clk()
xSemaphoreTake
(
p_i2s
[
i2s_num
]
->
tx
->
mux
,
portMAX_DELAY
)
;
i2s_legacy.c:1275
i2s_set_pdm_tx_up_sample()
xSemaphoreGive
(
p_i2s
[
i2s_num
]
->
tx
->
mux
)
;
i2s_legacy.c:1282
i2s_set_pdm_tx_up_sample()
ESP_RETURN_ON_ERROR
(
i2s_create_dma_object
(
i2s_num
,
&
p_i2s
[
i2s_num
]
->
tx
)
,
TAG
,
"I2S TX DMA object create failed"
)
;
i2s_legacy.c:1293
i2s_dma_object_init()
p_i2s
[
i2s_num
]
->
tx
->
buf_size
=
buf_size
;
i2s_legacy.c:1294
i2s_dma_object_init()
ESP_RETURN_ON_ERROR
(
i2s_realloc_dma_buffer
(
i2s_num
,
p_i2s
[
i2s_num
]
->
tx
)
,
TAG
,
"Allocate I2S dma tx buffer failed"
)
;
i2s_legacy.c:1545
i2s_init_legacy()
i2s_destroy_dma_object
(
i2s_num
,
&
obj
->
tx
)
;
i2s_legacy.c:1595
i2s_driver_uninstall()
ESP_RETURN_ON_FALSE
(
(
p_i2s
[
i2s_num
]
->
tx
)
,
ESP_ERR_INVALID_ARG
,
TAG
,
"TX mode is not enabled"
)
;
i2s_legacy.c:1700
i2s_write()
xSemaphoreTake
(
p_i2s
[
i2s_num
]
->
tx
->
mux
,
portMAX_DELAY
)
;
i2s_legacy.c:1701
i2s_write()
if
(
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
==
p_i2s
[
i2s_num
]
->
tx
->
buf_size
||
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
==
NULL
)
{
i2s_legacy.c:1707
i2s_write()
if
(
xQueueReceive
(
p_i2s
[
i2s_num
]
->
tx
->
queue
,
&
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
,
ticks_to_wait
)
==
pdFALSE
)
{
i2s_legacy.c:1708
i2s_write()
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
=
0
;
i2s_legacy.c:1711
i2s_write()
ESP_LOGD
(
TAG
,
"size: %d, rw_pos: %d, buf_size: %d, curr_ptr: %p"
,
size
,
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
,
p_i2s
[
i2s_num
]
->
tx
->
buf_size
,
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
)
;
i2s_legacy.c:1713
i2s_write()
data_ptr
=
(
char
*
)
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
;
i2s_legacy.c:1714
i2s_write()
data_ptr
+=
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
;
i2s_legacy.c:1715
i2s_write()
bytes_can_write
=
p_i2s
[
i2s_num
]
->
tx
->
buf_size
-
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
;
i2s_legacy.c:1716
i2s_write()
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
+=
bytes_can_write
;
i2s_legacy.c:1726
i2s_write()
xSemaphoreGive
(
p_i2s
[
i2s_num
]
->
tx
->
mux
)
;
i2s_legacy.c:1732
i2s_write()
ESP_RETURN_ON_FALSE
(
(
p_i2s
[
i2s_num
]
->
tx
)
,
ESP_ERR_INVALID_ARG
,
TAG
,
"TX mode is not enabled"
)
;
i2s_legacy.c:1748
i2s_write_expand()
xSemaphoreTake
(
p_i2s
[
i2s_num
]
->
tx
->
mux
,
portMAX_DELAY
)
;
i2s_legacy.c:1769
i2s_write_expand()
if
(
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
==
p_i2s
[
i2s_num
]
->
tx
->
buf_size
||
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
==
NULL
)
{
i2s_legacy.c:1773
i2s_write_expand()
if
(
xQueueReceive
(
p_i2s
[
i2s_num
]
->
tx
->
queue
,
&
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
,
ticks_to_wait
)
==
pdFALSE
)
{
i2s_legacy.c:1774
i2s_write_expand()
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
=
0
;
i2s_legacy.c:1777
i2s_write_expand()
data_ptr
=
(
char
*
)
p_i2s
[
i2s_num
]
->
tx
->
curr_ptr
;
i2s_legacy.c:1779
i2s_write_expand()
data_ptr
+=
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
;
i2s_legacy.c:1780
i2s_write_expand()
bytes_can_write
=
p_i2s
[
i2s_num
]
->
tx
->
buf_size
-
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
;
i2s_legacy.c:1781
i2s_write_expand()
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
+=
bytes_can_write
;
i2s_legacy.c:1798
i2s_write_expand()
xSemaphoreGive
(
p_i2s
[
i2s_num
]
->
tx
->
mux
)
;
i2s_legacy.c:1800
i2s_write_expand()
if
(
p_i2s
[
i2s_num
]
->
tx
&&
p_i2s
[
i2s_num
]
->
tx
->
buf
!=
NULL
&&
p_i2s
[
i2s_num
]
->
tx
->
buf_size
!=
0
)
{
i2s_legacy.c:1895
i2s_zero_dma_buffer()
int
bytes_left
=
(
p_i2s
[
i2s_num
]
->
tx
->
buf_size
-
p_i2s
[
i2s_num
]
->
tx
->
rw_pos
)
%
4
;
i2s_legacy.c:1897
i2s_zero_dma_buffer()
memset
(
p_i2s
[
i2s_num
]
->
tx
->
buf
[
i
]
,
0
,
p_i2s
[
i2s_num
]
->
tx
->
buf_size
)
;
i2s_legacy.c:1904
i2s_zero_dma_buffer()
Call Tree
from
examples
All items filtered out
All items filtered out
Data Use
from
examples
i2s_obj_t::tx
is read by 10 functions:
All items filtered out
i2s_obj_t::tx
i2s_intr_handler_default()
i2s_tx_reset()
i2s_tx_start()
i2s_set_clk()
i2s_set_pdm_tx_up_sample()
i2s_dma_object_init()
i2s_init_legacy()
i2s_write()
i2s_write_expand()
i2s_zero_dma_buffer()
All items filtered out
Class Tree
from
examples
All items filtered out
All items filtered out
Override Tree
from
examples
All items filtered out
All items filtered out
Implementations
from
examples
All items filtered out
All items filtered out
Instances
from
examples
Lifecycle
from
examples
All items filtered out
All items filtered out