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!
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.
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:
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.
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.
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.
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 )
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.
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.
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.
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$
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
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).
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?