Skip to content

LibMCCore/ScanlabSMC/Scanlab: add raw simulation export and fix RTC microvector/recording timing#58

Merged
alexanderoster merged 1 commit into
alexanderoster:developfrom
yrodzikau:smchybrid
Jan 14, 2026
Merged

LibMCCore/ScanlabSMC/Scanlab: add raw simulation export and fix RTC microvector/recording timing#58
alexanderoster merged 1 commit into
alexanderoster:developfrom
yrodzikau:smchybrid

Conversation

@yrodzikau

Copy link
Copy Markdown

LibMCCore/ScanlabSMC/Scanlab: add raw simulation export and fix RTC microvector/recording timing

feat(scanlabsmc): expose raw simulation data from SMC jobs

  • Added LoadRawSimulationData API to SMCJob (ACT, ABI, dynamic bindings, wrappers).
  • Implemented raw binary export from the SMC simulation working file and introduced SIMULATIONWORKINGFILEISNOTINITIALIZED error for missing simulation context.
  • Updated simulation-mode job startup to create a managed temp file and start module recording via slsc_job_begin_module.
  • Added SDK support for slsc_cfg_register_callback_job_calculated and slsc_job_begin_module with journal logging.

fix(scanlab): correct microvector laser on/off delay conversion

  • Converted microvector laser delays from seconds to RTC ticks (100 kHz) when calling n_micro_vector_abs, keeping -1 as "no delay" sentinel.

fix(scanlab): improve RTC recording loop progress condition

  • Adjusted executeListWithRecording to use the card busy state for data-block reads and termination instead of measurement busy status to avoid missed blocks / early exit.

…icrovector/recording timing

### feat(scanlabsmc): expose raw simulation data from SMC jobs
- Added `LoadRawSimulationData` API to SMCJob (ACT, ABI, dynamic bindings, wrappers).
- Implemented raw binary export from the SMC simulation working file and introduced
  `SIMULATIONWORKINGFILEISNOTINITIALIZED` error for missing simulation context.
- Updated simulation-mode job startup to create a managed temp file and start module
  recording via `slsc_job_begin_module`.
- Added SDK support for `slsc_cfg_register_callback_job_calculated` and
  `slsc_job_begin_module` with journal logging.

### fix(scanlab): correct microvector laser on/off delay conversion
- Converted microvector laser delays from seconds to RTC ticks (100 kHz) when calling
  `n_micro_vector_abs`, keeping `-1` as "no delay" sentinel.

### fix(scanlab): improve RTC recording loop progress condition
- Adjusted `executeListWithRecording` to use the card busy state for data-block reads
  and termination instead of measurement busy status to avoid missed blocks / early exit.

These changes enable retrieving raw SMC simulation artifacts for downstream processing,
while improving RTC replay correctness and recording reliability.

Signed-off-by: Yury Rodzikau <y.rodzikau@c1-technologies.com>
@alexanderoster
alexanderoster merged commit 880d1e8 into alexanderoster:develop Jan 14, 2026
1 check failed
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.

2 participants