Smart Bluetooth Forum Discussions
Hello everybody,
I have another problem with the development kit. I use an application that I already tested on a BCM920737S device, so I know that the PUART was working. But now on the demo board, that I bought for debugging, the PUart does only send data. I can receive the data on PC side via a terminal. But if I try to send data the chip will neither stop at the byteReceivehook nor during the application callback where I check the receive buffer state also.
Is the puart working both ways on the demo board?`
Thanx in advance
Show LessHi,
In system init we have a init code like below:
APPLICATION_INIT()
{
bleapp_set_cfg((UINT8 *)hello_sensor_gatt_database,
sizeof(hello_sensor_gatt_database),
(void *)&hello_sensor_cfg,
(void *)&hello_sensor_puart_cfg,
(void *)&hello_sensor_gpio_cfg,
hello_sensor_create);
}
Is there any side effect if we want to read/write NV item in APPLICATION_INIT() ?
Pseudo code like below:
APPLICATION_INIT()
{
UINT8 databyte;
databyte = bleprofile_ReadNVRAM(NVRAM_ID_HOST_LIST, sizeof(hello_sensor_hostinfo), (UINT8 *)&hello_sensor_hostinfo);
if (databyte == 0) {
//Write initial 0 to the NVs and use another data base
...............
databyte = bleprofile_WriteNVRAM(NVRAM_ID_HOST_LIST, sizeof(hello_sensor_hostinfo), (UINT8 *)&hello_sensor_hostinfo);
bleapp_set_cfg((UINT8 *)hello_sensor_gatt_database2,
sizeof(hello_sensor_gatt_database2),
(void *)&hello_sensor_cfg2,
(void *)&hello_sensor_puart_cfg,
(void *)&hello_sensor_gpio_cfg,
hello_sensor_create);
}
else {
bleapp_set_cfg((UINT8 *)hello_sensor_gatt_database,
sizeof(hello_sensor_gatt_database),
(void *)&hello_sensor_cfg,
(void *)&hello_sensor_puart_cfg,
(void *)&hello_sensor_gpio_cfg,
hello_sensor_create);
}
}
Please kindly give a suggestion, thanks.
Show LessHello,
I would like to know is there a function that can be called to start a timer, leave some part of the software run away and when it is finished print the value of the timer showing how long it too to execute some part of the software?
I am used to calling them timers from my experience with stm32. Could someone help me?
Thanks,
Luke.
Show LessHello,
Per this thread: FineTimer
What would happen if I set a timer up as 2ms to read a pressure sensor. Basically I would be reading the pressure sensor (i2c) every 2 ms for approximately 2 seconds every couple of minutes? Think this is possible?
I am trying to use the interrupt of the sensor but the timing seems to be out by up to 800us worse case between samples and it is very important that I have the correct time for each data sample.
Regards,
Luke.
Show LessHi all,
This is a very simple question.
We bought BCM20737S chip and soldered it on the board. We didn't program our application into this chip. After powering it up, we can detect BLE signal from this chip, so it means this chip has already been programmed by a default application. Now we have override the EEPROM with our own application, so can anybody tell me what is the default application in BCM20737S? Is it the "Proximity" application in WICED IDE?
I remember I have saw a post telling this somewhere but I really can't find it anymore.
Thanks
Jingdong
Show Less===
SDK: 2.2.1.
Tag: 920737.
app: OTA hello-sensor based app.
OTA firmware size ~ 20KB.
===
Problem:
We use NV to store sensor calibration data into NV area; however we find
after OTA, those calibrated data will be deleted and it seems OTA download
also program/erase this area.
Is any other data area as MAC for customer to program their specific data
without reset during OTA?
Hi, I am trying to use long characteristic (50byte) with variable length.
I can set value to the characteristic once, but it never change if I try to update to another value.
I defined below LEGATTDB_PERM_READABLE and LEGATTDB_PERM_VARIABLE_LENGTH set characteristic.
```
CHARACTERISTIC_UUID128 (
HANDLE_MY_CHARACTERISTIC,
HANDLE_MY_VALUE,
UUID_MY_CHARACTERISTIC,
LEGATTDB_CHAR_PROP_READ | LEGATTDB_CHAR_PROP_NOTIFY,
LEGATTDB_PERM_READABLE | LEGATTDB_PERM_AUTH_READABLE | LEGATTDB_PERM_VARIABLE_LENGTH,
50),
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
```
I set value as below.
```
BLEPROFILE_DB_PDU* my_characterestic = cfa_mm_Alloc(2 + data_len);
memcpy(my_characterestic->pdu, data, data_len);
my_characterestic->len = data_len;
bleprofile_WriteHandleData(HANDLE_MY_VALUE, my_characterestic, 2 + data_len);
cfa_mm_Free(my_characterestic);
```
reproducible procedure.
1. connect BCM20737S(peripheral) and iPhone(central)
2. set value with bleprofile_WriteHandleData.
data is {0x01, 0x02, 0x03, 0x04, 0x05, 0x06} and data_len is 6.
3. read value from iPhone. {0x01, 0x02, 0x03, 0x04, 0x05, 0x06} can be read correctly.
4. set another value like {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17} and data_len is 7.
5. read value from iPhone. {0x01, 0x02, 0x03, 0x04, 0x05, 0x06} remains even though another value has been set.
(if I set shorter byte array like {0x21,0x22,0x23,0x24,0x25} at step4, it can be set correctly..)
Can we use long characteristic with variable length?
Environment is as below.
```
Hardware : BCM20737S as BLE peripheral, and iPhone (iOS9.1) as BLE central
SDK : 2.2.0
```
Best Regards,
Hello,
I have been working with the BCM20737S to reading two pressure sensors running at 500hz.
I now have to use two 1000hz pressure sensors. From other topics this seems like it wont be possible and will start causing trouble with Bluetooth connection etc.
I am considering using a separate micro controller to read the pressure sensor, compile that data, get it in the right format, save it to memory etc.
Then when i want to send data, communicate the data to the BCM20737s and allow this to send the data only.
My question is how would you communicate between one MCU and the BCM20737s?
Also how fast can the BCM20737s stream data (how many Mbps).
Thanks,
Luke
Show LessHelp with the above question