[][src]Crate silabs_usb_xpress

Silicon Labs USB Xpress driver

Build Status License: GPL v3 Crates.io silabs_usb_xpress

This library port API from SiUSBXp, which is an open source port to SiUSBXp.dll, supplied with SiLabs USBXpress. The underlying USB backend is libusb, which enable the cross platform compilation.

Usage

Add to your Cargo.toml:

[dependencies]
silabs_usb_xpress = "0.2"

You must have pkg-config and cc available.

Example

This example is not tested
ProductStringType, timeouts, set_timeouts};

// get device count
let num = devices_count();

// print serial number for all devices
let if_sn = product_string(0, ProductStringType::SerialNumber);

// print VID for selected devices
let pst = ProductStringType::VID;
let if_vid = product_string(0, pst);

// get timeouts
let t = timeouts().unwrap();

// set timeouts
set_timeouts(Duration::from_millis(500), None).unwrap();

// open handle
let mut handle = SiHandle::open(0).unwrap();

// write to device handle
let v = vec![0x55, 0x80, 0x00, 0x01, 0x01, 0xAA];
handle.write(&v);

// read 7 bytes from device handle
let read_res = handle.read(7);

// close device
handle.close();

License

License: GPL v3

Structs

SiHandle
Timeout

Enums

ProductStringType
SilabsUsbXpressError

Functions

devices_count

Returns the number of devices connected

product_string

Returns a descriptor for a device

set_timeouts

Sets read and write block timeouts

timeouts

Gets read and write block timeouts