Smart Bluetooth Forum Discussions
We reported an issue to Apple RADAR #21201768 and your CPS CASE#917040 on iOS notification process with your "Location and navigation" app. It looks like the issue is on the ATT handles. Here is message from Apple developer:
Apple Developer Relations25-Aug-2015 12:13 PM
The problem is not with the handles being over 255, but with the layout of the GATT database. As of now the iOS stack works best if the ATT handles are "packed", i.e. there is no gap / empty attributes in a service. In this problem the CCCD is separated from the characteristic by 10 handles. If you were to place the CCCD right after the characteristic, things will probably start working. This is a problem on our side. In the meantime this can be definitely worked around by packing the ATT handles in your services. We are continuing to work on this issue, and will follow up with you again.
Like to see if Smart Designer can do "packed" ATT handles as Apple suggest.
Show LessHi BCM,
We want to set BCM20736 PWM0 output range: 1% to 100%.
It's ok for PWM0 work between 1% to 99%
To set PWM0 output high, I reset the PWM0, and then configurate the PWM0 to GPIO and finally output 1. The PWM0 would output high only when reset it during it's high duty, or it would output low no matter I call gpio_configurePin() to output 1.
I checked Community, and find out the same issue as below, but without reply.
Can't get 100% duty cycle from PWM
How to properly disengage PWM ?
Is this a bug of BCM20736 ?
tks
Show LessHi,
I am trying to get the default SPI master/slave examples to run on my tag boards.Using the examples in Wicked Smart SDK 2.2.1.
I am getting errors when trying to send data via bluetooth from master to slave and vice versa.Attached are files and screenshots for the same.
The connections I make are as follows
Master - (Use P2 for CS, P24 for CLK, P4 for MOSI, P25 for MISO, and P14 for FCO)
Slave - (Use P2 for CS, P3 for CLK, P0 for MOSI, P1 for MISO, and P14 for FCO)
I have also tried enabling the loop back mode but still the data transfer is not successful.The red led's kick off on both master/slave after a unsuccessful transmission I guess.On the master side,I get "Bad Received Length" error message in the trace.
Any pointers?
Thanks
Show LessHi,
I have been wondering how I could best generate a checksum for the output files like xyz.elf in the WICED-Smart-SDK build process.
I would like to know some general approach, i.e. whether to change the Makefile or modify anything in Eclipse. Also if the Makefile is involved
some specifics on what to change, since the whole structure seems complicated to me.
I hope you can help,
Regards,
Kilian
Show LessI need help from the AE team. It appears the IDE will not install with the new version of the JRE
This is documented on the Installanywhere website.
This is their explanation on their website. I have highlighted the key points in red.
The root cause is the File version notation of java executable (java.exe) from Java 8 Update 60 has changed. For instance, the File version of java.exe for earlier versions of java 8 such as Java 8 Update 45 is the following: 8.0.45.15
Similarly, the File version of java.exe for Java 8 Update 51 is the following: 8.0.51.16
This has changed starting from Java 8 Update 60. The File version of java.exe for Java 8 Update 60 is the following: 8.0.600.27
Notice the third number is a 3 digit number (600) in case of Java 8 Update 60 whereas the same is a 2 digit number for earlier Java 8 updates.
The InstallAnywhere launcher code uses the java file version in order to determine and pick up a valid JVM path for the installer to use. The above change in the java file version is causing the launcher to fail and not use the valid JVM path.
If there is a work around it would be nice to have an instruction sheet. I doubt I am the only one with this problem.
I am using win10 if that matters.
Show LessI have had trouble installing the Broadcom IDE and there are two threads on that topic. I am patiently waiting for the ability to install under windows 10.
I have recently installed quite a number of different IDE's from various companies since I am actively evaluating BLE solutions. All were pretty easy to install.
In the case of several of them. they install the JRE and other files and versions they need, in the bin area for their IDE.
This has the following advantages:
1. No need to ask the user to worry about the 32 bit versions required.
2. Pre-release testing can be accomplished with a specific JRE version.
3. No need to worry about environmental variables.
4. Less support cost to help users install.
5. More people evaluating Broadcom silicon.
Thanks to all of you for your help.
Show LessI have see the definition of BLE_ADV_FIELD in bleprofile.h as following:
typedef PACKED struct
{
UINT8 len; //length of field
UINT8 val; //value of field
UINT8 data[ADV_LEN_MAX-2]; // This is the data and the biggest one is 31-2 = 29
} BLE_ADV_FIELD;
During we define customer information in advertisement packet, whatever how many BLE_ADV_FIELD we defined, the length of all fields should be less than 31 bytes? For example, if I define BLE_ADV_FIELD adv[2], so the data length sum of adv[0].data and adv[1].data should be no more than 27 bytes exclude four bytes for len and val field, is that right??
Show LessHi everybody,
just out of curiosity:
Are there already some products you can buy that use the BCM20736S SiP-module?
As a sidenote I'd like to compare our prototype with a working example.
Best regards
Hannes Baumgart
Show LessHi
I tried to make my custom board enter Deep Sleep and wake up by GPIO interruption repetitiously.
However, from 2nd Deep Sleep, ADV doesn't work correctly.
When I make my board enter Deep Sleep mode, must any interruption be prohibited?
Only 1 set works correctly but from 2nd Deep sleep, they doesn't work correctly.
I implemented by reading these thread:
How can I make bcm20732s sleep and wake it up by GPIO interrupt?
Re: How can I wake BCM20737S up by using GPIO interrupt?
Source Code: deep sleep enablement and the associated clock source handling...
If there are someone who can repeat them, please show me a part of your source code which is related to Deep sleep and wake up.
Here is my source code (Deep Sleep and Wake Up work correctly only once):
In create():
// ToDo: Do your initialization on app startup
//initialize MCP9808 temperature sensor connected to the I2C bus
devlpm_init();
devlpm_enableWakeFrom(DEV_LPM_WAKE_SOURCE_GPIO);
gpio_configurePin(GPIO_INT_PIN/16, GPIO_INT_PIN%16,
GPIO_EN_INT_RISING_EDGE | GPIO_PULL_DOWN | GPIO_INPUT_ENABLE, GPIO_PIN_OUTPUT_LOW);
void app_interrupt_handler(void* parameter, UINT8 arg)
{
ble_trace0("Wake up!\n");
bleprofile_Discoverable(HIGH_UNDIRECTED_DISCOVERABLE, NULL);
gpio_clearPinInterruptStatus(GPIO_DS_INT_PIN/16, GPIO_DS_INT_PIN%16);
}
void enteringHidOff(void) {
UINT16 interrupt_handler_mask[3] = {0, (1 << GPIO_DS_INT_PIN%16), 0};
ble_trace0("Entering DeepSleep - AdvStopped \n");
// Puts device into DeepSleep ~1.33uA/
if(devlpm_registeredObjectsApproveHidOff()) {
ble_trace0("all objects are idle.\n");
}
devlpm_init();
devlpm_enableWakeFrom(DEV_LPM_WAKE_SOURCE_GPIO);
// Now register the interrupt handler.
gpio_registerForInterrupt(interrupt_handler_mask, info_float_gpio_interrupt_handler, NULL);
devLpmConfig.disconnectedLowPowerMode = DEV_LPM_DISC_LOW_POWER_MODES_HID_OFF;
// Now configure the pin. We will use both edges so that we know when the upper and lower
// thresholds are crossed.
// port0 which has P0-P15, port1 which has P16-P31 and port2 which has P32-P39
gpio_configurePin(GPIO_DS_INT_PIN/16, GPIO_DS_INT_PIN%16,
GPIO_EN_INT_RISING_EDGE | GPIO_PULL_DOWN | GPIO_INPUT_ENABLE, GPIO_PIN_OUTPUT_LOW);
gpio_setPinOutput(GPIO_PIN_CHARGE/16, GPIO_PIN_CHARGE%16, 0);
devlpm_enterLowPowerMode();
}
I'm sorry to bother you due to my poor English skill.
Best regards
Show Less