BLE Advertising 상태의 Tx Power 설정.
- 함수 sd_ble_gap_tx_power_set ( , , ) 호출하면서 마지막 인자로 설정하려는 출력 파워 기록한다.
- advertising init 과정에서 함수 ble_advertising_init 호출 이후 advertising 핸들 정상 확보된 이후에만 sd_ble_gap_tx_power_set( ) 호출가능하다.
- 아래 호출 예는 ble_advertising_init 호출 직후 즉시 tx power 설정 하는 예제.
static void advertising_init()
{
err_code = ble_advertising_init(&m_advertising, &init);
APP_ERROR_CHECK(err_code);
//BLE TX Power set for Advertising. after ble_advertising_init(&m_advertising,)
sd_ble_gap_tx_power_set(
BLE_GAP_TX_POWER_ROLE_ADV // uint8_t role
, m_advertising.adv_handle //uint16_t handle
, 0 // int8_t tx_power. nRF52840.-20~+8 4dB step. -20,-16,-12,-8,-4,0,4,,8
);
}
BLE Connection 상태의 Tx Power 설정.
- 별도로 설정하지 않은 경우는 앞의 advertising 상태에서 설정한 동일 출력 파워 적용됨.
- ble connection handle (sdk 예제코드에서 변수 m_conn_handle 로 되어있음.)정상 확보 상태에서만 sd_ble_gap_tx_power_set ( , , ) 호출가능하다.
//BLE TX Power set for ble connection state.
sd_ble_gap_tx_power_set(
BLE_GAP_TX_POWER_ROLE_CONN // uint8_t role
, m_conn_handle //uint16_t handle
, 0 // int8_t tx_power. nRF52840.-20~+8 4dB step. -20,-16,-12,-8,-4,0,4,,8
);
BLE Central 인 경우 Tx Power 설정.
- sd_ble_gap_tx_power_set ( , , ) 1번 인자는 BLE_GAP_TX_POWER_ROLE_SCAN_INIT 로 한다. 이 경우 2번 인자 handle 은 함수 내부적으로 참조되지 않음.
- 아무 시점에나 호출해도 됨.
//BLE TX Power set for Central
sd_ble_gap_tx_power_set(
BLE_GAP_TX_POWER_ROLE_SCAN_INIT // uint8_t role
, 0 // uint16_t handle
, 0 // int8_t tx_power. nRF52840.-20~+8 4dB step. -20,-16,-12,-8,-4,0,4,,8
);
BLE . RF 출력파워 설정 함수
uint32_t sd_ble_gap_tx_power_set ( uint8_t role,
uint16_t handle,
int8_t tx_power
)
Set the radio's transmit power.Parameters
[in] | role | The role to set the transmit power for, see BLE_GAP_TX_POWER_ROLES for possible roles. |
[in] | handle | The handle parameter is interpreted depending on role:
|
[in] | tx_power | Radio transmit power in dBm (see note for accepted values). |
NoteSupported tx_power values: -40dBm, -20dBm, -16dBm, -12dBm, -8dBm, -4dBm, 0dBm, +3dBm and +4dBm. In addition, on some chips following values are supported: +2dBm, +5dBm, +6dBm, +7dBm and +8dBm. Setting these values on a chip that does not support them will result in undefined behaviour.The initiator will have the same transmit power as the scanner.When a connection is created it will inherit the transmit power from the initiator or advertiser leading to the connection.Return values
NRF_SUCCESS | Successfully changed the transmit power. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
BLE_ERROR_INVALID_ADV_HANDLE | Advertising handle not found. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
from : sd_ble_gap_tx_power_set - S140 SoftDevice version 7.3.0
연관
상위정리
첫 등록 : 2019.01.23
최종 수정 : 2023.01.29
단축 주소 : https://igotit.tistory.com/4205
'임베디드.일렉트로닉스 > nRF52' 카테고리의 다른 글
nRF5340 . 블루투스 5.3 . LE Audio (0) | 2023.01.31 |
---|---|
nRF52 . BLE . RSSI (0) | 2023.01.30 |
nRF52 . BLE . 연속 advertising . fatal error (0) | 2023.01.29 |
nRF52 . SES . 빌드 오류 해결 . __vfprintf.h: No such file or directory (0) | 2023.01.20 |
nRF52 . Programmer . 경고 Part of the HEX regions are out of the device memory size (0) | 2023.01.20 |
댓글