-
Hello everyone. I'm building a project to learn how to use the "LinuxUartDriver" component. My idea is to deploy it to a raspberry pi and use that component to communicate with another raspberry or beagle through uart.
The line that points the error in "BufferManagerComponentImpl.cpp" is: Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
I think the issue is in the UART driver setup code. Can you post that? My guess is you have the "start thread" call for the UART driver in the "configComponents" phase instead of the "start components" phase. This means the thread there may run and request buffers before the "configComponents" phase gets into the buffer manager setup call. |
Beta Was this translation helpful? Give feedback.
-
This is what i got for the uart driver in instance.fpp:
In the file generated after building, "NCTSObcTopologyAc.cpp", "configComponents()" is properly set up i think:
But i believe that never is being called, but "startTasks()" it is, because i put a print in it and i can see it logged. |
Beta Was this translation helpful? Give feedback.
-
I create the deployment using "fprime-util new --deployment" and yes, in my case, i have I add
I fixed it by increasing the buffer size of the first bin from 300 to 3000 in And now the uart is working. Thanks a lot for you answers! |
Beta Was this translation helpful? Give feedback.
It is possible that this is being bypassed. How did you create the deployment
project:new --project
fprime-util new --deployment
(fprime-bootstrap tool or similar)RPI
out offprime
RPI
directly infprime
I am trying to figure out if you have a
Topology.cpp
file that is performing some setup. This happens in choice 1 above. If you copied or edited (2, 3)RPI
directly you'd likely not have aTopology.cpp
.The crux of the issue is that you are using phases (shown above) but may also be using manually configured code (Topology.cpp from
fprime-util new --deployment
). It is…new --project