Smart Bluetooth Forum Discussions
Does anyone have the optimal parameters to setup advertising for 20736's to communicate to Androids?
Specifically looking for the following, although I setup the advertising via other methods, and don't usually use the profile to set these parameters:
/*.high_undirect_adv_interval =*/ 32, // slots for 20ms
/*.low_undirect_adv_interval =*/ 1400 // slots for 875ms
/*.high_undirect_adv_duration =*/ 6, // seconds
/*.low_undirect_adv_duration =*/ 18, // seconds
/*.high_direct_adv_interval =*/ 0, // seconds
I'd like to make sure we connect well, and also, save power consumption as much as possible.
Thanks!
Show LessHi,
Based on WICED Smart SDK 2.2.2, how long does it generally take to de-frag volatile section (0x1000 bytes) of sflash?
I repeated write<->delete to force de-frag. I confirmed that when de-frag happens, remaining valid data compacted to contiguous pages toward the start address of volatile section.
It seems that de-frag happens instantly but I appreciate if someone give me rough idea of how long it generally takes.
Show LessHi,
The sensor has serial communication interface. When the BCM20737S send a request signal, and the sensor will generate clk and data(similar to 3 wire SPI). I connect the GPIO of BCM20737S and sensor together.
BCM20737S P11 GPIO output <===> Sensor Req. pin
BCM20737S P12 GPIO iutput <===> Sensor data pin
BCM20737S P13 GPIO iutput <===> Sensor clk pin
The BCM20737S will send request signal to the sensor, and then the clk signal will trigger the interrupt. I receive the data in the interrupt call back. When I disabled the sleep function, and it work fine. But when I enabled the sleep function, and it have some trouble. I don't know how to fix it.
Here is my code in the hello_sensor create function. I enable GPIO interrupt and wake up source by GPIO.
******************************************************************************************************************************************
gpio_configurePin(11 / 16, 11 % 16, GPIO_OUTPUT_ENABLE, 1); //req.
gpio_configurePin(12 / 16, 12 % 16, GPIO_INPUT_ENABLE, GPIO_PIN_OUTPUT_LOW); //data
UINT16 masks[3] = {(1 << 13), 0 , 0}; //clock interrupt setting
gpio_configurePin(13 / 16, 13 % 16, GPIO_EN_INT_RISING_EDGE, GPIO_PIN_OUTPUT_LOW);
gpio_clearPinInterruptStatus(13 / 16, 13 % 16);
gpio_configurePin(14 / 16, 14 % 16, GPIO_OUTPUT_ENABLE, 1); //debug pin
devlpm_init(); //choose wake up source
devlpm_enableWakeFrom(DEV_LPM_WAKE_SOURCE_GPIO);
devlpm_registerForLowPowerQueries(uart_device_lpm_queriable, 0); //disable sleep function
******************************************************************************************************************************************
UINT32 uart_device_lpm_queriable(LowPowerModePollType type, UINT32 context){
return 0; //0 is mean disable sleep
}
******************************************************************************************************************************************
Here is my code in the interrupt call back. When the interrupt is trigger,it will change the output level in the pin14. I can use the logic analyzer or oscilloscope to check all interrupt is trigger.
******************************************************************************************************************************************
gpio_clearPinInterruptStatus(0,13);
if(gpio_getPinInput(0,13)){
test1 = ~test1;
gpio_configurePin(14 / 16, 14 % 16, GPIO_OUTPUT_ENABLE, test1);
}
******************************************************************************************************************************************
Here is the result when I disable the sleep function. All of interrupts are triggered.
But I enable the sleep function. Some interrupt didn't triggered. I assume the BCM20737S in the sleep mode, so it need time to wake up. I miss several interrupt because the BCM20737S need time to wake up. But it trigger 8 times after wake up, and it miss the interrupt again. How to solve the problem. I can't disable sleep function because our device will work with the battery. Thanks for any suggestions.
Jack
Show LessModule:20736
SDK Version: WICED-Smart-SDK-2.2.3
Test conditions:
The test device has discontinuous descriptor handle such as 1-6...20-30
Test results:
Only descriptor handle 1~6 can be got by bleprofile_sendFindInfoReq.
Questions:
Can bleprofile_sendFindInfoReq read the discontinuous descriptor handle?
Show LessI want to include a simple fixed point math header file. It has no additional includes and you only have to specify if the system has 128bit integer support. However, using certain functions causes the linker to throw the following error:
"undefined reference to '__aeabi_ldivmod'"
We can stop this error if we change any INT64 references in the file to INT32. Of course, if we do this many calculations overflow. I've attached the header file just in case. Is there a known solution to this issue?
Show LessHi,
it is possible to add or delete a BLE characteristic in run-time?
Armando
Hi,
I would like to use irtxdriver to send IR Codes on P4 but I can't figure out how this driver is supposed to be used. For instance I don't know how I should fill the IR_TX_CLOCK_SETTING struct.
Would it be possible to provide us with an exemple using this driver?
Same question for syncedpulse. I understood that we would use this driver to perform IR Code learning ?
Thanks for your help.
Show LessI received my new TAG4 last week, but so far I am unable to program it. I have done the following:
1. Upgraded to SDK 2.2.3
2. Set SW4 to VUSB and SW5 to VREG
3. Set all SW6, SW8 and SW9 DIP switches to OFF, except
a. SW6: 2 and 4 are ON
b. SW8: 1, 3 and 5 are ON
4. Left all the jumpers unconnected
5. Connected the USB cable and saw two ports appear in device manager:
- Silicon Labs Dual CP210x USB to UART Bridge: Enhanced COM Port (COM4)
- Silicon Labs Dual CP210x USB to UART Bridge: Standard COM Port (COM3)
6. Picked "watch-BCM920737TAG_Q32 download" on the list of targets and hit Build
Result: download fails - see output below. Unlike my TAG3, the TAG4 doesn't flash any LEDs when connected or when attempting to download the app.
Output:
17:56:36 **** Build of configuration Release for project WICED-Smart-SDK ****
"C:\\Users\\<username>\\Documents\\WICED\\WICED-Smart-SDK-2.2.3\\WICED-Smart-SDK\\make.exe" watch-BCM920737TAG_Q32 download
Compiling spar_setup.c
Compiling watch_db.c
Compiling watch.c
Compiling gatt_client.c
Compiling time_client.c
Compiling findme_client.c
Compiling ancs_client.c
Compiling sparinit.c
Compiling lib_installer.c
Linking target ELF
OK, made elf.
Call to watch_spar_crt_setup @ 002072f1
OK, made C:/Users/<username>/Documents/WICED/WICED-Smart-SDK-2.2.3/WICED-Smart-SDK/Wiced-Smart/spar/../../build/watch-BCM920737TAG_Q32-rom-ram-Wiced-release/A_20737A1-watch-rom-ram-spar.cgs. MD5 sum is:
7b8698bc2409ef1cc5304d8b82cf42a9 *../../build/watch-BCM920737TAG_Q32-rom-ram-Wiced-release/A_20737A1-watch-rom-ram-spar.cgs
--------------------------------------------------------------------------------
Patches start at 0x00204568 (RAM address)
Patches end at 0x00205988 (RAM address)
Application starts at 0x00205554 (RAM address)
Application ends at 0x002072EE (RAM address)
Patch size (including reused RAM) 5152 bytes
Patch size 4076 bytes
Application size 7578 bytes
------
Total RAM footprint 11654 bytes (11.4kiB)
--------------------------------------------------------------------------------
Converting CGS to HEX...
Conversion complete
Creating OTA images...
Conversion complete
OTA image footprint in NV is 13445 bytes
Detecting device...
Device found
Downloading application...
****Download failed - Press the reset button on the device and retry ****
17:56:45 Build Finished (took 8s.582ms)
Show LessWe are preparing to get FCC certification on our product with BCM20737S..
Seeing discussions here, 2 options for FCC certification is provided.
1. minimum filing
2. getting FCC certification at system level
According to 20732S regulatory certification, your regulatory team answered as below
Integration into hosts other than approved host under the LMA requires additional testing inside the hosts and a Class 2 permissive change.
Could you let us know what additional test is needed for the C2PC?
We already got our own FCC ID and your authorization letter, but we are confused how to handle the approval test next.
For example, conducted sample is requested from our coordinator but we understand there may be another approach than conducted test.
We appreciate very much if you elaborate elaborate and categorize each FCC test items to
1. test items that additional test is needed
2. test items that have to be submitted and provided by you
3. test items that is included in your authorization latter
Thank you for your great support.
Show LessHi,
How does this function 'lesmp_setSMPRole' being managed when I'm using 20737 as master and slave at the same time?
My application need to support encryption for both link to master (as slave role) and to slave (as mater role).
Shall it be called(used) in my application? I've identified that using 'lesmp_setSMPRole (LESMP_ROLE_INITIATOR)' would cause the 20737 failed to follow the pairing protocol (don't send 'pairing confirm') when being a slave role.
Show Less