IMX linux

Joined
May 15, 2022
Messages
32
Reaction score
4
Age
16
Has anyone tried porting the Solo software (smartshots, sololink etc)
to a different linux distribution?
 
solo_link.png
Here it is.
I've tried in this morning to compile on my Manjaro machine (Arch based linux distro)
[sorin@T14s sololink]$ uname -a
Linux T14s 5.15.76-1-MANJARO #1 SMP PREEMPT Sat Oct 29 14:22:16 UTC 2022 x86_64 GNU/Linux
Ofcourse you will have to do some changes, it will not work as is on the github. Below are my changes:

Add the missing "#include <phtread>" in the code as is here or else the compiler will complain
[sorin@T14s sololink]$ git diff
diff --git a/sololink/flightcode/dataflash_logger/dataflash_logger.cpp b/sololink/flightcode/dataflash_logger/dataflash_logger.cpp
index 6c5ea62..09a75d4 100644
--- a/sololink/flightcode/dataflash_logger/dataflash_logger.cpp
+++ b/sololink/flightcode/dataflash_logger/dataflash_logger.cpp
@@ -5,6 +5,7 @@
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
+#include <pthread.h>

#include <sys/stat.h>
#include <sys/types.h>
Also install gstreamer v0.10 library (package), as I saw it's a dependency that was not present on my linux machine. It's an very old version.
[sorin@T14s log]$ pacman -Q|grep -i gstreamer
gstreamer 1.20.4-1
gstreamer0.10 0.10.36-20
To see that 'gstreamer' was installed correctly do this (compiler will use the 'gst.h' file) :
[sorin@T14s sololink]$ find /usr/|grep gst/gst.h$
/usr/include/gstreamer-1.0/gst/gst.h
/usr/include/gstreamer-0.10/gst/gst.h
... and surprise, it seems that I also have installed gstreamer-1.0. Until I didn't install v0.10 the build process didn't work.

To do the actual build it's simple (make sure you have the make and gcc packages installed).
In my case I had the following versions installed:
- make 4.3-3
- gcc 12.2.0-1

[sorin@T14s sololink]$ pwd
/home/sorin/personal/github/OpenSolo/sololink
[sorin@T14s sololink]$ make
make -C flightcode
make[1]: Entering directory '/home/sorin/personal/github/OpenSolo/sololink/flightcode'
make -C arp_table
make[2]: Entering directory '/home/sorin/personal/github/OpenSolo/sololink/flightcode/arp_table'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/sorin/personal/github/OpenSolo/sololink/flightcode/arp_table'
make -C dflog
...
Before running "sololink_config" you must change the hostname or else the tool cannot identify if it's running on controller or actual solo quadcopter.

Have fun ;)
 
Why has no one upgraded to a newer version of yocto and converted the scripts to python3
 

@ktechdev What are the benefits to do that ? Give me some good reasons.

I can give you reasons why I WOULDN'T do it:
- Spend free time to gain what ? (again you must have some benefits)
- Does the latest version of Yocto support the old hardware found in 3DR Solo & Controller ? If it does not, how much time would someone need to add support to that
- Porting the code from python 2 to python 3 isn't bullet proof... some new bugs can appear. I'm not willing to test new code on my only drone and crash it because of a simple and stupid bug :)
- Old proverb used by IT developers : Leave something alone; avoid attempting to correct, fix, or improve what is already sufficient

My opinion is that existing software for 3DR Solo is mature enough and the work of the guys to make it work with all Pixhawk cubes was the best thing to be done to have a wide support 👍
 
There are a lot of improvements that could be made with more drivers libraries etc
like opencv4
 
@ktechdev Are you wondering if the sololink software could be ported/upgrade and used on another device or on the Solo hardware? If it's the latter, it would probably require a bootloader (uboot?) upgrade, and almost certainly a kernel upgrade, which would be challenging. If that were done, I would probably port something like Armbian to it and make it more developer friendly. The way it's setup now, it's very good at self-healing, which is great for a commercial product, but not great for something that you're trying to experiment with.
 
and by self healing do you refer to its factory reset capability?

Yes. If I remember right, it detects boot failures and reinstalls from a "gold" partition. That, of course, is a good thing for the most part, but anything you changed on the main partition will be lost.
 

Members online

No members online now.

Forum statistics

Threads
13,093
Messages
147,741
Members
16,047
Latest member
pvt solo