Webcontrol local command line display on Raspberry pi

@madgrizzle I’ve been thinking about how I can use my “no longer touchable” 5" touch screen on my raspberry pi controller…

I originally tried running the full raspian desktop on the pi and displaying a full screen chrome window with the webcontrol page on it, but it was too small. I reloaded the image with the lite version and so increasing the font size on the command line interface, I’d like to get data over the web socket to the display to show on the command line screen. Partly because the screen is mounted on the controller and I hate that it is doing nothing and part to better position the cut piece to get more efficient board use. I wanted to open up the discussion to anyone else and see what other items would be useful to see? This would be display only, no interaction.

The list I was contemplating. The assumption is that webcontrol has this information and it can be transferred (I’ll work that part out).

HOME - X: , Y: ( home position)
LOCATION- X: , Y: (current position)
GCODE MAX- X: , Y: (max height and right position of loaded gcode)
GCODE MIN- X: , Y: (lowest point and left position of loaded gcode)
DELTA MAX- X: , Y: (distance from home position)
DELTA MIN- X: , Y:
SLED(+)- X: , Y: (distance from edge of sled - so I could use a tape measure quickly to figure out if it will fit)
SLED(-)- X: , Y:

Thoughts (other than this is stupid, don’t do it)?

1 Like

If you ran the full desktop, you could just create a webpage with the info you want sized how you want it. It’s just html at that point.

I suppose I could reinstall the full desktop, but command line python has this retro feel to it. Maybe there is a dos font for it to show “C:\home\pi>” for its prompt…

It’s real easy to add web pages to webcontrol… take a look at frontpage3d_mobilecontrols.html as an example. You could strip out a lot of stuff you don’t want and rearrange the html… It’s a bit behind pace with frontpage3d as I haven’t kept up with it.

I’ll check it out and post back what I come up with.

current location of sled:

data.xval
data.yval
data.zval

home position

app.data.config.getValue(“Advanced Settings”,“HomeX”))
app.data.config.getValue(“Advanced Settings”,“HomeY”))

gcode x/y max/min

board manager? not sure where to calculate this. probably store it in data as a value to be sent over the socket connection when called.
xmin = 2000
xmax = -2000
ymin = 1000
ymax = -1000
for each gcode point, if gcode_xmax > xmax, xmax = gcode_max and the so on for each variable.

machine status → text indications similar to LED actions.

data.uploadFlag = 0, 1, 2
data.moving = True, False
data.zmoving = True, False

That is all I think I’m going to use. What might be the best way to calculate the gcode file max/min? I think it is best to store the information in the data.py file and only have that information calculated when a new gcode file is opened or loaded, it doesn’t look like the board.py is the file to put it in.

1 Like

All of that (except for the last three “machine status”) is already being sent to the web clients via websocket messages. Give me a little before working on this further. I’m trying to split the 3d part and the text/button part out from the frontpage3d.js file… This way if you aren’t doing any 3d display, you can just include the javascript file for the text/button part and all the message processing will be handled and all you would need to do is modify the html code to how you want it to look. Right now you’ll be stuck with the header (menu, status messages, etc. along the top row… from base.html) but the rest of the html code can be sized however you like.

2 Likes

the last 3 are in the updates I pushed.