If you are lookimg for handling multiple BT streams simultaneously
that places constraints on total MIPs / DMA capacity available. A better
answer might come from filing a CASE -
To create a technical or issue case at Cypress -
“Create a Case”
You have to be registered on Cypress web site first.
Thanks for the response. I will create a ticket for this.
Memory failing me, forgot no DMA in PSOC 4. Makes
the situation even more difficult.
One active link per device is what is supported by Cypress BLE devices:
1. Can be a Central device that can only connect to one Peripheral at a time
2. Can be a Peripheral device that can only connect to one Central device
3. Can not be a Central + Peripheral simultaneously, but can be dynamically switched between these two modes on a time shared basis.
So the peripheral+ central option of the custom profile in pSoC creator does the time sharing process or it just configures the module to have the resources for both modes available and the designer need to come up with the timing and when to switch from one mode to another?
The latter - it just configures the module to have the resources for both modes available and the designer need to come up with the timing and when to switch from one mode to another
1 of 1 people found this helpful
Hi Milad, I'm trying to solve a problem similiar to yours. I thought one of the best solution was to configure a BLE device as a broadcaster that receive informations from a smartphone/tablet, and then send them to many observer BLE devices. Broadcaster and Observer roles are supported by Cypress BLE devices, but the problem is that maybe the Broadcaster is not able to maintain the connection with the smartphone/tablet at the same time. I' m trying to understand if it could be possible, but I really think not... This is where we spoke about this problem
When u setup a BLE device as brdcstr, the device doesnt care about where the msg is being sent to. so you cant really play the role of router as u're intending (if i got your intention correctly though!). However, you can setup the brdcstr device to send more information out by setting it up in such a away that it can provide more information upon a request by any observer/central device. What you should do is define the router-like deive as dual role, in which it can be for instance a peripheral of the tablet and then switch to brdcstr for a period of time and then back to peripheral to get more messages.You should need to note about the timing and how often you want to transmit informaton. Also keep in mind that the brdcstr never makes any connection and simply jus advertises some packets on specific channels that everyone can listen to.
Thank you Milad! I had already evaluated that kind of setup, but unfortunately I think it won' t be useful with my project. The fact is that I need a dynamic communication, and pairing/unpairing the broadcaster with smartphone every time I need to broadcast an information is not going to ensure that...
I've found a quite good configuration: smartphone sends data to a BLE client, wich via UART sends them to another BLE device that will play the part of the broadcaster.
Now the problem is that I'm not able to initialize the broadcaster device, because it's different from other GATT and GAP roles and there are no examples available about that... any idea?
Thank you so much for your help! I' ve programmed your project in my board and now with the tongle I can see the advertising packet and the scan response.
I would like to pass data with that packets and I was wondering if it could be possible to create my personalizable AD type to store and send my data, but I didn't found any way to do that... So I think I have to insert my data bytes inside the default ones (as I saw you did something similiar in the "Manifacturer Specific Data").
However, due to my inexperience, even analising the code carefully I didn' t understand what is the task of the UART block in the project, so can you please explain it to me? Probably it could be helpful for my project, and in any case I can learn something new.
thank you so much
In the project UART block is of no use.It is just used for debugging.you can forget about it.
if you want to update your advertising/scan response data you can use CyBle_GapUpdateAdvData() API.
Refer the API guide for more details like steps to follow before calling this API.