diff --git a/epicardium/ble/app/app_main.c b/epicardium/ble/app/app_main.c index f795c4e7222adfeb7cbe5b19e15f3c1659b7827c..b279c758bb5857eb3d649fe7cc8c36f7e16ef35f 100644 --- a/epicardium/ble/app/app_main.c +++ b/epicardium/ble/app/app_main.c @@ -37,6 +37,8 @@ #include "app_main.h" #include "app_ui.h" +#include "modules/log.h" + /************************************************************************************************** Global Variables **************************************************************************************************/ @@ -283,6 +285,8 @@ void AppHandleNumericComparison(dmSecCnfIndEvt_t *pCnfInd) { uint32_t confirm = DmSecGetCompareValue(pCnfInd->confirm); + LOG_INFO("ble", "Confirm Value: %ld", confirm); + /* display confirmation value */ AppUiDisplayConfirmValue(confirm); diff --git a/epicardium/ble/ble_main.c b/epicardium/ble/ble_main.c index af041f9cfd7c27fcd69774d3d7a9eaf882c990c6..07783d8619cc05c688db056ec0d17d06b72413dc 100644 --- a/epicardium/ble/ble_main.c +++ b/epicardium/ble/ble_main.c @@ -38,6 +38,8 @@ #include "hrps/hrps_api.h" #include "rscp/rscp_api.h" +#include "modules/log.h" + /************************************************************************************************** Macros **************************************************************************************************/ @@ -373,6 +375,7 @@ static void bleSetup(bleMsg_t *pMsg) static void bleProcMsg(bleMsg_t *pMsg) { uint8_t uiEvent = APP_UI_NONE; + hciLeConnCmplEvt_t *connOpen; switch(pMsg->hdr.event) { @@ -395,36 +398,88 @@ static void bleProcMsg(bleMsg_t *pMsg) break; case DM_ADV_START_IND: + LOG_INFO("ble", "Advertisement started"); uiEvent = APP_UI_ADV_START; break; case DM_ADV_STOP_IND: + LOG_INFO("ble", "Advertisement stopped"); uiEvent = APP_UI_ADV_STOP; break; case DM_CONN_OPEN_IND: + connOpen = &pMsg->dm.connOpen; + LOG_INFO("ble", "connection from %02X:%02X:%02X:%02X:%02X:%02X opened", + connOpen->peerAddr[0], connOpen->peerAddr[1], + connOpen->peerAddr[2], connOpen->peerAddr[3], + connOpen->peerAddr[4], connOpen->peerAddr[5]); BasProcMsg(&pMsg->hdr); uiEvent = APP_UI_CONN_OPEN; break; case DM_CONN_CLOSE_IND: + switch (pMsg->dm.connClose.reason) + { + case HCI_ERR_CONN_TIMEOUT: + LOG_INFO("ble", "Connection closed (0x%02X), Connection timeout", + pMsg->dm.connClose.reason); + break; + case HCI_ERR_LOCAL_TERMINATED: + LOG_INFO("ble", "Connection closed (0x%02X), Connection terminated by local host", + pMsg->dm.connClose.reason); + break; + case HCI_ERR_REMOTE_TERMINATED: + LOG_INFO("ble", "Connection closed (0x%02X), Remote user terminated connection", + pMsg->dm.connClose.reason); + break; + case HCI_ERR_CONN_FAIL: + LOG_INFO("ble", "Connection closed (0x%02X), Connection failed to be established", + pMsg->dm.connClose.reason); + break; + case HCI_ERR_MIC_FAILURE: + LOG_INFO("ble", "Connection closed (0x%02X), Connection terminated due to MIC failure", + pMsg->dm.connClose.reason); + break; + default: + LOG_INFO("ble", "Connection closed (0x%02X)", + pMsg->dm.connClose.reason); + break; + } bleClose(pMsg); uiEvent = APP_UI_CONN_CLOSE; break; case DM_SEC_PAIR_CMPL_IND: + LOG_INFO("ble", "Secure pairing successful, auth: 0x%02X", + pMsg->dm.pairCmpl.auth); uiEvent = APP_UI_SEC_PAIR_CMPL; break; case DM_SEC_PAIR_FAIL_IND: + switch (pMsg->hdr.status) { + case SMP_ERR_TIMEOUT: + LOG_INFO("ble", "Secure pairing failed (0x%02X), Transaction timeout", + pMsg->hdr.status); + break; + case SMP_ERR_ATTEMPTS: + LOG_INFO("ble", "Secure pairing failed (0x%02X), Repeated attempts", + pMsg->hdr.status); + break; + default: + LOG_INFO("ble", "Secure pairing failed (0x%02X)", + pMsg->hdr.status); + break; + } uiEvent = APP_UI_SEC_PAIR_FAIL; break; case DM_SEC_ENCRYPT_IND: + LOG_INFO("ble", "Encrypted handshake successful"); uiEvent = APP_UI_SEC_ENCRYPT; break; case DM_SEC_ENCRYPT_FAIL_IND: + LOG_INFO("ble", "Encrypted handshake failed"); uiEvent = APP_UI_SEC_ENCRYPT_FAIL; break; @@ -441,6 +496,7 @@ static void bleProcMsg(bleMsg_t *pMsg) break; case DM_HW_ERROR_IND: + LOG_ERR("ble", "HW Error"); uiEvent = APP_UI_HW_ERROR; break;