I’m finally getting everything put together to get my frame and machine built and I’m finally getting to the electronics part of the build. I bought a raspberry pi, touch screen and case for my machine because I really liked the idea of having a touchscreen controller. After a few days of testing and troubleshooting I’m really struggling to figure out what the issue is. I have only just started working on all of this so all software/firmware on both the Pi and arduino are fresh from either today or monday.
I first tried on a 3B+ and though I did get everything installed and running following the instructions on the Maslow site, Ground Control would have several buttons/images disappear or not show while I was trying to set up the machine sizes and measure out the chains. It also would freeze every so often as I was trying to navigate through the settings panes. So I figured it must be the 3B+ that wasn’t fully supported yet. I went ahead and got a RPi 3B and installed the latest KivyPi image and installed Ground Control onto it. Though the display of the UI is more stable (I haven’t encountered any missing buttons, etc.) it crashes and locks up just as often if not more. I can’t get through more than 5-10 button clicks in the settings without a crash. The real issue is that there is no way to exit or close the program because it’s a full screen app and doesn’t respond to any of the usual keyboard shortcuts to close. I have to hard power off the Pi if it locks up and doesn’t actually crash fully and close.
Is this the usual experience with Ground Control on RPi?? Is it just not usable at this point? I have a windows netbook that I was thinking of using as a last resort. Should I just abandon this attempt at a touchscreen controller? Wondering how much more I should bang my head against the wall lol Thanks for the help!!
I know @bee has experience with GC on an RPi, so its doable.
Dump the default install and use the Ubuntu Mate image for the 3B+. Then treat it like a linux install. You can get it to work with the default RPI image but you have to do backflips to get there.
Hmmm. In my troubleshooting, I read that ubuntu mate had different drivers and would run Kivy better, so I did try that, and I couldn’t even get it to boot. downloaded the RPi mate image yesterday and flashed it to the card like always and all I got was the rainbow screen and lightning icon.
Bummer - I can tell you I started on a Pi 3B . and there is a updated image for the Pi 3B+. When they put out a New board the old software can’t boot because it is unaware of the new hardware change. You need to find the one that matches your board and it boots up very clean.
OK, I have read something similar to that elsewhere as well. So if I install mate on a 3B and then upgrade it, I can swap the card to the 3B+?? Honestly though I have both now, so if it works on a 3B, I’ll just use that. Thanks! Looks like i have a path to follow now. I’ll try to report back if I get it working.
Ok, so after almost a week of every iteration I can think of, I have not been able to get GroundControl installed on Ubuntu Mate. I was able to get several different versions of Mate installed and running smoothly on the 3B and 3B+ but none of them will run GroundControl after installation. I have successfully installed Kivy and all of the prerequisites but when I try to run GroundControl or even any of the Kivy examples, they quit after a few lines of startup code with the error “Segmentation Fault”
I have tried both ubuntu 16.04 and 18.04. One of the big issues I am running into is which set of instructions to use for installation of Kivy. There are different instructions for RPi vs Ubuntu and then there are different versions on the Kivy.com site vs their github install instructions and then the ones on Malsow site are different from those. The Ubuntu images I am using for the Mate install are from here https://wiki.ubuntu.com/ARM/RaspberryPi. I have tried upgrading the RPi2 image as well as the “unofficial” RPi3 build from Ryan Finnie. I am starting to get to the point that I am willing to pay someone who knows linux to get this working for me. My machine is ready to go other than this frustrating software issue. I’m almost $1000 into this project with the linkage and leadscrew z-axis and other upgrades and all I need is a functioning controller.
On a side note. I’m especially confused why GroundControl is written with a touch specific framework like Kivy, and being the most affordable and accessible touch screen option, RPi isn’t supported fully. What is the point of using a touch screen framework if you can’t even use it with the only touch screen device anyone can actually afford? There aren’t even any mac touch screen devices that you could run it on even if you wanted to. So that leaves you with a windows 10 laptop that supports a touch screen? I just don’t get it. Why aren’t the developers working on this? Even the instructions on the Maslow site are super out of date and reference very old versions of Kivy.
Sorry for a little rant, I’m just starting to get really discouraged.
I’ve tried to do it with a raspi too at first, but gave up and just looked for a cheap old laptop. it didn’t support opengl, but then i installed linux and appearantly that emulates opengl.
It appears that Ground Control was compiled before Kivy switched to SDL2 for its packages. Running
pip install -r requirements_linux.txt seemed to always create an error when it got to line 7 (pygame).
sudo apt-get install libsdl1.2-dev has helped us get past the dependencies for pygame and complete the requirements_linux.txt dependencies.
We are still working on it, but it seems that a lot of the issues at play are the new version of Kivy for Raspbian Jesse and Stretch is on a newer library version than was used to compile Ground Control.
I’m hoping to have more details soon, but am still working on getting this running on a Pi 3b+ before releasing any “instructions”
Also, if we do get this working on a Pi, we can host the IMG file so others don’t need to replicate the process we are going through.
this is all opensource software, compile Ground Control with the newer library
rather than fighting to install the old library.
fighting to keep using an old library is a loosing game over the long run. If
there’s something in GC that doesn’t work with the new library, we need to fix
it eventually, so we may as well fix it now.
Thats the end goal. I’m just trying to confirm that is the only thing that needs to happen.
That and my personal knowledge of Kivy is limited.