Studio Bluetooth Forum Discussions
text.format{('custom.tabs.no.results')}
Hi,
If a host MCU works with CYBT 343026 module through WICED HCI API, is it possible to play a slave role to a PC through a Classic SPP connection, and concurrently connect several BLE peripheral sensors? How many peripheral sensors can it connect to?
Thanks
Show LessThe specified link says that "Google Fast Pair" it is supported only in chipset CYW20721B2:
https://developers.google.com/nearby/fast-pair/chipsets
I am trying to create implementation Fast Pair in CYW20719.
Are there any restrictions in the implementation of the Bluetooth stack of chip CYW20719, which will prevent the implementation "Fast Pair" in it?
Show LessWhen I call wiced_hal_puart_synchronous_write() with a large buffer like 300 bytes, it does not seem to write all the data. I have flow control enabled so it is not a flow problem. If I call wiced_hal_puart_write() one byte at a time in a loop with no delays, it does send all the data. Is there some limit to the size I can pass to wiced_hal_puart_synchronous_write()? There is no return value so I have no idea if it is successfully transmitted.
Show LessThere are plenty of errors that current version of WICED generates because of SuperMux Tools.
Attached are logs and generated code.
The only places I manually changed in the generated bsc01_pin_config.c file was @ button declarations:
.button_pressed_value = GPIO_PIN_OUTPUT_LOW, //was GPIO_PIN_OUTPUT_HIGH which doesnt make sense
because default state of pulled up input (.default_state = GPIO_PIN_OUTPUT_HIGH,) doesn’t make any sense with pressed value to be the same.
The I2C setting nothing touched from what was default proposed initially (WICED_I2C_2_*) and generated and still generates errors!
.....
../apps/w191/bsc01/bsc01_pin_config.c:15:35: error: 'WICED_I2C_2_SDA' undeclared here (not in a function); did you mean 'WICED_I2C_1_SDA'?
[PLATFORM_GPIO_3] = {WICED_P16, WICED_I2C_2_SDA},
^~~~~~~~~~~~~~~
WICED_I2C_1_SDA
../apps/w191/bsc01/bsc01_pin_config.c:16:35: error: 'WICED_I2C_2_SCL' undeclared here (not in a function); did you mean 'WICED_I2C_1_SCL'?
[PLATFORM_GPIO_4] = {WICED_P17, WICED_I2C_2_SCL},
^~~~~~~~~~~~~~~
WICED_I2C_1_SCL
../apps/w191/bsc01/bsc01_pin_config.c:30:42: error: 'GPIO_EN_INT_FALING_EDGE' undeclared here (not in a function); did you mean 'GPIO_EN_INT_FALLING_EDGE'?
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
^~~~~~~~~~~~~~~~~~~~~~~
GPIO_EN_INT_FALLING_EDGE
../apps/w191/bsc01/bsc01_pin_config.c:30:40: error: invalid operands to binary | (have 'int' and 'wiced_platform_gpio_t * {aka struct <anonymous> *}')
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
^
../apps/w191/bsc01/bsc01_pin_config.c:30:66: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
~~~~~~~~~~~~~~~~~~~~~ ^
../apps/w191/bsc01/bsc01_pin_config.c:31:6: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
~~~~~~~~~~~~~~~~~~~~~
| GPIO_PULL_UP),
^
../apps/w191/bsc01/bsc01_pin_config.c:30:17: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
^
../apps/w191/bsc01/bsc01_pin_config.c:30:17: note: (near initialization for 'platform_button[0].config')
../apps/w191/bsc01/bsc01_pin_config.c:30:17: error: initializer element is not constant
../apps/w191/bsc01/bsc01_pin_config.c:30:17: note: (near initialization for 'platform_button[0].config')
../apps/w191/bsc01/bsc01_pin_config.c:38:40: error: invalid operands to binary | (have 'int' and 'wiced_platform_gpio_t * {aka struct <anonymous> *}')
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
^
../apps/w191/bsc01/bsc01_pin_config.c:38:66: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
~~~~~~~~~~~~~~~~~~~~~ ^
../apps/w191/bsc01/bsc01_pin_config.c:39:6: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')
.config = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE
~~~~~~~~~~~~~~~~~~~~~
| GPIO_PULL_UP),
.....
Show LessHi
when using CYW20706EVK hello.sensor demo, how to enable passkey directly?
I have seen this page and Re: CYW20706 Pairing mode this sample code is already in, but how to enforce to enable it?
Thanks
Show LessWhat are the best suited Mesh example codes for CYBT-343026-01 module.
I tried Compiling (make) mesh_onoff_server.c for CYBT-343026-01, I got below error. It looks like I am messing with the flash size.
13:28:03 **** Build of configuration Release for project 20706-A2_Bluetooth ****
"C:\\WICED\\WICED-Studio-6.4\\20706-A2_Bluetooth\\make.exe" snip.mesh.mesh_onoff_server-CYBT_343026_EVAL download UART=COM53
Compiling platform.c
Compiling (Lib) mesh_app_provision_server.c
Compiling (Lib) mesh_application.c
Compiling (Lib) mesh_app_hci.c
Compiling (Lib) mesh_app_gatt.c
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_provision_server.c: In function 'wiced_bt_mesh_app_provision_server_configure':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_provision_server.c:107:5: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
memcpy(&provisioning_config, p_config, sizeof(wiced_bt_mesh_provision_capabilities_data_t));
^~~~~~
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_provision_server.c: In function 'mesh_app_provision_get_capabilities':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_provision_server.c:186:5: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
memset(&capabilities, 0, sizeof(capabilities));
^~~~~~
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_hci.c: In function 'mesh_app_hci_init':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_hci.c:121:5: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
memset(&app_timer, 0, sizeof(wiced_timer_t));
^~~~~~
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_hci.c: In function 'mesh_application_send_hci_event':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_hci.c:483:13: warning: implicit declaration of function 'memcpy'; did you mean 'remap'? [-Wimplicit-function-declaration]
memcpy(p_hci_event, p_data, data_len);
^~~~~~
remap
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_application.c: In function 'mesh_generate_random':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_application.c:353:9: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
memcpy(random, &r, l);
^~~~~~
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_application.c: In function 'wiced_bt_mesh_core_rtc_init':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_application.c:791:5: warning: implicit declaration of function 'rtc_init'; did you mean 'gpio_init'? [-Wimplicit-function-declaration]
rtc_init();
^~~~~~~~
gpio_init
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_gatt.c: In function 'mesh_app_gatt_init':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_gatt.c:418:5: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
memset(&mesh_gatt_cb, 0, sizeof(mesh_gatt_cb_t));
^~~~~~
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_gatt.c: In function 'read_handler_':
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_gatt.c:488:33: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
puAttribute->attr_len = strlen((char*)wiced_bt_cfg_settings.device_name);
^~~~~~
../../libraries/mesh_app_lib/../../../common/libraries/mesh_app_lib/mesh_app_gatt.c:521:9: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
memcpy(p_read_data->p_val, from, to_copy);
^~~~~~
Compiling (Lib) wiced_bt_cfg.c
Compiling (Lib) fw_upgrade.c
Compiling (Lib) ota_fw_upgrade.c
Compiling (Lib) ota_fw_upgrade_common.c
Compiling (Lib) ecc_pp.c
../../libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.c: In function 'wiced_ota_fw_upgrade_init':
../../libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.c:909:61: error: 'FLASH_SIZE' undeclared (first use in this function); did you mean 'OTP_SIZE'?
uint32_t fw_upgrade_flash_size = FLASH_SIZE;
^~~~~~~~~~
OTP_SIZE
../../libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.c:909:61: note: each undeclared identifier is reported only once for each function it appears in
../../libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.c:76:24: error: 'FLASH_SECTOR_SIZE' undeclared (first use in this function); did you mean 'DS_SECTOR_SIZE'?
#define DS_SECTOR_SIZE FLASH_SECTOR_SIZE
^
../../libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.c:921:85: note: in expansion of macro 'DS_SECTOR_SIZE'
fw_upgrade_flash_size = (FLASH_SIZE - (APPLICATION_SPECIFIC_FLASH_RESERVATION * DS_SECTOR_SIZE));
^~~~~~~~~~~~~~
make.exe[1]: *** [../../build/mesh_onoff_server-CYBT_343026_EVAL-rom-ram-Wiced-release/libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.o] Error 1
makefile:291: recipe for target '../../build/mesh_onoff_server-CYBT_343026_EVAL-rom-ram-Wiced-release/libraries/fw_upgrade_lib/../../../common/libraries/fw_upgrade_lib/ota_fw_upgrade.o' failed
make.exe[1]: *** Waiting for unfinished jobs....
Makefile:552: recipe for target 'snip.mesh.mesh_onoff_server-CYBT_343026_EVAL' failed
make: *** [snip.mesh.mesh_onoff_server-CYBT_343026_EVAL] Error 2
13:28:18 Build Finished (took 15s.369ms)
Any Suggestions?
Thanks,
Naveen
Show LessHi, I downloaded the EZ-Serial firmware via the following URL, but I could not find the source code download.
Can you provide me the source code?
https://www.cypress.com/documentation/software-and-drivers/ez-serial-ez-ble-module-firmware-platform
CYBT-343026-01 WICED EZ-Serial FW Image V1.1.14
Show LessHello,
I currently try to use WICED HCI command,
As i understand WICED HCI Command allow to use the EVAL Board Bluetooth by executing the HCI Stack on a CPU/MPU connected over HCI Uart to the board.
Using this protocol we could avoid to develop the embedded software targeting the bluetooth module.
By flashing the SPP firmware example (BT_SPP) I'm able to connect the WICED Client Control.
The button from the UI became available to be clicable but any of them work.
The start "BR/EDR Discovery" button never return.
Did I misunderstood something ?
Thanks
Show LessI have seen the schematics of CYBT-413034-EVAL which is present in the link https://www.cypress.com/documentation/development-kitsboards/cybt-413034-eval-ez-bt-module-arduino-evaluation-board
I have observed that R2 and R4 are mentioned as DNI. I searched and found on internet that it is "Do Not Install". I also noticed on the eval board that R2 and R4 are mounted.
You have mounted R2 and R4 in case they may be helpful to the user. Am I right.
Please answer.
Show LessHi,
If PIN_CODE is used by btsnd_hcic_write_simple_pairing_mode() API, there is SPP pairing failed issue with Samsung Galaxy Tab(Model : SM-P585N0). Surely, this issue is NOT shown with another phones but only SM-P585N0(Android 8.1). I am not sure if this issue is reproduced with Android 8.1 or the model only.
For link key exchange, BT Spec. describes as following figure. That is,
A. Master requests LMP_au_rand to Slave
B. Slave replys LMP_sres to Master and then Slave requests LMP_au_rand to Master
C. Master replys LMP_sres to Slave
However, when 20706 tries to pair to SM-P585N0, the sequence is different from BT Spec. As you can see attached air log, the sequence is shown likes as,
A. Master(SM-P585N0) requests LMP_au_rand to Slave(20706)
B. Slave also requests LMP_au_rand to Master
C. Master replys to Slave with "not_accepted" and reason code is "LMP Error Transaction Collision". As the results, pairing is failed.
For your information, I attached air log for pairing failure and test environment is as follows,
- SDK and application : WICED Studio SDK 6.4.0 and spp application
- Chipset : CYW20706
As I know, most phones allow key exchange regardless of the sequence but the model doesn't accept it. If so, could you help to resolve this issue?
Thanks,
Liam
Show Less