Integrating existing c++/arduino library into an fprime component. Iridium rockBLOCK 9603 satellite module. #1019
-
Hello all, I am currently attempting to create an f prime component to interface with the rockBLOCK 9603 Iridium sat-com module. I have been using the module successfully with this Arduino/c++ library My plan is to analyze the f prime GPS example component and follow the same pattern adding functions to send commands to the module, utilizing the functions from the Arduino library. Still not sure how to setup the topology / serial IO however. I come here to see if anyone has tried something similar or can give some insight into how to better approach this task. F prime seems like an amazing project/framework and I'm looking forward to learning and leveraging it as much as possible! Cheers *Platform is Linux with Ubuntu 20 for ground station/uplink and RPI OS(3 B+) for downlink. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 8 replies
-
If you can compile against the Arduino libraries on your platform, the way we've done it in the past it to wrap the API in a component where the port handlers call the API. Is this meant to act as a radio uplink/downlink to a ground station somewhere? |
Beta Was this translation helpful? Give feedback.
-
Just as an FYI, F Prime is very challenging to fit into an ATmega Arduino, even the 2560. I have done it, but it does require the use of the XMEM external SRAM hardware extension. Even then it can only support big parts like ATmega128 or ATmega2560, and only for very small deployments. If you are using an ARM based Arduino like a Teensy, it should be a bit easier to fit into the platform. |
Beta Was this translation helpful? Give feedback.
-
If you want to use it as a ground interface, you can write a component that will connect to the ground ports of the GroundInterface component. Your component would replace the SocketIpDriver used in the Ref demonstration. The additional step beyond that would be to write an adapter for the ground system to take packets off the ground radio and convert them back to the format the ground system ingests. Tagging @LeStarch to point to a tutorial on how to write the ground system adapter. |
Beta Was this translation helpful? Give feedback.
-
Yep, TCP or UDP driver should do the trick. Named pipes might also be a good option. |
Beta Was this translation helpful? Give feedback.
If you can compile against the Arduino libraries on your platform, the way we've done it in the past it to wrap the API in a component where the port handlers call the API. Is this meant to act as a radio uplink/downlink to a ground station somewhere?