What problem does it solve?
NI-DAQmx capabilities like retriggerable acquisition, signal export, and terminal routing are not exposed by the MATLAB daq object, and translating C driver signatures into calldaqlib calls is error-prone due to implicit task handles, output-pointer placeholders, and enum conventions.
Core Features & Use Cases
- C-to-calldaqlib Translation Rules: Maps C argument patterns (taskHandle, output pointers, buffer sizes, enums) to their correct MATLAB equivalents across six call forms.
- Decision Tree Guidance: Routes between the daq object and calldaqlib, handles multi-task semantics, device-level APIs via empty daq objects, and string/array getter placeholders.
- Reference Tables: Provides the 20 most-used verified signatures, 15 DAQmx_Val_* enum strings, and a catalog of common mistakes with fixes.
- Use Case: A user porting LabVIEW code needs retriggerable finite acquisition; the Skill produces calldaqlib(dq, "DAQmxSetStartTrigRetriggerable", true) with the required DAQmx_Val_FiniteSamps configuration and warns that start() clobbers driver-set rates.
Quick Start
Ask the agent to configure a retriggerable analog start trigger on Dev1/ai0 using calldaqlib with a 5000 Hz external sample clock.