#dll #visa #so #ni-visa

visa-device-handler

一个用于处理NI-VISA连接并简化其使用的crate

4个版本 (2个破坏性更新)

0.4.0 2024年8月8日
0.3.2 2024年8月8日
0.3.1 2024年8月8日
0.3.0 2024年8月1日
0.2.0 2024年7月30日

#240硬件支持

Download history 214/week @ 2024-07-27 287/week @ 2024-08-03 30/week @ 2024-08-10

每月531 次下载

MIT 许可证

29KB
506

Visa Device Handler

基于visa crate,此crate旨在提供包装器以允许多个设备连接和处理,并使NI-VISA的使用更加简便。

此crate支持Windows、Linux和MacOS,但在Windows和Linux上主要进行测试,因此无法保证其在Mac上的行为。

示例


let sdm_result:SafeDeviceMap = SafeDeviceMap::init(None);
match sdm_result {
    Ok(mapper) => {
        mapper.connect_device("address_01".to_string());
        let data = mapper.query_from_device("name_01".to_string(),"cool funcation with args").unwrap();
        println!("got {} from the device",data);
        mapper.disconnect_device("name_01".to_string());
    }
    Err(e) => {/*print codes or anything */}
}

Tauri

下一个Tauri项目将此crate用作NI-VISA的外围设备。https://github.com/LiorBuch/showcaser。此项目使用React和Mantine作为UI,不是万无一失的,因为它只是一个原型。

变更日志 0.2.0 -> 0.3.0

  • get_first_device现在返回设备而不是打印。
  • get_first_devicefind_all_devices现在除非debug布尔值为真,否则不会打印。
  • 修复了CString解析空终止符的错误。
  • 在函数中添加了键错误映射。

变更日志 0.3.0 -> 0.3.1

依赖项

~1–2MB
~41K SLoC