Getting Ground Control running on a Chromebook

In my quest to get my Maslow working from my Pixel Chromebook, I put it in Dev Mode, installed crouton on it and chrooted myself an Ubuntu instance where I got to work installing your Ground Control software…

First, I have some suggestions to improve your Ground Control documentation.
You might want to update Step #2 of your instructions on the wiki or the github README.

…to state that for Debian/Ubuntu users they’ll need to install the pyserial package with the following command instead of pip:

sudo apt-get install python-serial

Took some digging to figure out that pip seems to be disabled on Debian distros in favor of using apt-get for python package installations.

Then, after I downloaded the latest Ground Control source from your github and tried to run it I ran into the following two indentation errors consecutively:

Traceback (most recent call last):
File “main.py”, line 38, in
from UIElements.diagnosticsMenu import Diagnostics
File “/home/justin/Development/GroundControl-master/UIElements/diagnosticsMenu.py”, line 5, in
from UIElements.measureMachinePopup import MeasureMachinePopup
File “/home/justin/Development/GroundControl-master/UIElements/measureMachinePopup.py”, line 338
except:
^
IndentationError: unindent does not match any outer indentation level

Traceback (most recent call last):
File “main.py”, line 38, in
from UIElements.diagnosticsMenu import Diagnostics
File “/home/justin/Development/GroundControl-master/UIElements/diagnosticsMenu.py”, line 5, in
from UIElements.measureMachinePopup import MeasureMachinePopup
File “/home/justin/Development/GroundControl-master/UIElements/measureMachinePopup.py”, line 343
self.carousel.load_next()
^
IndentationError: unindent does not match any outer indentation level

…I added an extra space to the lines before the text on #338 and #343 in measureMachinePopup.py and saved it.
The GUI came up. I haven’t tried connecting my arduino yet. Stay Tuned! :wink:

4 Likes
  1. pySerial on Debian/Ubuntu

Yes, for Debian/Ubuntu there are a lot of packages that come pre-compiled in the repository. Looks like you found one.

  1. The space error was fixed.

It was some bug that got introduced in the master branch for a few hours today. I think it was my fault, sorry about that.

If you have a chance to edit the GC installation page:

https://github.com/MaslowCNC/GroundControl/wiki/Linux

It is freely editable as a wiki if you have a github account. I can certainly add what you describe, but I would like to encourage you to edit anything you see wrong or confusion you find. It is sometimes harder for us to go back and write documentation after the fact because you forget the hiccups that came up.

1 Like

Oh also, I have GC running a chromebook in crouton as well, so if you have issues I can help. It certainly works just fine. My chromebook is a bit slow, so I made the following edit to the Kivy settings to decrease the animation framerate and it solved my issues:

3 Likes

Sorry we caught you with the space bug. It was only in the repo for 15 minutes at tops :grimacing:

Kudos to @blurfl for the quick catch!

2 Likes

LOL, no problem. Leave it to me to pick the worst time to clone the repo.
Thanks, sure I’ll try to figure out the wiki and edit that later when I get home from work.
Also good to know others are successfully figuring this out on chromebooks! I’ll be sure to keep you in mind if I run into any other peculiarities.

2 Likes

Have a look at how i’m having a go at making a little VM, you might be able to use similair options.

You seem to be on the same track as me in several points

I’m looking forward to your solutions.

1 Like

Maybe when we make tightly-coupled changes like these, we should add a third digit to the version number temporarily. Revert to the release number before the real release, but in the interim provide a heads-up to those of us out on the bleeding edge. I ran through chain cal three times with the latest GC getting odd behaviors before I checked and found that the firmware had been updated since I went to lunch. Gotta love the rapid progress, though, @krkeegan’s massaged PID code seems an improvement.

2 Likes

Ugh, that sucks. Yeah, I agree that is an issue.

I should probably have incremented the version number on the firmware, then you would have at least gotten a warning that your GC was out of date. I think that is the best course of action in the future. I don’t think we are promising only a single version jump between wednesday updates.

1 Like

I think you guys are both right. The version numbers need to match 100%, right? So on intermediate steps we could bump to .991 or .992 and then drop back to .99 for the launch

Edit: to clarify I think that .991 firmware with .992 GC would give the same error message, right? That’s what I was trying to say (tired at the end of the day :upside_down_face:)

3 Likes

Since GC seems to require that the version be a number (for the check against the firmware), and we’re using numbers like 0.98 I imagined that we could add a digit to the end - 0.981 - in GC/DataStructures/data.py and Firmware/cnc_ctrl1/CNC_Functions.h. This would still trip the comparison alert, but wouldn’t require bumping the git release number.
A while back I had a way to put the git 6-digit sha into the version as a string during a merge, but the comparison in GC was implemented requiring a number.

2 Likes

Happy and relieved to see some Chromebook love at the Ground Control programmer level. I’ve been on a Chrome OS device since 2013 and I have a Chromebox I may use to get the Maslow going once my kit arrives. More likely I’ll use the Chromebook I’m typing on, but the ‘box’ can take RAM and SSD upgrades which may come in handy.

I was dreading going back to windows for this…

There’s always Linux

There’s always Linux

That’s partly the idea. Using the Chromebook hardware which I have. These folks are dual-booting a Linux distribution (Ubuntu) on their Chromebooks to run the CAD/CAM software. Knowing it works given the Chromebook’s hardware limitations is a relief as I don’t need to get another computer to do my design and programming work.

Yet :slight_smile:

3 Likes

I am trying to get Ground Control up and running on a Samsung 303C chromebook. I get all the way to the point where I should be able to run “python main.py”, and I get the following:

Traceback (most recent call last):
File “main.py”, line 33, in
from UIElements.screenControls import ScreenControls
File “/home/jtbaer/Downloads/GroundControl-master/UIElements/screenControls.py”, line 5, in
from UIElements.buttonTemplate import ButtonTemplate
File “/home/jtbaer/Downloads/GroundControl-master/UIElements/buttonTemplate.py”, line 3, in
from kivy.uix.behaviors import ButtonBehavior
ImportError: No module named behaviors
(trusty)jtbaer@localhost:~/Downloads/GroundControl-master$

What did I do wrong?

Thanks for your help.

2 Likes

Did you install python 2 and not python 3?

1 Like

The command I used was:

$ sudo apt-get install python-kivy

It seemed to work.

My understanding was that this would install Python2 which is what the documentation said I should use

2 Likes

python -V will give you the ‘active’ version.
On ubuntu mate I only have Python 2.7.15rc1.
On my productive machine in the workshop I run Manjaro that has Python 2 and 3 installed.
I need to start GC with->python2 main.py. I believe to remember that the installation had to be specified for python 2, something like ->sudo apt-get install python2-kivy, but of cause only if 3 is installed.

Edit: that’s not how it works, it gives->Unable to locate package python2-kivy :thinking:
Let me know what the ->python -V<- says.
Edit: You have done it the right way. It’s the other way around for kivy. You would need to specify python3-kivy (what we don’t want).

2 Likes

python --V gives me 2.7.6
kivy version is 1.7.2

No matter what I do I can’t seem to get 1.8 version of kivy which supposedly has behaviors

1 Like

Good to know it’s not a python3 issue.
I have Kivy 1.9.1 installed.
Do get any errors on trying ->sudo apt-get install python-kivy?
What is the linux you are running?

1 Like

3.8.11

I did not get any errors when I installed python-kivy. I even removed it and installed it again. It gave me the same version 1.7.2

1 Like