Smart Bluetooth Forum Discussions
Hello !
I'm testing wiced-sense with the iOS and Android applications provided by Broadcom and noticed that they have 90 degrees indication difference:
- With iOS application connect to the wiced-sense and position the compass to around 0 degree.
- With Android (just after iOS disconnect and see back the wiced-sense in advertsement mode) connect and you can see the compass showing around 90 degrees.
Also I tried to connect simultaneous both iOS and Android to the same wiced-sense but it seems that only one connection is allowed. Is this by design or more than one device should be able to connect to the same wiced-sense at the same time ?
Cheers !
Show LessHi all,
just bought my wiced sense 2. I've installed the android app suggested on the quick start guide.
WICED Sense - Android Apps on Google Play
It works, but the compass is not rotating all the angles as it should, it only has a limited azimuth range.
Also the RH reading is higher than the real one.
Please, anybody else saw these problems?
I'm not sure this android app was intended to work with wiced sense 2, but it was suggested on the quide.
Wiced sense 2 has a different eCompass device to wiced sense 1...
Thank you for reading and best regards,
Adrian Fabry
Show LessHi,
I would like use the API(strtof) on my code. But I got a error message(undefined reference to `strtof') after building my code.
I include the header file(stblib.h) in my code, but the error message is still there.Should I need to modify the makefile? Or strof didn't in the ROM?
Jack,
Show LessWe have have BCM20737 units that fail to boot on reset. The micro reads a small amount of data from EEPROM and does not continue to read out the entire application.
From analyzing the static sections(SS1 and SS2) of these units I observe the first byte of SS1 is set to 0x00 while the first byte of SS2 is set to 0xFF. In working units atleast one of the static section has the first byte set to 0x01. Could this prevent the micro from reading in the active partition from EEPROM? The units are running the 2.2.1 SDK.
Thanks for the help.
Show LessDescription:
we provide a BLE 20737s module to be as master on electric machine, like air-cleaner.
It also receive the sensor value broadcasting from other end-device(slave).
Our customer takes their air-cleaner to do the RF interference test(SGS RF);
it fails at 2.4G RF test but other frequencies are ok.
Coz BLE is operating on 2.4G band, if trying this 2.4G co-channel noise test, is it a correct test to test on 20737s
or we need to avoid this same band BLE4.0 test; i know 737s is low-energy power and it should have error packet
received in Rx path of master module. Is my idea right or if no, how to pass this test case or Cypress has
also that kind of test-report or not???
Please provide these reports
Hi there,
I am trying to add PUART functionality to the mybeacon.c example without any luck.
Hardware is a custom board equipped with a CYW20737S.
My steps are as follows:
- I started with the mybeacon-example as basic setup for my project. This compiles, downloads and works on my custom-hardware.
- After this, I added devlpm_registerForLowPowerQueries and returning the associated callback with 0 to prevent the device going into sleep mode. This also works as I can see from the power consumption.
- Next was to add UART functionality to the system. I implemented it the way describes in the Hardware-Interfaces-PDF provided with the SDK and adjusted the pins to my layout (RX = P2, TX = P32). Here the problems begin. I can´t receive and send anything using the UART, even if the device is awake.
Am I missing somethhing? Is there more initialization to be done besides the steps outlined in the Hardware-Interfaces-PDF?
My code is like this:
Show Less//*****************************************************************************
//
//*****************************************************************************
const BLE_PROFILE_PUART_CFG mybeacon_puart_cfg =
{
/*.baudrate =*/ 115200,
/*.txpin =*/ 32,
/*.rxpin =*/ 2,
};
//*****************************************************************************
//
//*****************************************************************************
void puart_rx_callback(void* unused)
{
//*****************************************************
// There can be at most 16 bytes in the HW FIFO.
//*****************************************************
char readbytes[16];
UINT8 number_of_bytes_read = 0;
//*****************************************************
// Empty the FIFO and ECHO received character
//*****************************************************
while(puart_rxFifoNotEmpty() && puart_read(&readbytes[number_of_bytes_read]))
{
puart_write(readbytes[number_of_bytes_read]);
number_of_bytes_read++;
}
//*****************************************************
// Clear the interrupt
//*****************************************************
P_UART_INT_CLEAR(P_UART_ISR_RX_AFF_MASK);
P_UART_INT_ENABLE |= P_UART_ISR_RX_AFF_MASK;
}
//*****************************************************************************
//
//*****************************************************************************
APPLICATION_INIT()
{
bleapp_set_cfg(NULL,
0,
NULL,
(void *)&mybeacon_puart_cfg,
NULL,
mybeacon_create);
}
//*****************************************************************************
//
//*****************************************************************************
UINT32 ask_for_sleep_cb(LowPowerModePollType type, UINT32 context)
{
return 0;
}
//*****************************************************************************
//
//*****************************************************************************
void mybeacon_create(void)
{
//*****************************************************
//
//*****************************************************
UINT16 interrupt_handler_mask[3] = {0, 0, 0};
gpio_init();
//*****************************************************
//
//*****************************************************
bleprofile_Init(bleprofile_p_cfg);
puart_config.baudrate = 115200;
puart_selectUartPads(SERIAL_RX_PIN, SERIAL_TX_PIN, 0, 0);
puart_init();
puart_flowOff();
puart_enableTx();
P_UART_INT_CLEAR(P_UART_ISR_RX_AFF_MASK);
P_UART_WATER_MARK_RX_LEVEL(1);
P_UART_INT_ENABLE |= P_UART_ISR_RX_AFF_MASK;// | P_UART_ISR_TX_FF_MASK;
puart_rxCb = puart_rx_callback;
puart_enableInterrupt();
puart_print("CYW: started\r\n");
//*****************************************************
//
//*****************************************************
BLE_APP_DISABLE_TRACING();
bleprofile_KillTimer();
//*****************************************************
//
//*****************************************************
devlpm_init();
devlpm_registerForLowPowerQueries(ask_for_sleep_cb, 0);
}
WICED Sense2 (BCM20737L) loaded WICED Sense 2 Firmware (https://community.cypress.com/docs/DOC-2757)
Why WICED Sense Android Source (v1.08) (https://community.cypress.com/docs/DOC-1756) reading @is error
Per the original dialog here: Prototype boards are failing with issue similar to one previously reported (con't)
We still have this issue and it's apparently SDK related.
SDK 2.2.3 on Windows caused very strange errors to occur. LEDs blinking erratically, resets, etc. We think there~s something wrong with the fine timer in this SDK version for Windows.
We finally went back to SDK 2.2.2 on Mac. Now the downloaded code works fine, but the initial problem of about 10% of the boards STOPPING ADVERTISEMENT is back.
How can we solve this problem? It's always the same boards that fail; it's not random. For example, if you have 70 boards and about 7 fail, then if you reset/restart all 70, the same 7 will fail again.
This is not a manufacturing issue, because we have used 4 different manufacturers, and different versions of the PCB layout (which follows your guidelines) and always get the same identical problem.
We need to solve this problem badly!!!!
Thanks,
Gil
Show LessHi everyone,
As the title says, I have a problem with OTA. Just for testing it, I took the sample app you can find here https://community.cypress.com/servlet/JiveServlet/download/9499-5157/OTA_Android_Sample_NoSecure.zip
The created firmware seems to be fine. I'm able to do the OTA upgrade on Windows with the WsOtaUpgrade.exe.
The app seems to run fine, too. It doesn't throw any exceptions. I have added a small feature: A FileChooserDialog, so I don't have to manually fill in the full path to the binary every time I try to upgrade a device.
As you can see in the attached image, the correct size of the binary is detected, but the upgrade process is stucked in this "state" (The ProgressBar does nothing). I also tried to get some informations from the debugging print of my smartphone, but I couldn't find anything (Also added as attachment).
Is there a known issue with this app? if yes: how can I fix it up? If no: Is there a working alternative and where can i find it?
Additional informations:
WICED SDK Version 2.2.3
Smartphone: Galaxy S4 Mini
Android Version: 4.4.2 (API 19)
SoC: BCM20736S
I hope someone has the know-how to help me.
Best regards,
Miime
Show Less