Skip to content

Conversation

@alexanderoster
Copy link
Contributor

No description provided.

netfabb and others added 30 commits September 6, 2025 00:48
…factor processing (#37)

* LibMCCore: Refine hatch interpolation handling and improve nonlinear factor processing

- Core toolpath logic (amc_toolpathlayerdata.cpp):
  - Introduced compile-time switch `USEALLMODIFICATIONFACTORS` to control whether
    all modification factors (F/G/H) or only factor F are processed.
  - Added safeguard when assigning nonlinear interpolation data to avoid
    out-of-range vector access when `nSubInterpolationCount` is zero.

- ScanLabSMC driver (CSMCJobInstance):
  - Added parsing and output of new active channel data (`active0`, `active1`) in
    SMC v1.0 simulation files.
  - Updated CSV field mapping to include new channels, replacing placeholder
    unused entries.
  - Extended data table schema to add `active0` and `active1` columns.
  - Populated active channel values in the output table and reset corresponding
    vectors after use.

- LibMCEnv layer evaluation (libmcenv_toolpathlayer.cpp):
  - Commented out exception throw for incomplete hatch profile evaluation to
    allow partial evaluation without interrupting execution.

Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>

* LibMCCore: add laser power channel to scatter plot and implement datatable channel filling

- Renamed simulation column `active0` to `power` to reflect actual laser power semantics
  in SMC v1.1 job data output.
- Updated simulation data export to write laser power values into the new `power` column.
- Implemented `fillScatterplotChannel` in `libmcenv_datatable.cpp`:

* LibMCCore/WebClient: add laser power visualization mode and power data display in point inspector

- Added a new "powerramp" color mode in LayerView for visualizing laser power
  distribution across the toolpath.
- Implemented computeChannelColumnRange(...) to detect the min/max of a data
  column and normalize power values for coloring.
- Added makeLaserPowerColors() to convert normalized power values to HSL-based
  RGB gradient for visual representation.
- Extended point inspector to display per-point laser power.
- Updated data loading logic to correctly populate the "power" channel from
  backend stream data.
- Updated Vue integration to cycle `laseron → powerramp → uniform → time`
  when toggling color modes.

Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>

---------

Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>
… get absolute path of 8c48dc68_core.apidocs(2) (#40)
…to job execution lifecycle (#43)

- SDK bindings (`libmcdriver_scanlabsmc_sdk.*`):
  - Added bindings for `slsc_ctrl_write_digital_x`, `slsc_ctrl_write_digital_mask_x`,
    `slsc_job_write_digital_x` and `slsc_job_write_digital_mask_x`.
  - Introduced new enum `slsc_DigitalOutput` to address digital output channels.
  - Added wrapper functions with logging support for journaling/tracing.

- Job instance (`libmcdriver_scanlabsmc_smcjobinstance.cpp`):
  - Digital output is now explicitly initialized to `0` before a job starts.
  - Output is set to `1` immediately after `slsc_job_begin` to signal job activation.
  - On finalization, output is set back to `0` before stopping the recorder.
  - Recording start/stop has been fully enabled to capture digital transitions.

  Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>
alexanderoster and others added 30 commits January 20, 2026 01:00
…and implement scatterplot channel fill (#68)

### feat(scanlab): convert microvector laser delays using RTC tick resolution
- Added `ConvertDelaySecondsToTicks()` to convert delay seconds into RTC ticks
  (1 tick = 1/64 µs) and clamp to the supported range [0..32767].
- Updated `AddMicrovectorMovement()` to use the new conversion for LaserOnDelay
  and LaserOffDelay while preserving `-1` as the “no delay” sentinel.

### feat(libmcenv): implement scatterplot channel population from datatable
- Implemented `fillScatterplotChannel()` to populate scatterplot channel/column
  vectors from the datatable rows with scale and offset applied.
- Added basic validation and guarded channel/column creation to avoid duplicate
  entries.

Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants