Smart Bluetooth Forum Discussions
We know that BLE MTU is 23 bytes.
Now I want to transfer 100 bytes payload once time which mean that segmentation should be involved. Does WICED SMART 2.2 support segment automatically? Or I must slice the 100 bytes payload into small pieces.
Show LessI have a doubt regarding the data displaying of the wiced sense app in iphones.
while displaying the data in wiced sense app ,does the data displayed is stored anywhere in the phone
Show LessBluetooth 4.2 is available recently, does Broadcom have plan to support it? especially for Internet Protocol Support Profile (IPSP).
Best Regards,
Ren Kai
Show LessWe are using a 20736E chip instead of 20732S, as I know 20736E is pin to pin with 20732s, have he option of using external antenna, does it mean it stil has internal antenna inside the chip? Can we get its datasheet for checking?
Show LessI'm not able to keep advertisements going while a connection is up. Debug suggest that advertisements are being shut off by the stack. From my connection_up callback:
16:52:55 - connection_up: ac220b4088d0 h=64
16:52:55 - Tx buffer = 15
16:52:55 -
16:52:55 - blecm evt handler:
16:52:55 - 0e04010a200c
16:52:55 Connection is UP.
16:52:55 profile idle timer stop
16:52:55 connUp
16:52:55 noAdv
16:52:55 BLE_idleconn:timer(0)
This is after commenting out the line that explicitly stops advertisements. I also tried enabling via bleprofile_Discoverable in the same spot with no success. Debug showed BLE_low_un_adv:timer(0) but nothing was picked up on my scans. Ideas?
void my_connection_up(void)
{
isss_hs_connection_handle = (UINT16)emconinfo_getConnHandle();
UINT8 *bda = (UINT8 *)emconninfo_getPeerPubAddr();
// Save address of the connected device and print it out.
memcpy(isss_hs_remote_addr, bda, sizeof(isss_hs_remote_addr));
ble_trace3("connection_up: %08x%04x h=%d",
(isss_hs_remote_addr[5] << 24) + (isss_hs_remote_addr[4] << 16) +
(isss_hs_remote_addr[3] << 😎 + isss_hs_remote_addr[2],
(isss_hs_remote_addr[1] << 😎 + isss_hs_remote_addr[0],
isss_hs_connection_handle);
// Prepare generated code for connection - write persistent values from __HOSTINFO to GATT DB
__on_connection_up();
// ToDo: Write custom persistent values into GATT database using functions
// changed_<service_name>_<char_name>() generated by smart disigner
// If device supports a single connection, stop advertising
//bleprofile_Discoverable(NO_DISCOVERABLE, NULL);
//This didn't work.
//bleprofile_Discoverable(LOW_UNDIRECTED_DISCOVERABLE, NULL);
// If security is required for every connection following function will start bonding or
// will setup encryption. No indications or notifications should be sent until
// encryption is not done.
if (bleprofile_p_cfg->encr_required & SECURITY_REQUEST)
{
if (emconninfo_deviceBonded())
{
ble_trace0("device bonded");
}
else
{
ble_trace0("device not bonded");
lesmp_sendSecurityRequest();
}
}
}
2.1.1 SDK/BCM20736
Show LessThe PUART examples use:
// set watermark to 15 byte - will interrupt after 15bytes have been received.
P_UART_WATER_MARK_RX_LEVEL (1);
[Note: trying to paste code into this forum seems quite difficult. I kept getting tables inside a pre, and the editor doesn't seem to deal with them gracefully, and I really didn't want a table anyhow.]
The macro expands to writing a register at 0x003604ac. I can't find any documentation explaining what the legal values to pass to the macro (or write to this regster) are. Can someone please either explain the settings, or point me to documentation that does?
I want to get the Rx interrupt *much* earlier, rather than when there's only one byte of FIFO left. Since the SIPs apparently can't actually support flow control (based on other forum postings), the application I'm developing for a client is running with no flow control, and I'm having trouble with losing Rx data when the BLE stack is doing stuff, apparently with interrupts disabled for way more than one Rx character time.
Since the hardware FIFO is 16 bytes, and setting the watermark to a level of 16 bytes is done using a value of 1, I had hoped that maybe the value for an n-byte watermark was 16-n, but my experiments with that haven't been successful. Passing 12 to the macro resulted in not receiving any characters at all.
Is there any *real* documentation for the PUART, that I've somehow overlooked? The doxygen stuff is spectacularly unhelpful about any of the macros, and not much better about the functions. IMHO this seems like one of the worst-documented chips ever, but maybe the documentation is just hard to find.
Thanks!
Eric
Show LessI'd like to use internal 128kHz LPO to wake up BCM20737S from deep sleep mode.
I'll also use it as clock source of RTC.
So please tell me the accuracy of the LPO.
Show LessI can make the device go to sleep but I am not able to wake up using GPIO interrupt. Is there an example that uses "blecm_connectionEventNotifiationEnable" function to wake up from sleep.
Show LessSharing a good document for Spi Debugging Tutorial
BUS Pirate - Hardware overview - Training for SPI.pdf
Show Less