Take a look at page 17 of the new HW Interfaces Application Note thats here on the WICED SMART site: http://www.broadcom.com/products/wiced/smart/downloads.php
It says that code sample is an example of the low-level API for UART. Is there an example of the high-level API? What is the difference?
It would be useful to see a documented Application running on the BCM920732 that provides an AT-command "like" structure to a host MCU. Does this type of application exist, and if so, is this the "high-level API" that is referred to in the App note?
This is required for an application that is replacing a tradition BT module with stack.
Unfortunately we do not have a sample application available which allows a host to use a simple AT type command structure to talk to the module over a serial port. I know that one of our WICED Wi-Fi partners Inventek offers this feature on their WICED Wi-Fi module (ISM43362-M3G-L44-E?), but I am not aware of anything similar for Bluetooth.
What we do provide is some sample code in the WICED Smart Hardware Interfaces Guide (http://community.broadcom.com/docs/DOC-1023) which shows how to initialize the peripheral UART using the low-level driver API. Alot of customers find this code useful when communicating with an external processor over the peripheral UART.
1 of 1 people found this helpful
So I tried using the sample code in the PDF MichaelF_56 was talking about. It didn't compile as is; I had to add some interesting #defines and #includes (which break platform interoperability), but I got it to work!
Here's the code if you're interested:
Thank you for this example, I downloaded it and gave it a try.
Unfortunately it doesn't seem to work very well for me. Right now I connected the peripheral UART to my PC (serial-usb). When I send a character it doesn't always seem to receive it.
ie. I don't always see "onUARTReceive" message
Was there anything that you changed in the support files?
For anyone who is working with the PUART and in particular trying to Rx data with the PUART you will need to ensure that the following functions shown below are added into your PUART_Init() function. You will also see these functions in the 'uart_firmware_upgrade' example. The reason these are needed is otherwise the Device will put the PUART to sleep. These functions disable the device from putting the PUART to sleep.
Put these inside of your PUART_Init() function
// Since we are not using any flow control, disable sleep when download starts.
// If HW flow control is configured or app uses its own flow control mechanism,
// this is not required.
Callback function that is registered from function shown above: devlpm_register...()
// Callback called by the FW when ready to sleep/deep-sleep. Disable both by returning 0
// when there is an active download ongoing.
UINT32 Puart_device_lpm_queriable(LowPowerModePollType type, UINT32 context)
// Disable sleep.
Ok, I worked with Frank and the Broadcom team to get this working. It was due to the device going to sleep, as Frank mentioned in the other comment.
I've updated the code to disable sleep mode - now everything works correctly!
I am trying to replicate this example on BCM92073X_LE_KIT.
On the trace debugger I see the code times out and restarts. I traced it down to application_send_bytes(msg, len); line in the code.
Any idea why this is happening?
I also don’t understand how can the software send data to a peer over UART if connection is not established yet?
Can anyone please shed a light on this?
When I click the Peripheral UART sample code is missing a #define statement link it brings me to a restricted area.
Access to this place or content is restricted. If you think this is a mistake, please contact your administrator or the person who directed you here.
Is there a way to get an access to this area?