rdxusb

Crates.iordxusb
lib.rsrdxusb
version2025.0.0
created_at2025-01-04 06:30:50.623606+00
updated_at2025-01-04 06:30:50.623606+00
descriptionCross-platform library for accessing Redux Robotics devices over USB
homepage
repositoryhttps://github.com/Redux-Robotics/rdxusb
max_upload_size
id1503701
size75,540
Guinea Wheek (guineawheek)

documentation

README

rdxusb - a cross-platform USB library for Redux devices

This library provides an easy to build and easy to link API. It automatically handles connecting to compatible Redux devices.

Installation - Rust

cargo add rdxusb

Installation - Maven

RdxUsb builds for every WPILib-supported platform.

If you're using nativeutils, consider the following modifications to your gradle build:

// Add the Redux Maven url in your repositories block:
repositories {
  // ...
  maven {
    url = "https://maven.reduxrobotics.com/"
  }
}

nativeUtils {
  nativeDependencyContainer {
    // this can be static or dynamic, doesn't really matter
    rdxusb(getNativeDependencyTypeClass('WPIStaticMavenDependency')) {
      version = "2025.+"
      groupId = "com.reduxrobotics.usb"
      artifactId = "rdxusb"
      ext = "zip"

      headerClassifier = "headers"
      targetPlatforms = [
        "windowsx86-64",
        "windowsarm64",
        "linuxarm64",
        "linuxx86-64",
        "linuxathena",
        "linuxarm32",
        "osxuniversal"
      ]
    }
  }
}

model {
  components {
    YourLibrary(NativeLibrarySpec) {
      binaries.all {        
        if (it.targetPlatform.operatingSystem.isMacOsX()) {
          // MacOS needs to be linked against IOKit
          it.linker.args << '-framework' << 'IOKit'
        }
      }
      nativeUtils.useRequiredLibrary(it, "rdxusb", [...your stuff here...])
    }
  }
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 27

cargo fmt