ESP-IDF
hci_hal_env
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
hci_hal_env
hci_hal_env variable
Syntax
Show:
Summary
Declaration
from
hci_hal_h4.c:89
static
hci_hal_env_t
hci_hal_env
;
Examples
References
from
examples
Code
Location
Referrer
static
hci_hal_env_t
hci_hal_env
;
hci_hal_h4.c:89
hci_hal_env
.
hci_h4_thread
=
task_thread
;
hci_hal_h4.c:110
hci_hal_env_init()
hci_hal_env
.
callbacks
=
(
hci_hal_callbacks_t
*
)
upper_callbacks
;
hci_hal_h4.c:111
hci_hal_env_init()
hci_hal_env
.
adv_fc_cmd_buf
=
osi_calloc
(
HCI_CMD_LINKED_BUF_SIZE
(
HCIC_PARAM_SIZE_BLE_UPDATE_ADV_FLOW_CONTROL
)
)
;
hci_hal_h4.c:114
hci_hal_env_init()
assert
(
hci_hal_env
.
adv_fc_cmd_buf
!=
NULL
)
;
hci_hal_h4.c:115
hci_hal_env_init()
osi_mutex_new
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:116
hci_hal_env_init()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:117
hci_hal_env_init()
hci_hal_env
.
adv_credits
=
BLE_ADV_REPORT_FLOW_CONTROL_NUM
;
hci_hal_h4.c:118
hci_hal_env_init()
hci_hal_env
.
adv_credits_to_release
=
0
;
hci_hal_h4.c:119
hci_hal_env_init()
hci_hal_env
.
cmd_buf_in_use
=
false
;
hci_hal_h4.c:120
hci_hal_env_init()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:121
hci_hal_env_init()
hci_hal_env
.
adv_flow_monitor
=
osi_alarm_new
(
"adv_fc_mon"
,
hci_adv_flow_monitor
,
NULL
,
HCI_ADV_FLOW_MONITOR_PERIOD_MS
)
;
hci_hal_h4.c:122
hci_hal_env_init()
assert
(
hci_hal_env
.
adv_flow_monitor
!=
NULL
)
;
hci_hal_h4.c:123
hci_hal_env_init()
hci_hal_env
.
rx_q
=
fixed_queue_new
(
QUEUE_SIZE_MAX
)
;
hci_hal_h4.c:126
hci_hal_env_init()
assert
(
hci_hal_env
.
rx_q
!=
NULL
)
;
hci_hal_h4.c:127
hci_hal_env_init()
hci_hal_env
.
adv_rpt_q
=
pkt_queue_create
(
)
;
hci_hal_h4.c:129
hci_hal_env_init()
assert
(
hci_hal_env
.
adv_rpt_q
!=
NULL
)
;
hci_hal_h4.c:130
hci_hal_env_init()
hci_hal_env
.
upstream_data_ready
=
event
;
hci_hal_h4.c:134
hci_hal_env_init()
osi_event_bind
(
hci_hal_env
.
upstream_data_ready
,
hci_hal_env
.
hci_h4_thread
,
HCI_UPSTREAM_DATA_QUEUE_IDX
)
;
hci_hal_h4.c:135
hci_hal_env_init()
fixed_queue_t
*
rx_q
=
hci_hal_env
.
rx_q
;
hci_hal_h4.c:142
hci_hal_env_deinit()
struct
pkt_queue
*
adv_rpt_q
=
hci_hal_env
.
adv_rpt_q
;
hci_hal_h4.c:143
hci_hal_env_deinit()
struct
osi_event
*
upstream_data_ready
=
hci_hal_env
.
upstream_data_ready
;
hci_hal_h4.c:144
hci_hal_env_deinit()
hci_hal_env
.
rx_q
=
NULL
;
hci_hal_h4.c:146
hci_hal_env_deinit()
hci_hal_env
.
adv_rpt_q
=
NULL
;
hci_hal_h4.c:147
hci_hal_env_deinit()
hci_hal_env
.
upstream_data_ready
=
NULL
;
hci_hal_h4.c:148
hci_hal_env_deinit()
hci_hal_env
.
cmd_buf_in_use
=
true
;
hci_hal_h4.c:157
hci_hal_env_deinit()
osi_alarm_cancel
(
hci_hal_env
.
adv_flow_monitor
)
;
hci_hal_h4.c:158
hci_hal_env_deinit()
osi_alarm_free
(
hci_hal_env
.
adv_flow_monitor
)
;
hci_hal_h4.c:159
hci_hal_env_deinit()
hci_hal_env
.
adv_flow_monitor
=
NULL
;
hci_hal_h4.c:160
hci_hal_env_deinit()
osi_mutex_free
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:161
hci_hal_env_deinit()
osi_free
(
hci_hal_env
.
adv_fc_cmd_buf
)
;
hci_hal_h4.c:162
hci_hal_env_deinit()
hci_hal_env
.
adv_fc_cmd_buf
=
NULL
;
hci_hal_h4.c:163
hci_hal_env_deinit()
hci_hal_env
.
hci_h4_thread
=
NULL
;
hci_hal_h4.c:166
hci_hal_env_deinit()
memset
(
&
hci_hal_env
,
0
,
sizeof
(
hci_hal_env_t
)
)
;
hci_hal_h4.c:168
hci_hal_env_deinit()
fixed_queue_t
*
rx_q
=
hci_hal_env
.
rx_q
;
hci_hal_h4.c:227
hci_upstream_data_handler()
struct
pkt_queue
*
adv_rpt_q
=
hci_hal_env
.
adv_rpt_q
;
hci_hal_h4.c:228
hci_upstream_data_handler()
return
osi_thread_post_event
(
hci_hal_env
.
upstream_data_ready
,
timeout
)
;
hci_hal_h4.c:258
hci_upstream_data_post()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:300
hci_adv_credits_consumed()
assert
(
hci_hal_env
.
adv_credits
>=
num
)
;
hci_hal_h4.c:301
hci_adv_credits_consumed()
hci_hal_env
.
adv_credits
-=
num
;
hci_hal_h4.c:302
hci_adv_credits_consumed()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:303
hci_adv_credits_consumed()
return
hci_hal_env
.
adv_credits_to_release
;
hci_hal_h4.c:309
hci_adv_credits_prep_to_release()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:312
hci_adv_credits_prep_to_release()
int
credits_to_release
=
hci_hal_env
.
adv_credits_to_release
+
num
;
hci_hal_h4.c:313
hci_adv_credits_prep_to_release()
assert
(
hci_hal_env
.
adv_credits_to_release
<=
BLE_ADV_REPORT_FLOW_CONTROL_NUM
)
;
hci_hal_h4.c:314
hci_adv_credits_prep_to_release()
hci_hal_env
.
adv_credits_to_release
=
credits_to_release
;
hci_hal_h4.c:315
hci_adv_credits_prep_to_release()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:316
hci_adv_credits_prep_to_release()
osi_alarm_cancel
(
hci_hal_env
.
adv_flow_monitor
)
;
hci_hal_h4.c:319
hci_adv_credits_prep_to_release()
osi_alarm_set
(
hci_hal_env
.
adv_flow_monitor
,
HCI_ADV_FLOW_MONITOR_PERIOD_MS
)
;
hci_hal_h4.c:320
hci_adv_credits_prep_to_release()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:327
hci_adv_credits_release()
int
credits_released
=
hci_hal_env
.
adv_credits_to_release
;
hci_hal_h4.c:328
hci_adv_credits_release()
hci_hal_env
.
adv_credits
+=
credits_released
;
hci_hal_h4.c:329
hci_adv_credits_release()
hci_hal_env
.
adv_credits_to_release
-=
credits_released
;
hci_hal_h4.c:330
hci_adv_credits_release()
assert
(
hci_hal_env
.
adv_credits
<=
BLE_ADV_REPORT_FLOW_CONTROL_NUM
)
;
hci_hal_h4.c:331
hci_adv_credits_release()
assert
(
hci_hal_env
.
adv_credits_to_release
>=
0
)
;
hci_hal_h4.c:332
hci_adv_credits_release()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:333
hci_adv_credits_release()
if
(
hci_hal_env
.
adv_credits_to_release
==
0
)
{
hci_hal_h4.c:335
hci_adv_credits_release()
osi_alarm_cancel
(
hci_hal_env
.
adv_flow_monitor
)
;
hci_hal_h4.c:336
hci_adv_credits_release()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:343
hci_adv_credits_release_rollback()
hci_hal_env
.
adv_credits
-=
num
;
hci_hal_h4.c:344
hci_adv_credits_release_rollback()
hci_hal_env
.
adv_credits_to_release
+=
num
;
hci_hal_h4.c:345
hci_adv_credits_release_rollback()
assert
(
hci_hal_env
.
adv_credits
>=
0
)
;
hci_hal_h4.c:346
hci_adv_credits_release_rollback()
assert
(
hci_hal_env
.
adv_credits_to_release
<=
BLE_ADV_REPORT_FLOW_CONTROL_NUM
)
;
hci_hal_h4.c:347
hci_adv_credits_release_rollback()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:348
hci_adv_credits_release_rollback()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:355
hci_adv_flow_cmd_free_cb()
hci_hal_env
.
cmd_buf_in_use
=
false
;
hci_hal_h4.c:356
hci_adv_flow_cmd_free_cb()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:357
hci_adv_flow_cmd_free_cb()
if
(
!
hci_hal_env
.
cmd_buf_in_use
)
{
hci_hal_h4.c:367
hci_adv_flow_try_send_command()
osi_mutex_lock
(
&
hci_hal_env
.
adv_flow_lock
,
OSI_MUTEX_MAX_TIMEOUT
)
;
hci_hal_h4.c:368
hci_adv_flow_try_send_command()
if
(
!
hci_hal_env
.
cmd_buf_in_use
)
{
hci_hal_h4.c:369
hci_adv_flow_try_send_command()
hci_hal_env
.
cmd_buf_in_use
=
true
;
hci_hal_h4.c:370
hci_adv_flow_try_send_command()
osi_mutex_unlock
(
&
hci_hal_env
.
adv_flow_lock
)
;
hci_hal_h4.c:373
hci_adv_flow_try_send_command()
hci_cmd_metadata_t
*
metadata
=
(
hci_cmd_metadata_t
*
)
(
hci_hal_env
.
adv_fc_cmd_buf
->
data
)
;
hci_hal_h4.c:377
hci_adv_flow_try_send_command()
hci_hal_env
.
callbacks
->
packet_ready
(
packet
)
;
hci_hal_h4.c:476
hci_hal_h4_hdl_rx_packet()
hci_hal_env
.
callbacks
->
adv_rpt_ready
(
linked_pkt
)
;
hci_hal_h4.c:522
hci_hal_h4_hdl_rx_adv_rpt()
if
(
hci_hal_env
.
rx_q
==
NULL
)
{
hci_hal_h4.c:567
host_recv_pkt_cb()
fixed_queue_enqueue
(
hci_hal_env
.
rx_q
,
pkt
,
FIXED_QUEUE_MAX_TIMEOUT
)
;
hci_hal_h4.c:587
host_recv_pkt_cb()
if
(
pkt_queue_length
(
hci_hal_env
.
adv_rpt_q
)
>
HCI_HAL_BLE_ADV_RPT_QUEUE_LEN_MAX
)
{
hci_hal_h4.c:591
host_recv_pkt_cb()
pkt_queue_enqueue
(
hci_hal_env
.
adv_rpt_q
,
linked_pkt
)
;
hci_hal_h4.c:613
host_recv_pkt_cb()
Call Tree
from
examples
All items filtered out
All items filtered out
Data Use
from
examples
hci_hal_env
is read by 13 functions:
All items filtered out
hci_hal_env
hci_hal_env_init()
hci_hal_env_deinit()
hci_upstream_data_handler()
hci_upstream_data_post()
hci_adv_credits_consumed()
hci_adv_credits_prep_to_release()
hci_adv_credits_release()
hci_adv_credits_release_rollback()
hci_adv_flow_cmd_free_cb()
hci_adv_flow_try_send_command()
hci_hal_h4_hdl_rx_packet()
hci_hal_h4_hdl_rx_adv_rpt()
host_recv_pkt_cb()
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