BLE_Health_Thermometer for mbed HRM1017 with BLE library 0.1.0
Dependencies: BLE_API TMP102 mbed nRF51822
Fork of BLE_Health_Thermometer2 by
You are viewing an older revision! See the latest version
BLE_Health_Thermometer2 010
mbed HRM1017をはじめように掲載されている、BLE_Health_Thermometer_IRCをBLE ライブラリ0.1.0に移植しました。 前回公開したBLE_Health_Thermometer2からさらに新ライブラリ0.1.0に対応するための各種修正を加えています。修正点は以下の通りです。
- ライブラリ0.1.0を使うためには、mbedライブラリをDevelopment版である、mbed-srcに変更します
- mbed-srcのクロッククロック設定が外部クロックになっているため、HRM1017で使用する内部クロック設定に変更します。mbed-src/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/system_nrf51822.cの69行目を以下のように修正します
system_nrf51822.cの変更
NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_RC << CLOCK_LFCLKSRC_SRC_Pos);
- nRF51822/btle/btle.cpp 66行目を以下のように変更し、内部クロックを選択するようにします(この変更は以前から必要なものでした)
btle.cppの変更1
SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION, false);
- btle.cppの140行、142行目を以下のようにコメントアウトします。この変更は、disconnected.reasonが1種類しか定義されていないために、disconnectionCallback関数が呼ばれない問題を回避するためです。
btle.cppの変更2
// if (p_ble_evt->evt.gap_evt.params.disconnected.reason == BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION) { nRF51Gap::getInstance().processDisconnectionEvent(handle, Gap::LOCAL_HOST_TERMINATED_CONNECTION); // }