개발/BLE 16

CC2540 TX Power Control

CC2540의 TX 파워를 제어할수가 있다... 물론 파워를 제어하는 이유는 배터리를 좀더 오래쓰기 위함이다. 반면에 파워가 약하면 인식하는 거리가 짧아지는 것은 당연!!! 해당 API는 아래와 같다. HCI_EXT_SetTxPowerCmd(parameter); parameter에는 4가지 종류가 있다. 그외에는 의미가 없다는 TI 답변이다. 단 TX 파워는 Initial 과정에서 단 한번만 설정이 가능하다... 코드 상에서 마음데로 파워를 줄였다 늘렸다 할수 없다... 즉, initial과정에서 한번만 셋팅되면 프로그램 상에서 재 셋팅이 안된다는 말이다.

개발/BLE 2016.06.30

CC2540 Direct Connect

Central과 Peripheral간의 고유 어드레스를 알고 있으면 다른 디바이스들의 방해를 받지 않고 다이렉트로 컨넥트 할수 있다. 이는 주변의 많은 BLE 기기들이 존재할시에 유용하게 사용할수 있는 기능이다. 아래는 예제 코드와 참조 주소. 여기 uint8 desired_adv_event_type = GAP_ADTYPE_ADV_DIRECT_IND; uint8 desired_adv_direct_addr[] = { /* Central의 보드 어드레서 */ , LSB 0x3C, 0x2D, 0xB7, 0x85, 0xEE, 0xFE }; GAPRole_SetParameter( GAPROLE_ADV_EVENT_TYPE, sizeof( uint8 ), &desired_adv_event_type ); GAPRole..

개발/BLE 2016.06.30

CC2541 Sleep/Normal Mode Control API

CC2541 슬립및 노말 모드제어를 위해 사용되는 API 기본적인 DEV 소스 코드상에는 BLE 관련한 태스크 이벤트가 발생하지 않을경우최대 400ms 이후에는 강제로 슬립으로 들어간다. 따라서 400ms 이상 제어되는 일반 로직인경우 예를 들어 부저를 1초동안 울린다거나 등등의 기능을 수행할경우 400ms 이후에는 강제로 슬립이 진입되기 때문에 슬립진입을 막아야 한다. 방법은 아래 API를 사용하면됨. 1. 슬립진입 osal_pwrmgr_device( PWRMGR_BATTERY ) 2. 노말상태유지 osal_pwrmgr_device( PWRMGR_ALWAYS_ON );

개발/BLE 2016.06.29