The newest one that doesn’t crash the program… I believe it is 3.8 on the rpi and 3.7 on Linux(I’ll confirm that when I can). 3.10 has issues with either gevent or monkey patch or socket Io. You mentioned getting to 3.10, but I have not gotten it to work with that version on either machine.
I’ve found that there is definitely a jump from 3.9 to 3.10 - So I would recommend going to 3.9 first (which should just work), and then I’d jump straight to 3.11 from there
Can this be done on a VM? If so Im willing to give it a shot.
Im assuming the goal is the get the firmware versions to be identical in function with the exception of calibration method.
It’s only ever been refered to as Holey so a name change might introduce some confusion. A rebrand might be warranted though regardless. Given that it’s only ever existed in WC and WC will have undergone some major upgrades after the changes then rebranding may make sense.
Suggested name: Polygonal Calibration
The rpi version uses 3.9 and the linux version uses 3.8. The linux version refuses to run on python version higher than 3.8 and I don’t know how clear that hurdle yet.
- yes a VM can be used if the VM has port access to network and USB for communication.
- correct. One firmware binary file with a software setting in the sender software such as webcontrol that will select the triangular or holey calibration regime
- Great name. Maybe a poll should be set up in a different thread to see what all the other users think. I was thinking Hex calibration since there are 6 holes and triangular is a shape as is hex or hexagonal… Starts with H, so could be easily confused for Holey, which would be the point. However the legacy naming may be best just left alone.
The more I think of it, a name change makes sense. A thread with a user pole is a great idea. Want me to set one up?
One was set up here.
3.9.2 on the rpi - seems to work just fine.
3.8.10 on Linux - has issue with backwards compatibility of python-socketio, python-engineio, and Flask-SocketIO
A little update for GCodeClean - switching to .net 7
I’ve finally got around to pulling down the WebControl repository and tried spinning it up locally (using Ubuntu 20.04 on WSL2) using python 3.9.9 to set up the venv.
Two key problems came up, and there’s probably more that are similar:
-
wget(python-wget) just no longer exists (in source) - the bitbucket repository for it has completely gone. It was relatively easy to replace withrequests -
misaka(used byflash-misaka) is abandon-ware - and won’t work past some early version of python 3.9 - So I’m trying to just dump the reference toflash_misakaand I’ll see what happens
Thanks for looking into this. My current branch on LInux does not work because of the version mismatch with a javascript library and the io libraries previously mentioned. I’m on Ubuntu 20.04 as well, but using 3.8. There was a slick utility to let me change python versions without changing a link, but I don’t recall the command.
I thought wget was a bash command, but it (webcontrol) has a call for pulling the newer webcontrol versions to automate the upgrade process.
I don’t know what flash-misaka does for webcontrol (edit: I think it is a dependency for flask to work. The req_for_linux.txt file for linux in the repo is a freeze of the libraries used in my virtual environment only for linux x64 webcontrol).
Misaka class is used as md in app.py to start the whole app. I don’t know why though:
from flask import Flask
from flask_mobility import Mobility
from flask_socketio import SocketIO
from flask_misaka import Misaka
import os, sys
base_dir = ‘.’
if hasattr(sys, ‘_MEIPASS’):
base_dir = os.path.join(sys._MEIPASS)
md = Misaka() ’ RIGHT HERE
app = Flask(name, static_folder=os.path.join(base_dir, ‘static’), template_folder=os.path.join(base_dir, ‘templates’))
app.debug = True
socketio = SocketIO(app)
mobility = Mobility(app)
md.init_app(app) 'AND HERE
I found this about Misaka and Hoedown libraries that another group used python-markdown.
You’ll probably want to try pyenv for that, instead of using regular python -m venv venv (or whatever you prefer)
it was a command line selection of which python version is default kind of like you choose which editor to use for crontab. I’ve installed pyenv based on these instructions and that will likely do what I need.
@Orob I’m not at the computer right now. But can we add a “print” button for the help menu getting started. I don’t think it exists (could be wrong). I think it may help ppl first time setting.it up if they can just print those instructions.
if you go to the online help, it is in a browser that has a print option. The offline help is/should be also shown in a browser that has a print feature. Are you meaning the instructions on the popup in the calibration or setup window?
Merry Saturnalia everybody - (AKA 12 days of Christmas)
@dlang @Orob @jonatpridesleap @madgrizzle
I finally got WebControl up and running locally with Python 3.9.13 (Ubuntu 20.04) and dumped a PR for it here: Push up to support Python 3.9.13, bump everything by md8n · Pull Request #193 · WebControlCNC/WebControl (github.com)
I did some cleaning up, which involved moving some of the furniture …
It should all just work because there’s minimal functional code changes, it just looks like a lot …
And pip-compile (from pip-tools) is your friend when figuring out interdependencies between imports
And then there’s this bump of everything, that’s really just making sure it works with Python v3.10.5, which is the latest version without little details like -dev on the version number
So … Bump it for Python 3.10.5 by md8n · Pull Request #194 · WebControlCNC/WebControl (github.com)
So @rolambert has merged this :pr: into master - it could be tagged as v0.95, maybe …
Or do you (all) want to get the next little :pr: that sets up for Python 3.10.5 in first?
Do you plan to push for 3.11.1? Great work by the way!
The most recent versions of Python available through pyenv are 3.11.0b4, 3.11-dev, 3.12-dev
Once there’s a regular Python version available via pyenv I reckon it will be time to take a look. Especially as there’s supposed to be some significant performance improvements with it