분류 전체보기 411

CC2540 Disconnect the Connection Immediately

Central과 Peripheral간에 Connection을 해제 하기 위해서는 Terminate API를 사용하는데, 이것을 사용할경우엔 notify를 받아야지만 Connection이 해제 된다. 즉, 이제 더이상 너랑 붙어있기 싫다고 요청했으면 응답을 받은뒤에야 connection 상태를 해제 한다는 것이다. 그러나 사용하기에 따라서는 일방적으로 Connection을 해제 할고 싶을때가 있다.이때 사용하는 API가 바로 요거다. HCI_EXT_DisconnectImmedCmd( simpleBLEConnHandle ); 이 API는 notify없이 곧바로 disconnect가 된다. 그렇게 되면 문제는 다른 한쪽에서는 계속 connect 상태가 된다. 가령 Connect 상태에서 Central이 일방적..

개발/BLE 2016.07.01

CC2540 Supervision Timeout

Supervision timeout 이란? 슬레이브와 마스터간의 Connection 상태에서 어느한쪽이 일방적으로 전원을 OFF 할경우 Connection 상태를 해제 하기 위한 타임 모니터링이다. 그런데.... 이걸 어떻게 활용해야 하나...샘플 코드에는 // Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter update request is enabled#define DEFAULT_DESIRED_CONN_TIMEOUT 300 저렇게 define이 되어 있기때문에 저 값만 바꾸면 될것 같지만 사실 그렇지 않다.. 저것의 용도는 DEFAULT_ENABLE_UPDATE_REQUEST is set to TRUE 로 되어 있어야..

개발/BLE 2016.07.01

CC2540 TX Power Control

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

개발/BLE 2016.06.30