Software: pattern player, web page with a design library, GRBL tools
- python3 -m sandtable web: local web page to play designs from a library of 27 built-in patterns, upload .thr or .svg, pause/skip/stop, jog and calibrate. Reconnects by itself when the USB cable comes back. - Plays .thr files and built-in generators with an erase spiral between them, constant ball speed, host-side homing on stock GRBL 1.1 (Uno + CNC shield), FluidNC for the ESP32 board. - Home switch guard: patterns never press the switch, so a press means lost steps and stops the machine at once with an alert. - lineart.py turns SVG line drawings into one continuous path. - Tests against a GRBL simulator. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1400cc8afd
commit
95ad4d25de
52 files changed
+388117
No files matched your search
@@ -0,0 +1,18 @@
|
||||
"""Try the web page without the table: the real design library, driven against the GRBL simulator.
|
||||
Run from the software folder: python3 tests/demo_web.py then open http://127.0.0.1:8766"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
sys.path.insert(0, os.path.dirname(__file__))
|
||||
|
||||
from sandtable import config
|
||||
from sandtable.grbl import Controller
|
||||
from sandtable.web import serve
|
||||
from fakegrbl import FakeGrbl
|
||||
|
||||
if __name__ == '__main__':
|
||||
fake = FakeGrbl(speedup=float(os.environ.get('SPEEDUP', '30')), carriage_mm=40.0)
|
||||
c = Controller(fake, 'grbl', log=lambda *a: None)
|
||||
c.wake(wait=0.3)
|
||||
serve(c, config.load(), port=int(os.environ.get('PORT', '8766')), open_browser='--no-browser' not in sys.argv)
|
||||
Reference in new issue
Block a user