diff --git a/bsp/Infineon/libraries/IFX_PSOC6_HAL/SConscript b/bsp/Infineon/libraries/IFX_PSOC6_HAL/SConscript index 5ef305f38f..9c8345147f 100644 --- a/bsp/Infineon/libraries/IFX_PSOC6_HAL/SConscript +++ b/bsp/Infineon/libraries/IFX_PSOC6_HAL/SConscript @@ -114,7 +114,7 @@ if GetDepend('BSP_USING_RTC'): src += ['mtb-hal-cat1/source/cyhal_rtc.c'] src += ['mtb-pdl-cat1/drivers/source/cy_rtc.c'] -if GetDepend('BSP_USING_ON_CHIP_FLASH'): +if GetDepend('BSP_USING_ON_CHIP_FLASH') or GetDepend('BSP_USING_CYW43012_BT') : src += ['mtb-hal-cat1/source/cyhal_flash.c'] src += ['mtb-pdl-cat1/drivers/source/cy_flash.c'] diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/board/Kconfig b/bsp/Infineon/psoc6-evaluationkit-062S2/board/Kconfig index 47b0a8d512..133c3f2c38 100644 --- a/bsp/Infineon/psoc6-evaluationkit-062S2/board/Kconfig +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/board/Kconfig @@ -423,6 +423,10 @@ menu "Board extended module Drivers" bool "Enable cyw43012 wifi" select PKG_USING_WLAN_CYW43012 default n + config BSP_USING_CYW43012_BT + bool "Enable cyw43012 Bluetooth" + select PKG_USING_BT_CYW43012 + default n endmenu endmenu diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/board/SConscript b/bsp/Infineon/psoc6-evaluationkit-062S2/board/SConscript index 12bd7a5c31..8d0f1b5f98 100644 --- a/bsp/Infineon/psoc6-evaluationkit-062S2/board/SConscript +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/board/SConscript @@ -46,6 +46,48 @@ if GetDepend(['BSP_USING_CYW43012_WIFI']): "CY_RTOS_AWARE", "CY_SUPPORTS_DEVICE_VALIDATION", ] +if GetDepend(['BSP_USING_CYW43012_BT']): + CPPDEFINES += [ + "COMPONENT_43012", + "COMPONENT_APP_CY8CKIT_062S2_43012", + "COMPONENT_AW_AM497", + "COMPONENT_CAT1", + "COMPONENT_CAT1A", + "COMPONENT_CM0P_SLEEP", + "COMPONENT_CM4", + "COMPONENT_CM4_0", + "COMPONENT_Debug", + "COMPONENT_FREERTOS", + "COMPONENT_GCC_ARM", + "COMPONENT_HCI_UART", + "COMPONENT_MW_ABSTRACTION_RTOS", + "COMPONENT_MW_BTSTACK", + "COMPONENT_MW_BTSTACK_INTEGRATION", + "COMPONENT_MW_CLIB_SUPPORT", + "COMPONENT_MW_CMSIS", + "COMPONENT_MW_CORE_LIB", + "COMPONENT_MW_CORE_MAKE", + "COMPONENT_MW_FREERTOS", + "COMPONENT_MW_KV_STORE", + "COMPONENT_MW_MTB_HAL_CAT1", + "COMPONENT_MW_MTB_PDL_CAT1", + "COMPONENT_MW_RECIPE_MAKE_CAT1A", + "COMPONENT_MW_RETARGET_IO", + "COMPONENT_MW_SERIAL_FLASH", + "COMPONENT_PSOC6_02", + "COMPONENT_WICED_BLE", + "COMPONENT_WIFI_INTERFACE_SDIO", + "CORE_NAME_CM4_0=1", + "CY8C624ALQI_S2D42", + "CY_APPNAME_mtb_example_btstack_freertos_hello_sensor", + "CY_RETARGET_IO_CONVERT_LF_TO_CRLF", + "CY_RTOS_AWARE", + "CY_SUPPORTS_DEVICE_VALIDATION", + "CY_TARGET_BOARD=APP_CY8CKIT_062S2_43012", + "CY_USING_HAL", + "TARGET_APP_CY8CKIT_062S2_43012", + "USE_INTERNAL_FLASH" + ] group = DefineGroup('Drivers', src, depend=[''], CPPPATH=path, CPPDEFINES=CPPDEFINES) Return('group') diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/SConscript b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/SConscript index f0dab4628e..10deeea8c6 100644 --- a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/SConscript +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/SConscript @@ -16,7 +16,13 @@ elif rtconfig.PLATFORM in ['gcc', 'armclang']: src += Glob(cwd + '/TARGET_RTT-062S2/config/GeneratedSource/*.c') CPPPATH = [ cwd + '/TARGET_RTT-062S2', - cwd + '/TARGET_RTT-062S2/config/GeneratedSource'] + cwd + '/TARGET_RTT-062S2/config/GeneratedSource', + cwd + '/TARGET_RTT-062S2/config', + cwd + '/TARGET_RTT-062S2/bluetooth' + ] + if GetDepend(['BSP_USING_CYW43012_BT']): + src += Glob(cwd + '/TARGET_RTT-062S2/bluetooth/*.c') + if rtconfig.PLATFORM in ['gcc']: src += [cwd + '/TARGET_RTT-062S2/COMPONENT_CM4/TOOLCHAIN_GCC_ARM/startup_psoc6_02_cm4.S'] elif rtconfig.PLATFORM in ['armclang']: diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_bt_settings.c b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_bt_settings.c new file mode 100644 index 0000000000..cf2e186863 --- /dev/null +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_bt_settings.c @@ -0,0 +1,254 @@ +/***************************************************************************//** +* File Name: cycfg_bt_settings.c +* +* Description: +* Runtime Bluetooth stack configuration parameters. +* This file should not be modified. It was automatically generated by +* Bluetooth Configurator 2.60.0.1460 +* +******************************************************************************** +* Copyright 2023 Cypress Semiconductor Corporation (an Infineon company) or +* an affiliate of Cypress Semiconductor Corporation. +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*******************************************************************************/ + +#include "cycfg_bt_settings.h" +#include "cycfg_gap.h" + +#include "wiced_bt_dev.h" +#include "wiced_bt_gatt.h" +#include "wiced_bt_cfg.h" + +#if !defined (WICED_BTSTACK_VERSION_MAJOR) + #define WICED_BTSTACK_VERSION_MAJOR (2) +#endif + +/***************************************************************************** + * wiced_bt core stack configuration + ****************************************************************************/ +#if (WICED_BTSTACK_VERSION_MAJOR >= 3) + /* LE scan settings */ + const wiced_bt_cfg_ble_scan_settings_t cy_bt_cfg_scan_settings = + { + .scan_mode = CY_BT_SCAN_MODE, /* LE scan mode (BTM_BLE_SCAN_MODE_PASSIVE, BTM_BLE_SCAN_MODE_ACTIVE, or BTM_BLE_SCAN_MODE_NONE) */ + + /* Advertisement scan configuration */ + .high_duty_scan_interval = CY_BT_HIGH_DUTY_SCAN_INTERVAL, /* High duty scan interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_scan_window = CY_BT_HIGH_DUTY_SCAN_WINDOW, /* High duty scan window (in slots (1 slot = 0.625 ms)) */ + .high_duty_scan_duration = CY_BT_HIGH_DUTY_SCAN_DURATION, /* High duty scan duration in seconds (0 for infinite) */ + + .low_duty_scan_interval = CY_BT_LOW_DUTY_SCAN_INTERVAL, /* Low duty scan interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_scan_window = CY_BT_LOW_DUTY_SCAN_WINDOW, /* Low duty scan window (in slots (1 slot = 0.625 ms)) */ + .low_duty_scan_duration = CY_BT_LOW_DUTY_SCAN_DURATION, /* Low duty scan duration in seconds (0 for infinite) */ + + /* Connection scan configuration */ + .high_duty_conn_scan_interval = CY_BT_HIGH_DUTY_CONN_SCAN_INTERVAL, /* High duty cycle connection scan interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_conn_scan_window = CY_BT_HIGH_DUTY_CONN_SCAN_WINDOW, /* High duty cycle connection scan window (in slots (1 slot = 0.625 ms)) */ + .high_duty_conn_duration = CY_BT_HIGH_DUTY_CONN_SCAN_DURATION, /* High duty cycle connection duration in seconds (0 for infinite) */ + + .low_duty_conn_scan_interval = CY_BT_LOW_DUTY_CONN_SCAN_INTERVAL, /* Low duty cycle connection scan interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_conn_scan_window = CY_BT_LOW_DUTY_CONN_SCAN_WINDOW, /* Low duty cycle connection scan window (in slots (1 slot = 0.625 ms)) */ + .low_duty_conn_duration = CY_BT_LOW_DUTY_CONN_SCAN_DURATION, /* Low duty cycle connection duration in seconds (0 for infinite) */ + + /* Connection configuration */ + .conn_min_interval = CY_BT_CONN_MIN_INTERVAL, /* Minimum connection interval (in slots (1 slot = 1.25 ms)) */ + .conn_max_interval = CY_BT_CONN_MAX_INTERVAL, /* Maximum connection interval (in slots (1 slot = 1.25 ms)) */ + .conn_latency = CY_BT_CONN_LATENCY, /* Connection latency */ + .conn_supervision_timeout = CY_BT_CONN_SUPERVISION_TIMEOUT, /* Connection link supervision timeout (in 10 ms) */ + }; + + /* LE advertisement settings */ + const wiced_bt_cfg_ble_advert_settings_t cy_bt_cfg_adv_settings = + { + .channel_map = CY_BT_CHANNEL_MAP, /* Advertising channel map (mask of BTM_BLE_ADVERT_CHNL_37, BTM_BLE_ADVERT_CHNL_38, BTM_BLE_ADVERT_CHNL_39) */ + + .high_duty_min_interval = CY_BT_HIGH_DUTY_ADV_MIN_INTERVAL, /* High duty undirected connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_max_interval = CY_BT_HIGH_DUTY_ADV_MAX_INTERVAL, /* High duty undirected connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_duration = CY_BT_HIGH_DUTY_ADV_DURATION, /* High duty undirected connectable advertising duration in seconds (0 for infinite) */ + + .low_duty_min_interval = CY_BT_LOW_DUTY_ADV_MIN_INTERVAL, /* Low duty undirected connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_max_interval = CY_BT_LOW_DUTY_ADV_MAX_INTERVAL, /* Low duty undirected connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_duration = CY_BT_LOW_DUTY_ADV_DURATION, /* Low duty undirected connectable advertising duration in seconds (0 for infinite) */ + + .high_duty_directed_min_interval = CY_BT_HIGH_DUTY_DIRECTED_ADV_MIN_INTERVAL, /* High duty directed connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_directed_max_interval = CY_BT_HIGH_DUTY_DIRECTED_ADV_MAX_INTERVAL, /* High duty directed connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + + .low_duty_directed_min_interval = CY_BT_LOW_DUTY_DIRECTED_ADV_MIN_INTERVAL, /* Low duty directed connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_directed_max_interval = CY_BT_LOW_DUTY_DIRECTED_ADV_MAX_INTERVAL, /* Low duty directed connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_directed_duration = CY_BT_LOW_DUTY_DIRECTED_ADV_DURATION, /* Low duty directed connectable advertising duration in seconds (0 for infinite) */ + + .high_duty_nonconn_min_interval = CY_BT_HIGH_DUTY_NONCONN_ADV_MIN_INTERVAL, /* High duty non-connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_nonconn_max_interval = CY_BT_HIGH_DUTY_NONCONN_ADV_MAX_INTERVAL, /* High duty non-connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_nonconn_duration = CY_BT_HIGH_DUTY_NONCONN_ADV_DURATION, /* High duty non-connectable advertising duration in seconds (0 for infinite) */ + + .low_duty_nonconn_min_interval = CY_BT_LOW_DUTY_NONCONN_ADV_MIN_INTERVAL, /* Low duty non-connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_nonconn_max_interval = CY_BT_LOW_DUTY_NONCONN_ADV_MAX_INTERVAL, /* Low duty non-connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_nonconn_duration = CY_BT_LOW_DUTY_NONCONN_ADV_DURATION /* Low duty non-connectable advertising duration in seconds (0 for infinite) */ + }; + + /* LE configuration settings */ + const wiced_bt_cfg_ble_t cy_bt_cfg_ble = + { + .ble_max_simultaneous_links = (CY_BT_CLIENT_MAX_LINKS + CY_BT_SERVER_MAX_LINKS), /* Max number for simultaneous connections for a layer, profile, protocol */ + .ble_max_rx_pdu_size = CY_BT_RX_PDU_SIZE, /* Maximum size allowed for any received L2CAP PDU + * Minimum value - 65 (to support SM) + * Maximum GATT MTU over legacy bearers shall be set to <= this value + * Maximum MPS for EATT channels shall be set to <= this value */ + .appearance = CY_BT_APPEARANCE, /* GATT appearance (see gatt_appearance_e) */ + .rpa_refresh_timeout = CY_BT_RPA_TIMEOUT, /* Interval of random address refreshing - secs */ + .host_addr_resolution_db_size = 5, /* LE Address Resolution DB settings - effective only for pre 4.2 controller */ + .p_ble_scan_cfg = &cy_bt_cfg_scan_settings, /* LE scan settings */ + .p_ble_advert_cfg = &cy_bt_cfg_adv_settings, /* LE advertisement settings */ + .default_ble_power_level = CY_BT_TX_POWER, /* Default LE power level, Refer lm_TxPwrTable table for the power range */ + }; + + /* GATT settings */ + const wiced_bt_cfg_gatt_t cy_bt_cfg_gatt = + { + .max_db_service_modules = 0, /* Maximum number of service modules in the DB */ + .max_eatt_bearers = 0, /* Maximum number of allowed gatt bearers */ + }; + + /* Application-managed L2CAP protocol configuration */ + const wiced_bt_cfg_l2cap_application_t cy_bt_cfg_l2cap = + { + .max_app_l2cap_psms = CY_BT_L2CAP_MAX_LE_PSM, /* Maximum number of application-managed PSMs */ + .max_app_l2cap_channels = CY_BT_L2CAP_MAX_LE_CHANNELS, /* Maximum number of application-managed channels */ + .max_app_l2cap_le_fixed_channels = CY_BT_L2CAP_MAX_LE_FIXED_CHANNELS, /* Maximum number of application-managed fixed channels supported */ + .max_app_l2cap_br_edr_ertm_chnls = CY_BT_L2CAP_MAX_BR_ERTM_CHANNELS, /* Maximum application ERTM channels, BR/EDR only */ + .max_app_l2cap_br_edr_ertm_tx_win = CY_BT_L2CAP_MAX_BR_ERTM_TX_WIN, /* Maximum application ERTM TX Window, BR/EDR only */ + }; + + /* Bluetooth stack configuration */ + const wiced_bt_cfg_settings_t wiced_bt_cfg_settings = + { + .device_name = (uint8_t*)app_gap_device_name, /* Local device name (NULL terminated) */ + .security_required = CY_BT_SECURITY_LEVEL, /* BTM_SEC_BEST_EFFORT is recommended choice for most applications, + * to connect to the widest range of devices. Allows stack to choose + * the highest level of security possible between the two devices */ + .p_ble_cfg = &cy_bt_cfg_ble, /* LE related configuration */ + .p_gatt_cfg = &cy_bt_cfg_gatt, /* GATT settings */ + .p_l2cap_app_cfg = &cy_bt_cfg_l2cap, /* Application-managed L2CAP protocol configuration */ + }; +#else + /* Bluetooth stack configuration */ + const wiced_bt_cfg_settings_t wiced_bt_cfg_settings = + { + .device_name = (uint8_t*)app_gap_device_name, /* Local device name (NULL terminated) */ + .device_class = {0x00, 0x00, 0x00}, /* Local device class */ + .security_requirement_mask = BTM_SEC_NONE, /* Security requirements mask (BTM_SEC_NONE, or combination of BTM_SEC_IN_AUTHENTICATE, BTM_SEC_OUT_AUTHENTICATE, BTM_SEC_ENCRYPT (see #wiced_bt_sec_level_e)) */ + + .max_simultaneous_links = (CY_BT_CLIENT_MAX_LINKS + CY_BT_SERVER_MAX_LINKS), /* Maximum number simultaneous links to different devices */ + + /* LE scan settings */ + .ble_scan_cfg = + { + .scan_mode = CY_BT_SCAN_MODE, /* LE scan mode (BTM_BLE_SCAN_MODE_PASSIVE, BTM_BLE_SCAN_MODE_ACTIVE, or BTM_BLE_SCAN_MODE_NONE) */ + + /* Advertisement scan configuration */ + .high_duty_scan_interval = CY_BT_HIGH_DUTY_SCAN_INTERVAL, /* High duty scan interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_scan_window = CY_BT_HIGH_DUTY_SCAN_WINDOW, /* High duty scan window (in slots (1 slot = 0.625 ms)) */ + .high_duty_scan_duration = CY_BT_HIGH_DUTY_SCAN_DURATION, /* High duty scan duration in seconds (0 for infinite) */ + + .low_duty_scan_interval = CY_BT_LOW_DUTY_SCAN_INTERVAL, /* Low duty scan interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_scan_window = CY_BT_LOW_DUTY_SCAN_WINDOW, /* Low duty scan window (in slots (1 slot = 0.625 ms)) */ + .low_duty_scan_duration = CY_BT_LOW_DUTY_SCAN_DURATION, /* Low duty scan duration in seconds (0 for infinite) */ + + /* Connection scan configuration */ + .high_duty_conn_scan_interval = CY_BT_HIGH_DUTY_CONN_SCAN_INTERVAL, /* High duty cycle connection scan interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_conn_scan_window = CY_BT_HIGH_DUTY_CONN_SCAN_WINDOW, /* High duty cycle connection scan window (in slots (1 slot = 0.625 ms)) */ + .high_duty_conn_duration = CY_BT_HIGH_DUTY_CONN_SCAN_DURATION, /* High duty cycle connection duration in seconds (0 for infinite) */ + + .low_duty_conn_scan_interval = CY_BT_LOW_DUTY_CONN_SCAN_INTERVAL, /* Low duty cycle connection scan interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_conn_scan_window = CY_BT_LOW_DUTY_CONN_SCAN_WINDOW, /* Low duty cycle connection scan window (in slots (1 slot = 0.625 ms)) */ + .low_duty_conn_duration = CY_BT_LOW_DUTY_CONN_SCAN_DURATION, /* Low duty cycle connection duration in seconds (0 for infinite) */ + + /* Connection configuration */ + .conn_min_interval = CY_BT_CONN_MIN_INTERVAL, /* Minimum connection interval (in slots (1 slot = 1.25 ms)) */ + .conn_max_interval = CY_BT_CONN_MAX_INTERVAL, /* Maximum connection interval (in slots (1 slot = 1.25 ms)) */ + .conn_latency = CY_BT_CONN_LATENCY, /* Connection latency */ + .conn_supervision_timeout = CY_BT_CONN_SUPERVISION_TIMEOUT, /* Connection link supervision timeout (in 10 ms) */ + }, + + /* LE advertisement settings */ + .ble_advert_cfg = + { + .channel_map = CY_BT_CHANNEL_MAP, /* Advertising channel map (mask of BTM_BLE_ADVERT_CHNL_37, BTM_BLE_ADVERT_CHNL_38, BTM_BLE_ADVERT_CHNL_39) */ + + .high_duty_min_interval = CY_BT_HIGH_DUTY_ADV_MIN_INTERVAL, /* High duty undirected connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_max_interval = CY_BT_HIGH_DUTY_ADV_MAX_INTERVAL, /* High duty undirected connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_duration = CY_BT_HIGH_DUTY_ADV_DURATION, /* High duty undirected connectable advertising duration in seconds (0 for infinite) */ + + .low_duty_min_interval = CY_BT_LOW_DUTY_ADV_MIN_INTERVAL, /* Low duty undirected connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_max_interval = CY_BT_LOW_DUTY_ADV_MAX_INTERVAL, /* Low duty undirected connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_duration = CY_BT_LOW_DUTY_ADV_DURATION, /* Low duty undirected connectable advertising duration in seconds (0 for infinite) */ + + .high_duty_directed_min_interval = CY_BT_HIGH_DUTY_DIRECTED_ADV_MIN_INTERVAL, /* High duty directed connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_directed_max_interval = CY_BT_HIGH_DUTY_DIRECTED_ADV_MAX_INTERVAL, /* High duty directed connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + + .low_duty_directed_min_interval = CY_BT_LOW_DUTY_DIRECTED_ADV_MIN_INTERVAL, /* Low duty directed connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_directed_max_interval = CY_BT_LOW_DUTY_DIRECTED_ADV_MAX_INTERVAL, /* Low duty directed connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_directed_duration = CY_BT_LOW_DUTY_DIRECTED_ADV_DURATION, /* Low duty directed connectable advertising duration in seconds (0 for infinite) */ + + .high_duty_nonconn_min_interval = CY_BT_HIGH_DUTY_NONCONN_ADV_MIN_INTERVAL, /* High duty non-connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_nonconn_max_interval = CY_BT_HIGH_DUTY_NONCONN_ADV_MAX_INTERVAL, /* High duty non-connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .high_duty_nonconn_duration = CY_BT_HIGH_DUTY_NONCONN_ADV_DURATION, /* High duty non-connectable advertising duration in seconds (0 for infinite) */ + + .low_duty_nonconn_min_interval = CY_BT_LOW_DUTY_NONCONN_ADV_MIN_INTERVAL, /* Low duty non-connectable minimum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_nonconn_max_interval = CY_BT_LOW_DUTY_NONCONN_ADV_MAX_INTERVAL, /* Low duty non-connectable maximum advertising interval (in slots (1 slot = 0.625 ms)) */ + .low_duty_nonconn_duration = CY_BT_LOW_DUTY_NONCONN_ADV_DURATION /* Low duty non-connectable advertising duration in seconds (0 for infinite) */ + }, + + /* GATT configuration */ + .gatt_cfg = + { + .appearance = CY_BT_APPEARANCE, /* GATT appearance (see gatt_appearance_e) */ + .client_max_links = CY_BT_CLIENT_MAX_LINKS, /* Client config: maximum number of servers that local client can connect to */ + .server_max_links = CY_BT_SERVER_MAX_LINKS, /* Server config: maximum number of remote clients connections allowed by the local */ + .max_attr_len = CY_BT_MAX_ATTR_LEN, /* Maximum attribute length; gki_cfg must have a corresponding buffer pool that can hold this length */ + .max_mtu_size = CY_BT_MTU_SIZE /* Maximum MTU size for GATT connections, should be between 23 and (max_attr_len + 5) */ + }, + + /* RFCOMM configuration */ + .rfcomm_cfg = + { + .max_links = 0, /* Maximum number of simultaneous connected remote devices */ + .max_ports = 0 /* Maximum number of simultaneous RFCOMM ports */ + }, + + /* Application-managed L2CAP protocol configuration */ + .l2cap_application = + { + .max_links = 0, /* Maximum number of application-managed l2cap links (BR/EDR and LE) */ + + /* BR/EDR l2cap configuration */ + .max_psm = 0, /* Maximum number of application-managed BR/EDR PSMs */ + .max_channels = 0, /* Maximum number of application-managed BR/EDR channels */ + + /* LE L2cap connection-oriented channels configuration */ + .max_le_psm = CY_BT_L2CAP_MAX_LE_PSM, /* Maximum number of application-managed LE PSMs */ + .max_le_channels = CY_BT_L2CAP_MAX_LE_CHANNELS, /* Maximum number of application-managed LE channels */ + /* LE L2cap fixed channel configuration */ + .max_le_l2cap_fixed_channels = 0, /* Maximum number of application-managed fixed channels supported (in addition to mandatory channels 4, 5 and 6) */ + .max_rx_mtu = CY_BT_L2CAP_MTU_SIZE /* Maximum RX MTU allowed */ + }, + + .addr_resolution_db_size = 5, /* LE Address Resolution DB settings - effective only for pre 4.2 controller */ + .rpa_refresh_timeout = CY_BT_RPA_TIMEOUT, /* Interval of random address refreshing - secs */ + .stack_scratch_size = WICED_BT_CFG_DEFAULT_STACK_SCRATCH_SIZE, /* Memory area reserved for the stack transient memory requirements */ + .ble_white_list_size = CY_BT_FILTER_ACCEPT_LIST_SIZE, /* Maximum number of filter accept list devices allowed. Cannot be more than 128 */ + .default_ble_power_level = CY_BT_TX_POWER /* Default LE power level */ + }; +#endif diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_bt_settings.h b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_bt_settings.h new file mode 100644 index 0000000000..99880ab036 --- /dev/null +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_bt_settings.h @@ -0,0 +1,38 @@ +/***************************************************************************//** +* File Name: cycfg_bt_settings.h +* +* Description: +* Bluetooth Configurator configuration. +* This file should not be modified. It was automatically generated by +* Bluetooth Configurator 2.60.0.1460 +* +******************************************************************************** +* Copyright 2023 Cypress Semiconductor Corporation (an Infineon company) or +* an affiliate of Cypress Semiconductor Corporation. +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*******************************************************************************/ + +#if !defined(CYCFG_BT_SETTINGS_H) +#define CYCFG_BT_SETTINGS_H + +#include "wiced_bt_cfg.h" +#include "wiced_bt_ble.h" +#include "wiced_bt_constants.h" + +extern const wiced_bt_cfg_settings_t wiced_bt_cfg_settings; + +#endif /* CYCFG_BT_SETTINGS_H */ + +/* [] END OF FILE */ diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gap.c b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gap.c new file mode 100644 index 0000000000..e2cb5d0f6e --- /dev/null +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gap.c @@ -0,0 +1,55 @@ +/***************************************************************************//** +* File Name: cycfg_gap.c +* +* Description: +* BLE device's GAP configuration. +* This file should not be modified. It was automatically generated by +* Bluetooth Configurator 2.60.0.1460 +* +******************************************************************************** +* Copyright 2023 Cypress Semiconductor Corporation (an Infineon company) or +* an affiliate of Cypress Semiconductor Corporation. +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*******************************************************************************/ + +#include "cycfg_gap.h" + +/* Device address */ +wiced_bt_device_address_t cy_bt_device_address = {0x00, 0xA0, 0x50, 0x00, 0x00, 0x00}; + +const uint8_t cy_bt_adv_packet_elem_0[1] = { 0x06 }; +const uint8_t cy_bt_adv_packet_elem_1[5] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F }; +const uint8_t cy_bt_adv_packet_elem_2[16] = { 0x38, 0x28, 0x2E, 0x5F, 0xA5, 0x1E, 0xC7, 0xA4, 0xC2, 0x46, 0x47, 0x74, 0xB6, 0xC7, 0x81, 0x2F }; +wiced_bt_ble_advert_elem_t cy_bt_adv_packet_data[] = +{ + /* Flags */ + { + .advert_type = BTM_BLE_ADVERT_TYPE_FLAG, + .len = 1, + .p_data = (uint8_t*)cy_bt_adv_packet_elem_0, + }, + /* Complete local name */ + { + .advert_type = BTM_BLE_ADVERT_TYPE_NAME_COMPLETE, + .len = 5, + .p_data = (uint8_t*)cy_bt_adv_packet_elem_1, + }, + /* Complete list of 128-bit UUIDs available */ + { + .advert_type = BTM_BLE_ADVERT_TYPE_128SRV_COMPLETE, + .len = 16, + .p_data = (uint8_t*)cy_bt_adv_packet_elem_2, + }, +}; diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gap.h b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gap.h new file mode 100644 index 0000000000..5a83b6b2da --- /dev/null +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gap.h @@ -0,0 +1,138 @@ +/***************************************************************************//** +* File Name: cycfg_gap.h +* +* Description: +* Definitions for GAP configuration. +* This file should not be modified. It was automatically generated by +* Bluetooth Configurator 2.60.0.1460 +* +******************************************************************************** +* Copyright 2023 Cypress Semiconductor Corporation (an Infineon company) or +* an affiliate of Cypress Semiconductor Corporation. +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*******************************************************************************/ + +#if !defined(CYCFG_GAP_H) +#define CYCFG_GAP_H + +#include "stdint.h" +#include "wiced_bt_ble.h" +#include "cycfg_gatt_db.h" + +/* Silicon generated 'Company assigned' part of device address */ +#define CY_BT_SILICON_DEVICE_ADDRESS_EN 0 + +/* Appearance */ +#define CY_BT_APPEARANCE 0 + +/* TX Power Level */ +#define CY_BT_TX_POWER 0 + +/* Interval of random address refreshing */ +#define CY_BT_RPA_TIMEOUT 900 + +/* Maximum attribute length */ +#define CY_BT_MAX_ATTR_LEN 512 +/* Maximum attribute MTU size */ +#define CY_BT_MTU_SIZE 23 + +/* RX PDU size */ +#define CY_BT_RX_PDU_SIZE 512 + +/* Maximum connections */ +#define CY_BT_SERVER_MAX_LINKS 1 +#define CY_BT_CLIENT_MAX_LINKS 0 + +/* LE Filter accept list size */ +#define CY_BT_FILTER_ACCEPT_LIST_SIZE 0 +/* This define is obsolete and kept for backward compatibility only. */ +#define CY_BT_WHITE_LIST_SIZE CY_BT_FILTER_ACCEPT_LIST_SIZE + +/* L2CAP configuration */ +#define CY_BT_L2CAP_MAX_LE_PSM 1 +#define CY_BT_L2CAP_MAX_LE_CHANNELS 1 +#define CY_BT_L2CAP_MAX_LE_FIXED_CHANNELS 0 +#define CY_BT_L2CAP_MAX_BR_ERTM_CHANNELS 0 +#define CY_BT_L2CAP_MAX_BR_ERTM_TX_WIN 0 +#define CY_BT_L2CAP_MTU_SIZE 512 + +/* Security level */ +#define CY_BT_SECURITY_LEVEL BTM_SEC_BEST_EFFORT + +/* Scan configuration */ +#define CY_BT_SCAN_MODE BTM_BLE_SCAN_MODE_PASSIVE + +#define CY_BT_HIGH_DUTY_SCAN_INTERVAL WICED_BT_CFG_DEFAULT_HIGH_DUTY_SCAN_INTERVAL +#define CY_BT_HIGH_DUTY_SCAN_WINDOW WICED_BT_CFG_DEFAULT_HIGH_DUTY_SCAN_WINDOW +#define CY_BT_HIGH_DUTY_SCAN_DURATION 5 + +#define CY_BT_LOW_DUTY_SCAN_INTERVAL WICED_BT_CFG_DEFAULT_LOW_DUTY_SCAN_INTERVAL +#define CY_BT_LOW_DUTY_SCAN_WINDOW WICED_BT_CFG_DEFAULT_LOW_DUTY_SCAN_WINDOW +#define CY_BT_LOW_DUTY_SCAN_DURATION 60 + +#define CY_BT_HIGH_DUTY_CONN_SCAN_INTERVAL WICED_BT_CFG_DEFAULT_HIGH_DUTY_CONN_SCAN_INTERVAL +#define CY_BT_HIGH_DUTY_CONN_SCAN_WINDOW WICED_BT_CFG_DEFAULT_HIGH_DUTY_CONN_SCAN_WINDOW +#define CY_BT_HIGH_DUTY_CONN_SCAN_DURATION 30 + +#define CY_BT_LOW_DUTY_CONN_SCAN_INTERVAL WICED_BT_CFG_DEFAULT_LOW_DUTY_CONN_SCAN_INTERVAL +#define CY_BT_LOW_DUTY_CONN_SCAN_WINDOW WICED_BT_CFG_DEFAULT_LOW_DUTY_CONN_SCAN_WINDOW +#define CY_BT_LOW_DUTY_CONN_SCAN_DURATION 30 + +/* Connection configuration */ +#define CY_BT_CONN_MIN_INTERVAL WICED_BT_CFG_DEFAULT_CONN_MIN_INTERVAL +#define CY_BT_CONN_MAX_INTERVAL WICED_BT_CFG_DEFAULT_CONN_MAX_INTERVAL +#define CY_BT_CONN_LATENCY WICED_BT_CFG_DEFAULT_CONN_LATENCY +#define CY_BT_CONN_SUPERVISION_TIMEOUT WICED_BT_CFG_DEFAULT_CONN_SUPERVISION_TIMEOUT + +/* Advertisement settings */ +#define CY_BT_CHANNEL_MAP (BTM_BLE_ADVERT_CHNL_37 | BTM_BLE_ADVERT_CHNL_38 | BTM_BLE_ADVERT_CHNL_39) + +#define CY_BT_HIGH_DUTY_ADV_MIN_INTERVAL 48 +#define CY_BT_HIGH_DUTY_ADV_MAX_INTERVAL 48 +#define CY_BT_HIGH_DUTY_ADV_DURATION 0 + +#define CY_BT_LOW_DUTY_ADV_MIN_INTERVAL 2048 +#define CY_BT_LOW_DUTY_ADV_MAX_INTERVAL 2048 +#define CY_BT_LOW_DUTY_ADV_DURATION 0 + +#define CY_BT_HIGH_DUTY_DIRECTED_ADV_MIN_INTERVAL 400 +#define CY_BT_HIGH_DUTY_DIRECTED_ADV_MAX_INTERVAL 800 + +#define CY_BT_LOW_DUTY_DIRECTED_ADV_MIN_INTERVAL 48 +#define CY_BT_LOW_DUTY_DIRECTED_ADV_MAX_INTERVAL 48 +#define CY_BT_LOW_DUTY_DIRECTED_ADV_DURATION 30 + +#define CY_BT_HIGH_DUTY_NONCONN_ADV_MIN_INTERVAL 160 +#define CY_BT_HIGH_DUTY_NONCONN_ADV_MAX_INTERVAL 160 +#define CY_BT_HIGH_DUTY_NONCONN_ADV_DURATION 30 + +#define CY_BT_LOW_DUTY_NONCONN_ADV_MIN_INTERVAL 2048 +#define CY_BT_LOW_DUTY_NONCONN_ADV_MAX_INTERVAL 2048 +#define CY_BT_LOW_DUTY_NONCONN_ADV_DURATION 30 + + +/* Advertisement and scan response packets defines */ +#define CY_BT_ADV_PACKET_ELEM_COUNT 3 +/* CY_BT_ADV_PACKET_DATA_SIZE is obsolete. Use CY_BT_ADV_PACKET_ELEM_COUNT instead */ +#define CY_BT_ADV_PACKET_DATA_SIZE CY_BT_ADV_PACKET_ELEM_COUNT + +/* cy_bt_device_name is obsolete. Use app_gap_device_name instead. */ +#define cy_bt_device_name app_gap_device_name + +/* External definitions */ +extern wiced_bt_device_address_t cy_bt_device_address; +extern wiced_bt_ble_advert_elem_t cy_bt_adv_packet_data[]; + +#endif /* CYCFG_GAP_H */ diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gatt_db.c b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gatt_db.c new file mode 100644 index 0000000000..a3810b9a84 --- /dev/null +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gatt_db.c @@ -0,0 +1,176 @@ +/****************************************************************************** +* File Name: cycfg_gatt_db.c +* +* Description: +* BLE device's GATT database and device configuration. +* This file should not be modified. It was automatically generated by +* Bluetooth Configurator 2.60.0.1460 +* +******************************************************************************* +* Copyright 2023 Cypress Semiconductor Corporation (an Infineon company) or +* an affiliate of Cypress Semiconductor Corporation. +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +******************************************************************************/ + +#include "cycfg_gatt_db.h" +#include "wiced_bt_uuid.h" +#include "wiced_bt_gatt.h" + +/****************************************************************************** +* GATT server definitions +******************************************************************************/ + +const uint8_t gatt_database[] = +{ + /* Primary Service: Generic Access */ + PRIMARY_SERVICE_UUID16 ( + HDLS_GAP, + __UUID_SERVICE_GENERIC_ACCESS), + /* Characteristic: Device Name */ + CHARACTERISTIC_UUID16 ( + HDLC_GAP_DEVICE_NAME, + HDLC_GAP_DEVICE_NAME_VALUE, + __UUID_CHARACTERISTIC_DEVICE_NAME, + GATTDB_CHAR_PROP_READ, + GATTDB_PERM_READABLE), + /* Characteristic: Appearance */ + CHARACTERISTIC_UUID16 ( + HDLC_GAP_APPEARANCE, + HDLC_GAP_APPEARANCE_VALUE, + __UUID_CHARACTERISTIC_APPEARANCE, + GATTDB_CHAR_PROP_READ, + GATTDB_PERM_READABLE), + + /* Primary Service: Generic Attribute */ + PRIMARY_SERVICE_UUID16 ( + HDLS_GATT, + __UUID_SERVICE_GENERIC_ATTRIBUTE), + /* Characteristic: Service Changed */ + CHARACTERISTIC_UUID16 ( + HDLC_GATT_SERVICE_CHANGED, + HDLC_GATT_SERVICE_CHANGED_VALUE, + __UUID_CHARACTERISTIC_SERVICE_CHANGED, + GATTDB_CHAR_PROP_INDICATE, + GATTDB_PERM_NONE), + /* Descriptor: Client Characteristic Configuration */ + CHAR_DESCRIPTOR_UUID16_WRITABLE ( + HDLD_GATT_SERVICE_CHANGED_CLIENT_CHAR_CONFIG, + __UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION, + GATTDB_PERM_READABLE | GATTDB_PERM_WRITE_REQ), + + /* Primary Service: Hello Sensor */ + PRIMARY_SERVICE_UUID128 ( + HDLS_HELLO_SENSOR, + __UUID_SERVICE_HELLO_SENSOR), + /* Characteristic: Notify */ + CHARACTERISTIC_UUID128 ( + HDLC_HELLO_SENSOR_NOTIFY, + HDLC_HELLO_SENSOR_NOTIFY_VALUE, + __UUID_CHARACTERISTIC_HELLO_SENSOR_NOTIFY, + GATTDB_CHAR_PROP_READ | GATTDB_CHAR_PROP_NOTIFY | GATTDB_CHAR_PROP_INDICATE, + GATTDB_PERM_READABLE | GATTDB_PERM_AUTH_READABLE), + /* Descriptor: Client Characteristic Configuration */ + CHAR_DESCRIPTOR_UUID16_WRITABLE ( + HDLD_HELLO_SENSOR_NOTIFY_CLIENT_CHAR_CONFIG, + __UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION, + GATTDB_PERM_READABLE | GATTDB_PERM_WRITE_REQ | GATTDB_PERM_AUTH_WRITABLE), + /* Characteristic: Blink */ + CHARACTERISTIC_UUID128_WRITABLE ( + HDLC_HELLO_SENSOR_BLINK, + HDLC_HELLO_SENSOR_BLINK_VALUE, + __UUID_CHARACTERISTIC_HELLO_SENSOR_BLINK, + GATTDB_CHAR_PROP_READ | GATTDB_CHAR_PROP_WRITE | GATTDB_CHAR_PROP_WRITE_NO_RESPONSE, + GATTDB_PERM_READABLE | GATTDB_PERM_WRITE_REQ | GATTDB_PERM_WRITE_CMD), +}; + +/* Length of the GATT database */ +const uint16_t gatt_database_len = sizeof(gatt_database); + +/****************************************************************************** +* GATT Initial Value Arrays +******************************************************************************/ + +uint8_t app_gap_device_name[] = {'H', 'e', 'l', 'l', 'o', '\0',}; +uint8_t app_gap_appearance[] = {0x00, 0x00,}; +uint8_t app_gatt_service_changed[] = {0x00, 0x00, 0x00, 0x00,}; +uint8_t app_gatt_service_changed_client_char_config[] = {0x00, 0x00,}; +uint8_t app_hello_sensor_notify[] = {'H', 'e', 'l', 'l', 'o', ' ', '0',}; +uint8_t app_hello_sensor_notify_client_char_config[] = {0x00, 0x00,}; +uint8_t app_hello_sensor_blink[] = {0x00,}; + +/****************************************************************************** +* GATT Lookup Table +******************************************************************************/ + +gatt_db_lookup_table_t app_gatt_db_ext_attr_tbl[] = +{ + { + HDLC_GAP_DEVICE_NAME_VALUE, /* attribute handle */ + 5, /* maxlen */ + 5, /* curlen */ + app_gap_device_name, /* attribute data */ + }, + { + HDLC_GAP_APPEARANCE_VALUE, /* attribute handle */ + 2, /* maxlen */ + 2, /* curlen */ + app_gap_appearance, /* attribute data */ + }, + { + HDLC_GATT_SERVICE_CHANGED_VALUE, /* attribute handle */ + 4, /* maxlen */ + 4, /* curlen */ + app_gatt_service_changed, /* attribute data */ + }, + { + HDLD_GATT_SERVICE_CHANGED_CLIENT_CHAR_CONFIG, /* attribute handle */ + 2, /* maxlen */ + 2, /* curlen */ + app_gatt_service_changed_client_char_config, /* attribute data */ + }, + { + HDLC_HELLO_SENSOR_NOTIFY_VALUE, /* attribute handle */ + 7, /* maxlen */ + 7, /* curlen */ + app_hello_sensor_notify, /* attribute data */ + }, + { + HDLD_HELLO_SENSOR_NOTIFY_CLIENT_CHAR_CONFIG, /* attribute handle */ + 2, /* maxlen */ + 2, /* curlen */ + app_hello_sensor_notify_client_char_config, /* attribute data */ + }, + { + HDLC_HELLO_SENSOR_BLINK_VALUE, /* attribute handle */ + 1, /* maxlen */ + 1, /* curlen */ + app_hello_sensor_blink, /* attribute data */ + }, +}; + +/* Number of Lookup Table entries */ +const uint16_t app_gatt_db_ext_attr_tbl_size = + (sizeof(app_gatt_db_ext_attr_tbl) / sizeof(gatt_db_lookup_table_t)); + +/* Number of GATT initial value arrays entries */ +const uint16_t app_gap_device_name_len = 5; +const uint16_t app_gap_appearance_len = (sizeof(app_gap_appearance)); +const uint16_t app_gatt_service_changed_len = (sizeof(app_gatt_service_changed)); +const uint16_t app_gatt_service_changed_client_char_config_len = + (sizeof(app_gatt_service_changed_client_char_config)); +const uint16_t app_hello_sensor_notify_len = (sizeof(app_hello_sensor_notify)); +const uint16_t app_hello_sensor_notify_client_char_config_len = + (sizeof(app_hello_sensor_notify_client_char_config)); +const uint16_t app_hello_sensor_blink_len = (sizeof(app_hello_sensor_blink)); diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gatt_db.h b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gatt_db.h new file mode 100644 index 0000000000..4ed1dd63d4 --- /dev/null +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/bluetooth/cycfg_gatt_db.h @@ -0,0 +1,101 @@ +/***************************************************************************//** +* File Name: cycfg_gatt_db.h +* +* Description: +* Definitions for constants used in the device's GATT database and function +* prototypes. +* This file should not be modified. It was automatically generated by +* Bluetooth Configurator 2.60.0.1460 +* +******************************************************************************** +* Copyright 2023 Cypress Semiconductor Corporation (an Infineon company) or +* an affiliate of Cypress Semiconductor Corporation. +* SPDX-License-Identifier: Apache-2.0 +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*******************************************************************************/ + +#if !defined(CYCFG_GATT_DB_H) +#define CYCFG_GATT_DB_H + +#include "stdint.h" + +#define __UUID_SERVICE_GENERIC_ACCESS 0x1800 +#define __UUID_CHARACTERISTIC_DEVICE_NAME 0x2A00 +#define __UUID_CHARACTERISTIC_APPEARANCE 0x2A01 +#define __UUID_SERVICE_GENERIC_ATTRIBUTE 0x1801 +#define __UUID_CHARACTERISTIC_SERVICE_CHANGED 0x2A05 +#define __UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION 0x2902 +#define __UUID_SERVICE_HELLO_SENSOR 0x38, 0x28, 0x2E, 0x5F, 0xA5, 0x1E, 0xC7, 0xA4, 0xC2, 0x46, 0x47, 0x74, 0xB6, 0xC7, 0x81, 0x2F +#define __UUID_CHARACTERISTIC_HELLO_SENSOR_NOTIFY 0xBD, 0xED, 0x5E, 0xC7, 0x28, 0x3A, 0x86, 0xAD, 0xAF, 0x44, 0x45, 0x9F, 0x3D, 0x62, 0xEA, 0x29 +#define __UUID_CHARACTERISTIC_HELLO_SENSOR_BLINK 0x8E, 0xB1, 0x5D, 0xFA, 0x97, 0x33, 0x5A, 0xA1, 0x61, 0x41, 0xA7, 0x13, 0x50, 0x36, 0xAD, 0xD2 + +/* Service Generic Access */ +#define HDLS_GAP 0x0001 +/* Characteristic Device Name */ +#define HDLC_GAP_DEVICE_NAME 0x0002 +#define HDLC_GAP_DEVICE_NAME_VALUE 0x0003 +/* Characteristic Appearance */ +#define HDLC_GAP_APPEARANCE 0x0004 +#define HDLC_GAP_APPEARANCE_VALUE 0x0005 + +/* Service Generic Attribute */ +#define HDLS_GATT 0x0006 +/* Characteristic Service Changed */ +#define HDLC_GATT_SERVICE_CHANGED 0x0007 +#define HDLC_GATT_SERVICE_CHANGED_VALUE 0x0008 +/* Descriptor Client Characteristic Configuration */ +#define HDLD_GATT_SERVICE_CHANGED_CLIENT_CHAR_CONFIG 0x0009 + +/* Service Hello Sensor */ +#define HDLS_HELLO_SENSOR 0x000A +/* Characteristic Notify */ +#define HDLC_HELLO_SENSOR_NOTIFY 0x000B +#define HDLC_HELLO_SENSOR_NOTIFY_VALUE 0x000C +/* Descriptor Client Characteristic Configuration */ +#define HDLD_HELLO_SENSOR_NOTIFY_CLIENT_CHAR_CONFIG 0x000D +/* Characteristic Blink */ +#define HDLC_HELLO_SENSOR_BLINK 0x000E +#define HDLC_HELLO_SENSOR_BLINK_VALUE 0x000F + + +/* External Lookup Table Entry */ +typedef struct +{ + uint16_t handle; + uint16_t max_len; + uint16_t cur_len; + uint8_t *p_data; +} gatt_db_lookup_table_t; + +/* External definitions */ +extern const uint8_t gatt_database[]; +extern const uint16_t gatt_database_len; +extern gatt_db_lookup_table_t app_gatt_db_ext_attr_tbl[]; +extern const uint16_t app_gatt_db_ext_attr_tbl_size; +extern uint8_t app_gap_device_name[]; +extern const uint16_t app_gap_device_name_len; +extern uint8_t app_gap_appearance[]; +extern const uint16_t app_gap_appearance_len; +extern uint8_t app_gatt_service_changed[]; +extern const uint16_t app_gatt_service_changed_len; +extern uint8_t app_gatt_service_changed_client_char_config[]; +extern const uint16_t app_gatt_service_changed_client_char_config_len; +extern uint8_t app_hello_sensor_notify[]; +extern const uint16_t app_hello_sensor_notify_len; +extern uint8_t app_hello_sensor_notify_client_char_config[]; +extern const uint16_t app_hello_sensor_notify_client_char_config_len; +extern uint8_t app_hello_sensor_blink[]; +extern const uint16_t app_hello_sensor_blink_len; + +#endif /* CYCFG_GATT_DB_H */ diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/config/GeneratedSource/cycfg_pins.h b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/config/GeneratedSource/cycfg_pins.h index 8d6a72f6d1..c42f1d7dcc 100644 --- a/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/config/GeneratedSource/cycfg_pins.h +++ b/bsp/Infineon/psoc6-evaluationkit-062S2/libs/TARGET_RTT-062S2/config/GeneratedSource/cycfg_pins.h @@ -58,15 +58,14 @@ extern "C" { #define CYBSP_J2_9 CYBSP_A4 #define CYBSP_A5 (P10_5) #define CYBSP_J2_11 CYBSP_A5 - #define CYBSP_QSPI_FRAM_SSEL (P11_0) - #define CYBSP_QSPI_SS (P11_2) - #define CYBSP_QSPI_FLASH_SSEL CYBSP_QSPI_SS - #define CYBSP_QSPI_D3 (P11_3) - #define CYBSP_QSPI_D2 (P11_4) - #define CYBSP_QSPI_D1 (P11_5) - #define CYBSP_QSPI_D0 (P11_6) - #define CYBSP_QSPI_SCK (P11_7) + #define CYBSP_BT_UART_RX (P11_0) + #define CYBSP_BT_UART_TX (P11_1) + #define CYBSP_BT_UART_RTS (P11_2) + #define CYBSP_BT_UART_CTS (P11_3) + #define CYBSP_BT_DEVICE_WAKE (P11_6) + #define CYBSP_BT_POWER (P11_7) #define CYBSP_WIFI_HOST_WAKE (P12_6) + #define CYBSP_BT_HOST_WAKE (P12_7) #define CYBSP_WIFI_SDIO_D0 (P2_0) #define CYBSP_WIFI_SDIO_D1 (P2_1) #define CYBSP_WIFI_SDIO_D2 (P2_2)