Software interface to the Rofin EasyJewel laser engraver

Andrew Black e90d17d234 Add Simple Steam Controller Rotary Axis Control 13 hours ago
.hooks 9a0bd7307c Convert t_Websocket Pointers to void* 3 weeks ago
doc a4f653f879 Begin Parsing Multiple Messages 2 weeks ago
res a73a079e2b Enable Door State Detection Using ReadIoBit 1 day ago
src e90d17d234 Add Simple Steam Controller Rotary Axis Control 13 hours ago
.clang-format 8f9e1f4796 Add Preliminary Steam Controller Support 2 days ago
.ctags_extra_dirs f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago
.debugcmd f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago
.env f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago
.gdbinit f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago
.gitignore fc423a4c6e Add PNGs 3 weeks ago
.gitmodules 8f9e1f4796 Add Preliminary Steam Controller Support 2 days ago
.lldbinit f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago
.vale.ini f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago
Makefile e90d17d234 Add Simple Steam Controller Rotary Axis Control 13 hours ago
README.md 42605ce9af Begin Move to Mini-XML; Add Capture Code 3 weeks ago
build.zig f5fb55f80d Multiple Squashed Commits During Major Refactor 1 month ago

README.md

Blastpit

Description

Tentacle

blastpit adds additional functionality to the Rofin Easyjewel marking system. Features will (hopefully) include:

  • Network control of laser marking
  • Enhanced positioning help
  • Controller support
  • Python language support
  • An Inkscape plugin
  • A FreeCAD plugin

blastpit is composed of three parts:

  1. The blastpit library contains the core class and geometry functions, along with bindings for the Python language
  2. blastpitgui is a web app and hardware driver, providing notifications, controller support and gui adjustment of laser parameters
  3. lmosgui is the server interface to the Rofin LMOS ActiveX control

Notes

Obtaining the code

The latest stable build can be obtained at https://git.47or.com/thf/Blastpit/archive/master.zip

The development git repository can be found at http://git.47or.com/thf/Blastpit.git

Prerequisites for building

The Rofin LMOS ActiveX control requires Qt with ActiveQt, either running natively on Windows or under emulation using Wine or a virtual machine. SWIG is needed to create the Python language bindings. Zig is used for cross-compiling, building, and unit tests. Mongoose is used for the WebSockets server and client code.

Building

The software can be compiled by typing:

	make

in the root of the project directory. Alternatively, the software can be compiled from Qt Creator. A project file can be found in the src/ directory.

Bugs

Yes. It doesn’t work yet. The blastpit bug tracker can be found at https://git.47or.com/thf/Blastpit/issues

In addition, blastpit relies on the Rofin LMOS ActiveX control for its functionality, so any problems that affect it will also affect blastpit.

Example

Mark a circle in Python

import Blastpit

bp = Blastpit()
layer = bp.Layer( "Test Layer", 10, 0xFF7700 )
path = bp.Path()
path.Circle( 60, 60, 10 )
path.SetLayer( layer )
path.SetHatchType( "Argent" )
path.SetMarkingType( "Silver_With_Dark_Cleaning_Pass" )
if bp.Connect( "laser.rfbevan.co.uk", 1234 ):
    bp.Burn()
    bp.OpenDoor()

Copyright and Licencing

All original source code is released under the GNU GPLv3. All original text and graphic files are released under the Creative Commons CC0 public domain license.

pugixml is released under the MIT licence.

The LMOS ActiveX control is copyright Rofin Sinar Laser GmbH.

Sample video capture code is copyright IDS Imaging GmbH and is used with permission.

Boilerplate Qt application code is copyright Digia Plc and is released under the terms of the BSD license.

Boilerplate TeX code was obtained from http://www.latextemplates.com and released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 unported licence.