Smart Bluetooth Forum Discussions
Hi,
Please may I ask how my Central application may be notified whenever a slave sends a ConnParamUpdateReq ?
Is there any callback I can use for my application to work with, or is there any way of overriding the underlying handler: lel2cap_sendConnParamUpdateReq or blecenhandleConnParamUpdateReq ?
Regards,
Rab
Start the BlueTool(ver0.1.55.1) application,save the UART option,then set the following options:
a、Select7.3:Host Controller & Baseband Commands from the command list, then double-click the
Reset command.After double-clicking the Reset command, the log window should indicate Success for the reset
status.
b、Select7.3:Host Controller & Baseband Commands from the command list, then double-click the
Write_Scan_Enable(Inquiry and Page Scan enabled) command,the log window should indicate Success.
c、Select7.6:Testing Commands,then double-click the Enable_Device_Under_Test_Mode command,
the log window should indicate Success.
Try to connect 20734,the log window event = 0x04(Connection Request), Link_Type = 0x01("ACL connection") ,a few seconds later,the log window event = 0x03(Connection Complete),Status = 0x10(Connection Accept Timeout Exceeded)..
What else step can I do to solve this problem?By the way,is there an instruction manual for testing CE?
I went through the steps in this post (WICED Smart Bluetooth Forums ) to change my BLE Mac address to a custom value on production programming. However I am trying to discover if there is a way I can read the flash memory across the UART programmer pins so I can check if it has already been programmed with an expected mac address, and if so, to use the same one. So far out of the Zipped tools in that post, it doesn't appear to have any resources to do that. I also wasn't able to find a way to read flash memory through the WICED ide. Any suggestions?
Show LessHi,
I see within the examples such as hello_client.c that a BLE_PROFILE_CFG struct is defined with all parameters, for example hello_client_cfg
const BLE_PROFILE_CFG hello_client_cfg =
{
/*.fine_timer_interval =*/ 1000, // ms
/*.default_adv =*/ HIGH_UNDIRECTED_DISCOVERABLE,
etc etc...
/*.encr_required =*/(SECURITY_ENABLED | SECURITY_REQUEST),};
During APPLICATION_INIT(), the hello_client_cfg is passed to bleapp_set_cfg()
// Application initialization
APPLICATION_INIT()
{
bleapp_set_cfg((UINT8 *)hello_client_gatt_database,
sizeof(hello_client_gatt_database),
(void *)&hello_client_cfg,
(void *)&hello_client_puart_cfg,
(void *)&hello_client_gpio_cfg,
hello_client_create);
}
However, the application code does not refer to this configuration. Instead, the application refers to the default configuration pointer, bleprofile_p_cfg. For example, within hello_client_connection_up() there is source code as follows:
// if we connected as a master configure slave to enable notifications
if (hello_client.dev_info[cm_index].role == MASTER)
{
if (bleprofile_p_cfg->encr_required == 0)
{
UINT16 u16 = 1;
bleprofile_sendWriteReq(HANDLE_HELLO_SENSOR_CLIENT_CONFIGURATION_DESCRIPTOR, (UINT8 *)&u16, 2);
}
else
{
// following call will start bonding if devices are not pairing, or will request
// encryption if bonding has been established before
lesmp_setPtr(&hello_client.smp_info[cm_index]);
lesmp_startPairing(NULL);
ble_trace0("starting security");
}
// count number of slave connections
hello_client.num_slaves++;
}
else
{
hello_client.handle_to_master = con_handle;
// the code below may cause problem with iOS 6 and 7, fixed in iOS8
if ((bleprofile_p_cfg->encr_required & SECURITY_REQUEST) != 0)
{
lesmp_sendSecurityRequest();
}
// ask master to set preferred connection parameters
lel2cap_sendConnParamUpdateReq(100, 116, 0, 500);
}
- In this example, how is the hello_client_cfg being used?
- Are the members of the underlying bleprofile_p_cfg struct copied into this application defined struct under-the-hood? i.e. does hello_client_cfg point to bleprofile_p_cfg after the call to bleapp_set_cfg()?
- Why is the hello_client_connection_up() is not making use of the hello_client_cfg config?
- When the custom config is passed into bleapp_set_cfg(), does the stack make use of it?
- I see there is a function named bleprofile_CFGRegister() which is defined within bleprofile.h - should the application make use of this function to register an application-specific BLE_PROFILE_CFG which will be used by both the application and the stack?
/**
* \brief Register Configuration
* \ingroup bleprofile
*
* \details Application can call this function to overwrite default configuration.
*
* \param p_cfg Pointer to the BLE_PROFILE_CFG configuration structure.
*
*/
void bleprofile_CFGRegister(BLE_PROFILE_CFG *p_cfg);
An explanation would be gratefully received!
Show LessHi all.
I'd like to know how DLPostResetDelay_ms parameter of 20736_EEPROM.btp affects the BCM20736S programming procedure.
Is it written in the EEPROM/Flash and affects the boot timings at any subsequent chip reset? Or is it only used by the external executable (ChipLoad.exe) in order to start communication with the chip?
I'm asking this because rising DLPostResetDelay_ms from 100 (the value it has in the 20736_EEPROM.btp provided by WICED) to 800 I managed to solve very frequent programming faults (unable to start at all programming procedure).
Thank you in advance.
Best regards,
Peppe
Show LessI'm trying to get the CYW20736S to go into regular sleep mode, but I'm not familiar with a way to verify this besides measuring current consumption. How can I do this via firmware? To be clear, I'm not talking about deep-sleep mode, just the regular sleep mode.
Show LessHi,
I am working with a Cyble 013025-00 WICED BLE module and I flashed EZ-serial (version 1.1.2, https://www.cypress.com/documentation/software-and-drivers/ez-serial-ez-ble-module-firmware-platform ) on the module. I was wondering if it is possible to send gattc_ API commands (as seen in https://www.cypress.com/file/285326/download ) to the module? I am using the text-to-binary conversion tool (python) with option -l wiced_ble and this returns 0x0203 (indicating that the command was not recognized) when I am trying to execute GGCP (gattc_get_parameters).
Any help would be greatly appreciated!
Kind regards,
Teun Koenders
Show LessHi,
I've encounter an issue while using Linux OS with Bluez trying to connect to peripheral device, model CYBT-413034-02, steps:
- Set Random (static) address to Cypress devices
- Attach using Bluez `btattach` the devices creating HCI device access.
- Connecting to device: "Failed to connect to: DEV_ID. Error code from connect: 113 message: No route to host"
Using different device than Cypress this works as intended.
Show Less- Is it needed to "Disable flow control" while btattach-ing (bluez) a UART BT device to a Linux Host?
- If yes, why?
This is specified in this tutorial, how to use the dongle:
Thanks.
Show LessHi,
Tryin to configure the LE Scan params for my CYBT-413034-02 device returns:
Status: Command Disallowed (0x0c)
Complete command is:
hcitool cmd 0x08 0x000B 0x01 0x04 0x00 0x04 0x00 0x01 0x00
Trace:
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7 #1 [hci0] 2.327627
Type: Active (0x01)
Interval: 2.500 msec (0x0004)
Window: 2.500 msec (0x0004)
Own address type: Random (0x01)
Filter policy: Accept all advertisement (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #2 [hci0] 2.331126
LE Set Scan Parameters (0x08|0x000b) ncmd 1
Status: Command Disallowed (0x0c)
@ RAW Close: hcitool {0x0003} [hci0] 2.331223
Thanks.
Show Less