Fifos in user space
| Newsgroups | gmane.science.robotics.orocos.user |
|---|---|
| Message-ID | <[email protected]> |
"...the user space process can have a main() function where it opens a fifo to
communicate with the kernel. To set up communication, I advise only to use fifos
between kernel space and user space, and use the STL queue<Your Type> for
communication between two tasks. For fifos, look at FifoRT[In/Out].hpp and
FifoUS[In/Out].hpp files..."
Can you explain us what do you mean when you say "use the STL queue<Your Type>"?
Is a class?
We have written two simple real-time tasks that communicate through a fifo
(using FifoRT[In/Out]..hpp): we have tried to compile a program in user
space (to communicate with a real-time task) using FifoUS[In/Out].hpp:
#include <FifoUSOut.hpp>
using namespace StoneHead;
int main() {
WriteInterface* out;
char* messaggio = "Fifo in User Space";
out = new FifoUSOut(5);
out->write(messaggio,strlen(messaggio)+1);
return 0;
}
The compilation exits because of the error:
"/tmp/cc0TxEnb.o: In function `StoneHead::WriteInterface::~WriteInterface(void)':
/usr/local/orocos/include/WriteInterface.hpp:64: undefined reference to
`inttostring(int)'
collect2: ld returned 1 exit status"
Are we using the class FifoUSOut in a wrong way? Or something else?
Regards
Piercarlo
Fabrizio