Studio Bluetooth Forum Discussions
Hello Cypress forums,
I am having an incredibly difficult time understanding the pairing and bonding process differences between iOS and android. I am using an iPhone 6S and a Galaxy S10 for development.
I would greatly appreciate it if someone could provide a second set of eyes and comb through my code to see if I am handling bluetooth management events correctly. The main issue I am having right now is getting the iPhone to pair more than once to the app we have written (I don't have access to the app)(it will pair once, after a fresh firmware upload to the device, but after that the app will not recognize the device again), but we can pair more than once using the Android equivalent of the app.
I fear that I am approaching the NVRAM storing of addresses and link keys incorrectly. I am also honestly not sure if it has anything / everything to do with the DCT either (does it?).
I believe my sticking point with this project is in the wiced_bt_dev_add_device_to_address_resolution_db function; I don't know if I am using the function correctly, as my result always returns 8113, which is not particularly revealing.
I have attached the .c, as well as some PuTTY output. The output shows these steps:
1. power up device
2. pair to android
3. unpair from android
4. pair to android
5. unpair from android
6. power down device
7. power up device
8. pair to iphone
9. unpair from iphone
10. Unable to pair with the iphone again
Thank you so much for looking. I am open to investigating any and all leads.
Michael
(Removed attached firmware for privacy reasons) Message was edited by: Michael Chin
Show LessHi all!
Is it possible to connect two devices (A2DP and SPP) simultaneously on the 20719? I need streaming audio data to a headset and send some values to an Android tablet via SPP. Thank you.
Show LessI have installed the latest WICED Studio version 6.4
With this I'm able to successfully program CYW920719Q40EVB-01 provided applications like audio gateway or audio watch examples.
Now, when I try to use client control application when audio watch example is programmed in the device, BR/EDR discovery start/stop buttons are enabled. But when I press start discovery button, nothing really happens and BR/EDR devices near by (which are in pairing mode) does not get discovered by device and client control application BR/EDR discovery drop down list is empty. So, I'm not really able to test AV Source (A2DP source) feature.
Here is the BTSpy Log:
20:53:02.159 Opened \\.\COM15 at speed: 3000000 flow on
20:53:04.143 Startup
20:53:04.143 Set discoverable:1, connectable:1
20:53:04.143 Set Pairable:1
20:53:07.639 Client Control app established communication with Bluetooth device.
20:53:07.639 Device Started
20:53:07.639 Startup
20:53:07.639 Set discoverable:1, connectable:1
20:53:07.639 Set Pairable:1
20:53:07.723 SENT [2] Command to HCI. Name: HCI_Write_Current_IAC_LAP (Hex Code: 0x0c3a Param Len: 4)
20:53:07.723 Num IAC : 1 (0x01)
20:53:07.723 LAP [1] : 9e-8b-33
20:53:07.723 Version Info:
20:53:07.723 Version 6.4, rev 0, build 61
20:53:07.723 Chip: 20719
20:53:07.723 Tabs supported by embedded application -
20:53:07.726 GATT
20:53:07.727 AV Source
20:53:07.728 AVRC CT (ANCS)
20:53:07.728 AVRC CT
20:53:07.728 AVRC CT (AMS)
20:53:07.730 AVRC TG
20:53:07.730 RCVD [2] Event from HCI. Name: HCI_Command_Complete (Hex Code: 0x0e Param Len: 4)
20:53:07.730 Num HCI Cmd Packets : 1 (0x01)
20:53:07.730 Cmd Code : 0x0c3a (HCI_Write_Current_IAC_LAP)
20:53:07.730 Status : Success (0x00)
20:53:07.730 SENT [2] Command to HCI. Name: HCI_Write_InquiryScan_Activity (Hex Code: 0x0c1e Param Len: 4)
20:53:07.730 Inquiry Scan Interval (625us units) : 2048 (0x0800)
20:53:07.730 Inquiry Scan Window (625us units) : 18 (0x0012)
20:53:07.730 RCVD [2] Event from HCI. Name: HCI_Command_Complete (Hex Code: 0x0e Param Len: 4)
20:53:07.730 Num HCI Cmd Packets : 1 (0x01)
20:53:07.730 Cmd Code : 0x0c1e (HCI_Write_InquiryScan_Activity)
20:53:07.730 Status : Success (0x00)
20:53:07.730 SENT [2] Command to HCI. Name: HCI_Write_Scan_Enable (Hex Code: 0x0c1a Param Len: 1)
20:53:07.730 Scan Enable : 1 (0x01)
20:53:07.730 RCVD [2] Event from HCI. Name: HCI_Command_Complete (Hex Code: 0x0e Param Len: 4)
20:53:07.730 Num HCI Cmd Packets : 1 (0x01)
20:53:07.730 Cmd Code : 0x0c1a (HCI_Write_Scan_Enable)
20:53:07.730 Status : Success (0x00)
20:53:07.730 SENT [2] Command to HCI. Name: HCI_Write_Scan_Enable (Hex Code: 0x0c1a Param Len: 1)
20:53:07.730 Scan Enable : 3 (0x03)
20:53:07.730 RCVD [2] Event from HCI. Name: HCI_Command_Complete (Hex Code: 0x0e Param Len: 4)
20:53:07.730 Num HCI Cmd Packets : 1 (0x01)
20:53:07.730 Cmd Code : 0x0c1a (HCI_Write_Scan_Enable)
20:53:07.730 Status : Success (0x00)
But if I flash audio gateway example application in the device, then I press BR/EDR discovery start button in client control application, it successfully discovers the near by BR/EDR devices (which are in pairing mode). But the audio gateway application does not support AV Source (A2DP source) feature which I want to test. Please help.
thanks,
-aniket
Show LessHello!
I have some troubles with UART. I'm trying to send message using wiced transport, but I don't recive expected message from another side.
I used different modes of operation for UART:
WICED_TRANSPORT_UART_HCI_MODE,
WICED_TRANSPORT_UART_RAW_MODE,
Code:
uint8_t data[] = "\x01\x00\x21\x02\x11\x01\xBD\x67";
wiced_result_t res = wiced_transport_send_data( 0, data, sizeof(data));
or (wiced_result_t res = wiced_transport_send_buffer( 0, data, sizeof(data));)
if (res != WICED_SUCCESS)
{
WICED_BT_TRACE ( "Cannot send message \n");
}
Expected result: 01 00 21 02 11 01 BD 67 00
Current result: 19 00 00 09 00 01 00 21 02 11 01 BD 67 00
How to avoid the appearance of a header '19 00 00 09 00' in a message received through UART?
What if I just want to send my bytes buffer without any additional automatically generated bytes?
Thank you!
Show LessPlatform: CYW920719Q40EVB-01
IDE: Wiced Studio 6.2.1
Please provide any example code that uses "aes_cbc_encrypt" and "aes_cbc_decrypt" functions from wiced stack libraries.
Or please guide us how can we use AES-128 encryption in our project.
Does 423028-02 (chip - 20719) support AES128?
Show LessI am having problems when programming the CYBT_413034_EVAL board from Wiced Studio 6.4.61
I've created a make target for the platform, using the spp example in the apps directory:
snip.bt.spp-CYBT_413034_EVAL download BT_DEVICE_ADDRESS=20200521FFEE
This target builds with no errors, but it often fails to connect with the target. I must perform a board recovery (hold recovery switch while pressing and releasing reset switch). This allows me to load new code once, then I have to repeat the process for another download.
I've tried with a number of different sample apps, always with the same loading result.
I do get debug info logged to a putty console, with the following output:
APP Start
app_management_callback 21
app_management_callback 0
hci_control_write_eir 2666e0
EIR :09 09 73 70 70 20 74 65 73 74 03 03 01 11 00
spp_rfcomm_start_server: rfcomm_create Port: 0x0002
app_management_callback 20
app_management_callback 20
app_timeout: 1
app_timeout: 2
app_timeout: 3
app_timeout: 4
app_timeout: 5
Show LessHello Cypress,
Referring to the GPIODriver section in the WICED Studio 5.0.1 API Reference Guide, is there a way to have a GPIO (set as an output) toggle it's current state?
I am looking to do something equivalent to something like this:
In Arduino: digitalWrite(11, !digitalRead(11));
In PIC X32: PORTCbits.RC13 = !PORTCbits.RC13;
In STM EFM 32: GPIO_PinOutToggle(MY_DATA_PORT, MY_DATA_PIN)
In NXP MCUXpresso: GPIO_PortToggle(BOARD_INITPINS_GPIO, 1u << BOARD_INITPINS_PIN);
If not, is there some macro I could use to set the pin to an input, read the state and save it to a variable, change the pin back to an output, and write the variable?
Thank you,
Michael
Show LessHi,
Could anyone please suggest how to implement provisioning and controlling individual dimmable mesh device through client without mobile BLE mesh provisioner.
Let me describe the project, I have an outdoor street lighting gateway, implemented with MCU, which connects with cloud server. Is there any interface through that i can connect the MCU with client which will provision and control individual mesh dimmable device, taking individual device address and other data from the server.
It will be great if i could get more implementation details for the above mentioned project.
Best regards,
Niresh
Show LessHi everyone
I think that you already have NCC certification
based on the following is the previous contact history:
https://community.cypress.com/thread/53602?et=watches.email.outcome
>We will get the NCC certificate in the coming 2 weeks, accordingly we will plan.(4/10)
https://community.cypress.com/thread/54145?q=NCC
Customer wants to get the information of the NCC certificate and report,
could you provide us with it?
And can the information of the NCC ID (CCXXxxYYxxyZzW) also be provided to us?
Thanks,
Yang
Show LessHi.
We are using CYW20713.
Until 2018, there was no problem with Bluetooth SIG certification.
However, at present. There is a problem with Bluetooth SIG certification.
This is CYW20713's Bluetooth SIG certified information.
QDID : 119366
TCRL Version : TCRL 2017-2
The TCRL Version of QDID 110366 is an old version, so there is a problem with Bluetooth SIG certification.
We need to be certified with TCRL Version 2019-2.
Does Cypress have a recertification plan for cyw20713?
Show Less