Blocks and GUIs share memory using the built xenomai shm api service, and mutex it with the built-in mutex. Both programs must bind to the same instances. For this, they use a unique identifier I've comed up with - "PROJECT_NAME/BLOCK_NAME", i.e. the so-called block instance. This allows for multiple blocks in the same project to be uniquely identified, and allows multiple projects to execute at the same time. Xenomai Lab doesn't support multiple projects as of yet, but the infrastructure is designed to support it.
If I recall correctly, Xenomai imposes a limit on the length of this identifier. Something like 35 chars. So project name + block name have to be LIMIT-1 chars at best. Since the longest block name is signal_generator, the project can be LIMIT-1-16=18. If someone programs a block with a longer name, the project limit is even lower.
This string limit is not documented in the Xenomai API. I recall having to dig through the code to bing a char buf[] type of construct whose size was #defined. I think I have this limit written down in my A3 paper notes.
Blocks and GUIs share memory using the built xenomai shm api service, and mutex it with the built-in mutex. Both programs must bind to the same instances. For this, they use a unique identifier I've comed up with - "PROJECT_NAME/BLOCK_NAME", i.e. the so-called block instance. This allows for multiple blocks in the same project to be uniquely identified, and allows multiple projects to execute at the same time. Xenomai Lab doesn't support multiple projects as of yet, but the infrastructure is designed to support it.
If I recall correctly, Xenomai imposes a limit on the length of this identifier. Something like 35 chars. So project name + block name have to be LIMIT-1 chars at best. Since the longest block name is signal_generator, the project can be LIMIT-1-16=18. If someone programs a block with a longer name, the project limit is even lower.
This string limit is not documented in the Xenomai API. I recall having to dig through the code to bing a char buf[] type of construct whose size was #defined. I think I have this limit written down in my A3 paper notes.