• v1.2.2 df868d188c

    v1.2.2 Stable

    cabele released this 2026-10-29 08:11:54 +00:00 | 0 commits to master since this release

    Downloads

    • laser_service_v1.2.2.zip – exe, example config.ini, install/uninstall scripts and the marking-flow docs (EN/DE)
    • laser_service.exe – the service executable only
    • marking-flow.html / marking-flow.de.html – marking cycle documentation (EN/DE)

    Changed

    • The program is now selected before every marking, including ProgramNumber = 0000. 0000 is a regular program on the laser and no longer means "don't switch".
    • The setting Marking.JobID was removed. The text is always written into the program that is used for the marking. An existing JobID entry in config.ini is ignored and can stay.

    Fixed

    • With a trigger (e.g. SDH1234+3 → program 0003), the text was written to program 0000 (JOB=000), so the mapped program marked its old text. Now the text goes to block BlockNumber of the mapped program: WX,JOB=0003,BLK=000,CharacterString=SDH1234.
    • Without a trigger, the laser kept the program of the previous part (e.g. 0003) instead of switching back to the default program. The default program from ProgramNumber is now always selected and receives the text.
    • An invalid ProgramNumber (not 1–4 digits) now fails the cycle with a log message instead of being sent to the laser.

    Upgrading

    1. Stop the service: laser_service.exe -stop
    2. Replace laser_service.exe with the new one
    3. Start the service: laser_service.exe -start

    Check that ProgramNumber in the production config.ini is the default program you want. It is now always selected.

    ⚠️ Do not overwrite the production config.ini with the example from the ZIP. It holds your laser IP, NUMROTO log path and program mappings.

    Downloads
  • v1.2.1 d6934d009c

    v1.2.1 Stable

    cabele released this 2026-10-28 10:15:29 +00:00 | 2 commits to master since this release

    Downloads

    • laser_service.exe – the service, web UI built in
    • laser_service_v1.2.1.zip – full package: exe, config.ini, install.bat, uninstall.bat, docs
    • marking-flow.html / marking-flow.de.html – flow documentation (English / German)

    Changed

    • The NUMROTO log wins over CharacterString: if CSVLogFile is set, the Werkzeugname of its last
      row is always marked. CharacterString is a fixed text that is only used when no NUMROTO log is set
      (e.g. for tests).
      • Before, a non-empty CharacterString replaced the part name from the log on every marking – e.g.
        CharacterString = T from the example config marked "T" on every part.
      • If the NUMROTO log is set but can't be read, the marking fails (as before) – it does not fall back
        to CharacterString.
    • Web UI wording: the CSV setting is now called NUMROTO Log, the fixed text is shown as
      CharacterString. The Settings tab shows which text will be used (log, fixed text, or nothing).

    Upgrading from v1.2.0

    1. laser_service.exe -stop
    2. Replace laser_service.exe
    3. laser_service.exe -start
    4. Web UI → Settings → enter the path of the NUMROTO log under NUMROTO Log → Save Settings.
      "Saved – NUMROTO log not found" means the path is wrong or the file isn't there right now.

    No configuration changes needed; CharacterString = T can stay, it is ignored while a NUMROTO log is set.

    ⚠️ Don't overwrite the production config.ini with the example from the ZIP.

    Downloads
  • v1.2.0 bf9b4914bc

    v1.2.0 Stable

    cabele released this 2026-10-28 09:02:30 +00:00 | 5 commits to master since this release

    Downloads

    • laser_service.exe – the service, web UI built in
    • laser_service_v1.2.0.zip – full package: exe, config.ini, install.bat, uninstall.bat, docs
    • marking-flow.html / marking-flow.de.html – flow documentation (English / German)

    New

    • Settings tab in the web UI: Dashboard (status, statistics, control, logs) and Settings
      (settings and program mapping) are now separate tabs. http://localhost:8080/#settings opens the
      Settings tab directly.
    • Monitored CSV file in the web UI (Settings → CSV File, CSVLogFile): set or change the CSV file
      whose last row's Werkzeugname is marked. Takes effect from the next marking, no restart needed.
      • Paths copied with Explorer's Copy as path (with quotes) are accepted.
      • A file that doesn't exist (yet) is saved anyway, but reported next to the Save Settings button and in the log.
    • Fixed Text (CharacterString) is shown next to the CSV file. If it is filled in, it is marked instead
      and the CSV file is not read – the Settings tab warns when both are set.
    • Save Settings now shows whether saving worked (Saved / error) next to the button.

    Fixed

    • Program mappings or other config entries lost when saving:
      • Saving no longer rewrites config.ini from scratch: comments, extra keys and sections are kept.
      • A trigger ending in \ broke the whole [ProgramMapping] section on the next start, so all mappings
        were dropped and the next save wiped them from the file.
      • config.ini is now written to config.ini.tmp, read back and only replaced if every value matches.
        If config.ini can't be read, it is not overwritten.
      • A [ProgramMapping] section that fails to load (e.g. after a hand edit) is no longer wiped when
        other settings are saved.

    Upgrading from v1.1.x

    1. laser_service.exe -stop
    2. Replace laser_service.exe
    3. laser_service.exe -start

    No configuration changes. The first save from the web UI aligns the = signs in config.ini and drops
    unneeded quotes (e.g. CharacterString = "T" → CharacterString = T); values and comments stay the same.

    ⚠️ Don't overwrite the production config.ini with the example from the ZIP.

    ⚠️ If marking should use the CSV file, clear Fixed Text in the Settings tab – the example config has
    CharacterString = "T", which always wins over the CSV file.

    Downloads
  • v1.1.1 e05171baee

    v1.1.1 Stable

    cabele released this 2026-10-27 10:57:50 +00:00 | 8 commits to master since this release

    Bugfix release for v1.1.0.

    Fixed

    • Web UI unusable while the laser is unreachable (#1): the error popup reopened about every second
      and its invisible full-screen backdrop swallowed all clicks – e.g. Add Mapping did nothing.
      • Laser errors are now shown in a red banner under the header that doesn't block anything and
        disappears by itself once the laser is reachable again.
      • The popup is only used for errors from your own actions (e.g. saving failed) and can now also be
        closed by clicking outside it or pressing Esc.
      • Losing the connection to the service no longer opens the popup (the header shows Disconnected).

    Downloads

    • laser_service.exe – the service, web UI built in
    • laser_service_v1.1.1.zip – full package: exe, config.ini, install.bat, uninstall.bat, docs
    • marking-flow.html / marking-flow.de.html – flow documentation (English / German)

    Upgrading from v1.1.0

    1. laser_service.exe -stop
    2. Replace laser_service.exe
    3. laser_service.exe -start

    No configuration changes. ⚠️ Don't overwrite the production config.ini with the example from the ZIP.

    New in v1.1.x (program mapping, log rotation, …): see the v1.1.0 release.

    Downloads
  • v1.1.0 d5f7851bd4

    v1.1.0 Stable

    cabele released this 2026-10-27 10:21:55 +00:00 | 10 commits to master since this release

    Downloads

    • laser_service.exe – the service; the web UI is built in, no web folder needed
    • laser_service_v1.1.0.zip – full package: exe, config.ini, install.bat, uninstall.bat, docs
    • marking-flow.html / marking-flow.de.html – flow documentation (English / German), open in any browser

    New

    • Program mapping: map any trigger at the end of the name to a laser program in the web UI
      (panel Program Mapping), e.g. +3 → 0003, #1 → 0001, *88 → 0088, € → 0001.
      SDH1234+3 marks SDH1234 with program 0003. Longest matching trigger wins; no match → default ProgramNumber.
    • Wait after marking is configurable (PostMarkingDelay, ms, default 20000, 0 = off) in config.ini and the web UI.
    • Daily log files in logs\laser_YYYY-MM-DD.log, kept for 10 days (LogDir, LogRetentionDays).
    • -debug flag: run interactively with verbose logging of laser commands.
    • Web UI embedded in the exe.
    • CSV: the last row is used for Werkzeugname.

    Fixes

    • As a Windows service, the working directory is now the exe folder (was C:\Windows\System32),
      so config.ini and logs\ are found next to the exe.
    • Debug flag is read thread-safely and active from startup.

    Upgrading

    1. laser_service.exe -stop
    2. Replace laser_service.exe (an old web\ folder can be deleted)
    3. laser_service.exe -start
    4. Add the program mappings in the web UI (http://localhost:8080 → Program Mapping)

    ⚠️ Do not overwrite the production config.ini with the one from the ZIP – it is an example config
    (CharacterString = "T", no CSVLogFile). Existing configs keep working; new settings fall back to defaults.

    ⚠️ The old #0001 suffix no longer selects a program by itself – add mappings like #1 → 0001 instead.
    Triggers such as € only match if the CSV file is UTF-8.

    Downloads