Skip to content

Releases: fpagliughi/phidget-rs

Version 0.4.0

Choose a tag to compare

@fpagliughi fpagliughi released this 12 May 20:18
  • Attach & Detach callbacks are now device-specific for all the devices
    • Callbacks get a mutable reference to the specific device, not to a PhidgetRef
  • Added support for Pressure Sensors
  • Added examples for digital and voltage (analog) outputs
  • Fixed serde deserialization of PhidgetInfo
  • PhidgetInfo::device_label changed to a String from Option<String>
  • Bumped -sys crate's MSRV to v1.73.0
  • Bumped clap dependency to v4.4 for utils and examples
  • #14 Added thermocouple-type parameter to temperature sensor example.

Version 0.3.1

Choose a tag to compare

@fpagliughi fpagliughi released this 05 May 21:07
  • Added TryFrom<&PhidgetRef> for GenericPhidget
  • Re-exported GenericPhidget to the top-level module.

Version 0.3.0

Choose a tag to compare

@fpagliughi fpagliughi released this 01 May 00:27
  • [Breaking] Changes to the Phidget trait and non-owning containers.

    • GenericPhidget is now an owning wrapper.
    • PhidgetRef is now the non-owning reference to a generic PhidgetHandle
    • Callbacks now get a PhidgetRef, which is also !Send and !Sync. Thus, they can not "escape" from the callback thread.
    • The GenericPhidget can currently only be created from a PhidgetRef, and implements Send.
      • It manages the lifetime of the handle with ffi::Phidget_retain() and ffi::Phidget_release().
    • To keep a Phidget from a hotplug add event, convert the PhidgetRef to a GenericPhidget and send it out of the callback.
  • The Phidget trait no longer requires the Send trait, though most device types should manually implement Send to be useful.

  • The Phidget trait supports reading and writing device labels to Flash

  • Added DeviceId type and Phidget::device_id() query

  • Themperature senor has getters and setters for RtdType, RtdWireSetup, and ThermocoupleType.

  • Added serde build feature to support serializing data type like PhidgetInfo, etc

  • Base types moved to a new types module

  • The -sys crate uses the default installer location for phidget22.lib on Windows by default.

  • #13 Implemented Fidget Manager

    • The Phidget trait now requires: fn as_mut_handle(&mut self) -> PhidgetHandle;
  • Added an example for hotplug events

  • The CLI utils build feaure no longer enabled by default.

  • The -sys crate:

    • Uses the default install location for the phidget22.lib library on Windows, C:\Program Files\Phidgets\Phidget22.
      • No longer a need to set the PHIDGET_ROOT environment variable for the default install.

Version 0.2.0

Choose a tag to compare

@fpagliughi fpagliughi released this 22 Oct 13:37
  • Digital In & Out state consistently represented with a u8
  • #11 Examples in the documentation.
  • Minor updates and output formatting to the example apps
  • Created a config file for the Rust 'typos' utility, and used it to run a spell check.
  • Updates to network server monitoring with an example program

Version 0.1.4

Choose a tag to compare

@fpagliughi fpagliughi released this 30 May 16:47
  • #8 Add voltage ratio input
  • Added 32-bit bindings in -sys crate.
  • Added stepper motor with example. Missing test and async functionality

Version 0.1.3

Choose a tag to compare

@fpagliughi fpagliughi released this 10 Mar 16:22

Fixed a breaking change in the 0.1.x line.

  • Exporting devices (DigitalInput, DigitalOutput, etc) at the crate root to fix accidental breaking change in v0.1.x

Version 0.1.2

Choose a tag to compare

@fpagliughi fpagliughi released this 10 Mar 15:55
  • Bumped MSRV to 1.73
  • Seperated voltage-io to voltage-input and ouput modules.
  • Seperated digital-io to digital-input and ouput modules.
  • Completion of available functions from in digital-input and ouput binding.
  • Moved devices to specific module to keep the root directory clean.
  • Added support for optional PHIDGET_ROOT to point to the directory of the phidgets22 library.

Version 0.1.1

Choose a tag to compare

@fpagliughi fpagliughi released this 20 Apr 15:36

Incremental additions:

  • Added attach/detach setup functions for the devices
  • Removed generic callback setters from Phidget trait to allow it to be used as an object, like Vec<Box<Phidget>>
  • Phidgets implement Send trait
  • Added a GenericPhidget type
  • Downgraded clap to v3.2 (from 4.x) to allow for lower/older MRSV (now Rust v0.59.0)

Version 0.1.0

Choose a tag to compare

@fpagliughi fpagliughi released this 19 Apr 15:17

Initial release.

Basic support for:

  • Temperature
  • Humidity
  • Voltage in/out
  • Digital in/out
  • Hubs