Skip to main content

loobric-masso

Loobric client for MASSO G3 CNC controllers. MASSO has no network door for tool data — the controller saves its settings (including the .htg tool table) to a USB stick and loads them back from it. This client reads and writes that file on the mounted stick:

  • push — harvest the controller's tool table into Loobric: every in-use tool becomes an unbound tool-table entry with its probed Z offset and diameter as observed values (observed:masso@<machine>). The offsets your probing produced stop dying on the USB stick.
  • write — update the tool table from Loobric: names, diameters, and slots follow the server; the controller's probed Z offsets are preserved unless a bound tool carries a server-side Z. A different tool appearing at an occupied number keeps the old offset and warns RE-PROBE. Machine Settings are zipped to MASSO/loobric-backups/ before every write, and untouched records round-trip byte-exact — including the controller's own CRC variants and the reserved records (T0, T101–T104).
  • sync — push, then write.

Single file, standard library only, Python 3.6+. Server errors never block anything (cron-safe exit 0); configuration errors exit 2.

Quick start

pip install loobric-masso        # or just copy loobric_masso.py
loobric-masso init               # writes ~/.config/loobric/masso.conf — edit it
loobric-masso doctor             # checks config, USB stick, and server
loobric-masso sync

On the controller: F1 Setup > Save & Load Calibration SettingsSave to file before syncing, Load from file + reboot after a write.

The .htg format

Reverse-engineered on the MASSO community forum (thread 4563) and validated by three independent decoders that agree byte-for-byte. 6720 bytes = 105 records × 64 bytes; record 0 is the controller's reserved dry-run entry, T101–T104 are multi-spindle heads (100 usable tools).

Offset Type Field
0–39 ASCII Tool name (UI caps at 29 chars)
40 float32 LE Z offset
44 float32 LE Z wear
48 float32 LE Diameter wear
52 float32 LE Diameter
56 byte Tool direction
57 int8 Slot (−1 = manual/unassigned)
60 uint32 LE CRC32 of bytes 0–59

The controller sometimes writes its own CRC variant; this client preserves the stored bytes of every record it does not modify, so those survive verbatim.

License

MIT.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

loobric_masso-0.1.0.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loobric_masso-0.1.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file loobric_masso-0.1.0.tar.gz.

File metadata

  • Download URL: loobric_masso-0.1.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for loobric_masso-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ac4fa2923826b5aa9ef42ae226b576ef9f5d0ba8f36e215f3e72436af3fd521c
MD5 9a86e381712c35296a36583bd4f289e7
BLAKE2b-256 d8d9096dec8b319bd9c3dcfcd47332b9ec3193a2a1a037019a9e61d1fff01997

See more details on using hashes here.

Provenance

The following attestation bundles were made for loobric_masso-0.1.0.tar.gz:

Publisher: publish.yml on loobric/loobric-clients

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file loobric_masso-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: loobric_masso-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for loobric_masso-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eceb86afff80cebd168cbdb33935238c64193fef2c1d0edf10000022f61d7210
MD5 700a2e3bdd0363a54c0622f5de0a3ced
BLAKE2b-256 a7ba45a819562a338c23d0c5a2282eef25e39bd4b6cbc410b32389632b1347a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for loobric_masso-0.1.0-py3-none-any.whl:

Publisher: publish.yml on loobric/loobric-clients

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page