/******************************************************************************* * @file ble_security.h * @brief BLE Security - Peer Manager, LESC, Bonding * @author Charles KWON * @date 2025-01-30 * @copyright (c) 2025 Medithings Inc. All rights reserved. * * @details Peer Manager initialization and security event handling. ******************************************************************************/ #ifndef BLE_SECURITY_H #define BLE_SECURITY_H #include #include #if FEATURE_SECURE_CONNECTION #include "ble_gap.h" /*============================================================================== * CONSTANTS *============================================================================*/ #define LESC_DEBUG_MODE 0 #define SEC_PARAM_BOND 1 #define SEC_PARAM_MITM 1 #if FEATURE_STATIC_PASSKEY #define SEC_PARAM_LESC 0 #else #define SEC_PARAM_LESC 1 #endif #define SEC_PARAM_KEYPRESS 0 #define SEC_PARAM_IO_CAPABILITIES BLE_GAP_IO_CAPS_DISPLAY_ONLY #define SEC_PARAM_OOB 0 #define SEC_PARAM_MIN_KEY_SIZE 7 #define SEC_PARAM_MAX_KEY_SIZE 16 #define PASSKEY_TXT_LENGTH 8 #define PASSKEY_LENGTH 6 #define BLE_DEV_MODE 1 /* 1=Dev mode, 0=Production */ #endif /*============================================================================== * FUNCTION PROTOTYPES *============================================================================*/ #if FEATURE_SECURE_CONNECTION /*============================================================================== * EXTERNAL VARIABLES (SECURE CONNECTION ONLY) *============================================================================*/ extern bool erase_bonds; /** * @brief Initialize Peer Manager with security configuration */ void peer_manager_init(void); /** * @brief Delete all bond information from flash */ void delete_bonds(void); /** * @brief Handle idle state for LESC */ void security_idle_state_handle(void); #endif #endif /* BLE_SECURITY_H */