cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4

Anonymous
Not applicable

 Hi all,

   

Does anyone have an example project of something that would look like this?

   

UART -> PROC/PSOC BLE -> which connects to BLE slave device

   

The *Soc would need to perform a few GATT characteristic writes to specific handles and also recieve notifications?  Any help would be greatly appreciated.  I'm also looking at this project, but I feel like I am missing something to do exactly those things : http://www.cypress.com/?rID=110262&cache=0 

0 Likes
8 Replies
Anonymous
Not applicable
0 Likes
HeLi_263931
Honored Contributor II

The PSoC BLE can only handle one BLE connection at a time IIRC. So it cannot connect to two devices at once.

0 Likes
Anonymous
Not applicable

 Interesting, can the PROC connect to several BLE devices then instead?

0 Likes
Bob_Marlowe
Expert II

The PRoC BLE is like a reduced PSoC BLE where some of the internal analog components are left out. Since the BLE stack is pure software (despite the radio) it behaves similarly: One connection only.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

 Okay, so given that, if I have several (actually 12) peripherals which could be transmitting notifications in a star topology to the Cypress module - why could I not multiplex them?  Afterall, BLE and especially the notification aspect of it is connectionless....

   

If not, how can I make this happen? Or rather can I with these Cypress products?

0 Likes
Anonymous
Not applicable

 Hi,

   

 

   

If you want to implement a start topology you can refer the project https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day030_Tim...

   

 

   

.BTW your understanding is not correct "Afterall, BLE and especially the notification aspect of it is connectionless....". Notifications have to be send by server to client when connection is established.

   

 

   

Regardds,

   

Vikas

0 Likes
Anonymous
Not applicable

 That project was the one I had in my first post - but I highly disagree, besides the simplistic negotiation of capabilities - it is very similar to UDP.  

   


Once a connection is set(with UDP it is done at the application layer), the hosts have no real idea that a connection exists - in that regard, this is not like TCP which is connection-orientated.  Syslog is a prime example of this: there is a "connection" even with the UDP version and then data is sent.  The first connection was a "hello, I am here".

   

 

   

Now with the second project - they connect to a host every second, is it possible to make this an abhorently low value such as 2ms vs. 1second or even 7.5ms?

0 Likes
Anonymous
Not applicable

 Hi,

   

PSOC4 BLE or PROC ble cannot maintain more than one connection at a same time.

   

So that's why we are disconnecting the present connection and connecting to the other device in round robin manner.

   

THough in the example we are not trasnferring any data, BLE devices sends notifications only while mainting connection. You cannot send notification without connection.

   

 

   

Host would definitely know whether the device is in connection state or not.Use the API Cyble_GetState() to know the current state of device. 

   

 

   

We set the time as 1second .It is no where limitation or requirment.

   

 

   

For any BLE devices to connet it takes atleast 3.5-4ms  and this is the best case.  You cannot establish connection to new device within 1 seconds. You can try 7.5ms.

   

 

   

Regards,

   

Vikas,

0 Likes