Cy_IPC_Pipe_SendMessage message size

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
johnspeth
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

How does the Pipes IPC library know the size of a message sent through a pipe?

The CE223820_IPC_Pipes01 sample project gives a nice example of usage but the notion of message size if absent. Is the message size fixed at 256 payload bytes as the example presents? If not, how is message size configured?

Thanks - JJS

0 Likes
1 Solution

John,

Your answer is correct. The size of the payload doesn't matter. You only pass a pointer to the memory where the payload is located.

Using the IPC  Pipe driver, you can register callbacks that tells when a message is received and released, so you know when each Core can access the payload data.

View solution in original post

0 Likes
2 Replies
johnspeth
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

I think I found the answer in the Architecture TRM for my chip (CYBLE-416045). See Figure 6-5. The IPC DATA register holds a value (can be a pointer to a memory block), which the programmer designates as a shared and protected resource for IPC matters. By convention, clients of that resource agree to not access the resource as long as it's locked. The short answer is: It doesn't matter to the Pipes IPC library. The size is decided by the pipe users.

0 Likes

John,

Your answer is correct. The size of the payload doesn't matter. You only pass a pointer to the memory where the payload is located.

Using the IPC  Pipe driver, you can register callbacks that tells when a message is received and released, so you know when each Core can access the payload data.

0 Likes