From a4914c95c19688eee9e3b2408dd65926c64fdd32 Mon Sep 17 00:00:00 2001 From: Reto Trappitsch Date: Mon, 20 Oct 2025 15:35:29 +0200 Subject: [PATCH 1/3] update deps, update unit conversion for torrs --- Cargo.lock | 163 +++++++++++++++++++++++------------ Cargo.toml | 6 +- pfeiffer/tpg36x/src/units.rs | 8 +- 3 files changed, 114 insertions(+), 63 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9572acc..3472ce0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,21 +19,21 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "core-foundation" -version = "0.10.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -117,9 +117,9 @@ checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" [[package]] name = "indexmap" -version = "2.11.4" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", "hashbrown", @@ -156,9 +156,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.175" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libm" @@ -197,18 +197,18 @@ dependencies = [ [[package]] name = "measurements" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5b734b4e8187ea5777bc29c086f0970a27d8de42061b48f5af32cafc0ca904b" +checksum = "f72b38901c571007811f0483e64a7e215ac9e6e3688e9f83705a717621d81513" dependencies = [ "libm", ] [[package]] name = "memchr" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "nix" @@ -278,9 +278,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.2" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -290,9 +290,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -301,9 +301,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "relative-path" @@ -313,21 +313,20 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "rstest" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fc39292f8613e913f7df8fa892b8944ceb47c247b78e1b1ae2f09e019be789d" +checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" dependencies = [ "futures-timer", "futures-util", "rstest_macros", - "rustc_version", ] [[package]] name = "rstest_macros" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f168d99749d307be9de54d23fd226628d99768225ef08f6ffb52e0182a27746" +checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" dependencies = [ "cfg-if", "glob", @@ -364,18 +363,18 @@ checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "serde_core" -version = "1.0.225" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.225" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -384,11 +383,11 @@ dependencies = [ [[package]] name = "serialport" -version = "4.7.3" +version = "4.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acaf3f973e8616d7ceac415f53fc60e190b2a686fbcf8d27d0256c741c5007b" +checksum = "21f60a586160667241d7702c420fc223939fb3c0bb8d3fac84f78768e8970dee" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "core-foundation", "core-foundation-sys", @@ -396,9 +395,10 @@ dependencies = [ "libudev", "mach2", "nix", + "quote", "scopeguard", "unescaper", - "winapi", + "windows-sys", ] [[package]] @@ -409,9 +409,9 @@ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "syn" -version = "2.0.106" +version = "2.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b" dependencies = [ "proc-macro2", "quote", @@ -420,18 +420,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.16" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.16" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", @@ -440,18 +440,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" -version = "0.23.6" +version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ "indexmap", "toml_datetime", @@ -461,9 +461,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ "winnow", ] @@ -484,26 +484,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] -name = "winapi" -version = "0.3.9" +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "windows_x86_64_msvc" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" diff --git a/Cargo.toml b/Cargo.toml index 767922a..b203131 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,6 @@ members = ["instrumentRs", "other/digoutbox", "lakeshore/lakeshore_336", "pfeiff exclude = ["demos", "demos/*", "examples", "examples/*", "template", "template/*"] [workspace.dependencies] -measurements = "0.11.0" -serialport = "4.7.2" -rstest = "0.25.0" +measurements = "0.11.1" +serialport = "4.8.1" +rstest = "0.26.1" diff --git a/pfeiffer/tpg36x/src/units.rs b/pfeiffer/tpg36x/src/units.rs index b9d2801..5794084 100644 --- a/pfeiffer/tpg36x/src/units.rs +++ b/pfeiffer/tpg36x/src/units.rs @@ -91,12 +91,12 @@ pub(crate) fn from_value_unit(value: f64, unit: &PressureUnit) -> Tpg36xMeasurem match unit { PressureUnit::mBar => Tpg36xMeasurement::Pressure(Pressure::from_millibars(value)), PressureUnit::Torr => { - Tpg36xMeasurement::Pressure(Pressure::from_pascals(value * 133.32236842)) - } // HACK + Tpg36xMeasurement::Pressure(Pressure::from_torrs(value)) + } PressureUnit::Pa => Tpg36xMeasurement::Pressure(Pressure::from_pascals(value)), PressureUnit::mTorr => { - Tpg36xMeasurement::Pressure(Pressure::from_pascals(value * 0.13332236842)) - } // HACK + Tpg36xMeasurement::Pressure(Pressure::from_millitorrs(value)) + } PressureUnit::hPa => Tpg36xMeasurement::Pressure(Pressure::from_pascals(value * 100.0)), PressureUnit::V => Tpg36xMeasurement::Voltage(Voltage::from_volts(value)), } From 3aafe03ef963dd219ac802cdf2b8b19e680106aa Mon Sep 17 00:00:00 2001 From: Reto Trappitsch Date: Mon, 20 Oct 2025 15:42:45 +0200 Subject: [PATCH 2/3] update instrumentrs dependency on thiserror --- instrumentRs/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentRs/Cargo.toml b/instrumentRs/Cargo.toml index b612f51..170f885 100644 --- a/instrumentRs/Cargo.toml +++ b/instrumentRs/Cargo.toml @@ -8,7 +8,7 @@ repository = "https://github.com/trappitsch/instrumentRs/tree/main/instrumentRs" description = "A library for standardized control of (scientific) instruments from Rust." [dependencies] -thiserror = "2.0.12" +thiserror = "2.0" serialport = { workspace = true, optional = true } [dev-dependencies] From 65233965e8c6429dc4b18dc43b0c7ccef311adbd Mon Sep 17 00:00:00 2001 From: Reto Trappitsch Date: Mon, 20 Oct 2025 15:46:38 +0200 Subject: [PATCH 3/3] fmt, update changelog --- CHANELOG.md | 3 +++ pfeiffer/tpg36x/src/units.rs | 8 ++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANELOG.md b/CHANELOG.md index eaeea54..1d40d60 100644 --- a/CHANELOG.md +++ b/CHANELOG.md @@ -14,6 +14,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Updated dependencies to their latest versions (PR #13). This especially includes an update to `measurements` `0.11.1`, + which now includes support for pressures in Torr and mTorr units. + This support was used in the Pfeiffer TPG36x gauge driver. - Add a `SensorError` variant to `InstrumentError` to represent errors related to sensors (PR #12). - Dropped generics in `LoopbackInterface` and renamed it to `LoopbackInterfaceString`. This interface allows testing of instruments that communicate by sending byte encoded strings diff --git a/pfeiffer/tpg36x/src/units.rs b/pfeiffer/tpg36x/src/units.rs index 5794084..8109649 100644 --- a/pfeiffer/tpg36x/src/units.rs +++ b/pfeiffer/tpg36x/src/units.rs @@ -90,13 +90,9 @@ impl Display for PressureUnit { pub(crate) fn from_value_unit(value: f64, unit: &PressureUnit) -> Tpg36xMeasurement { match unit { PressureUnit::mBar => Tpg36xMeasurement::Pressure(Pressure::from_millibars(value)), - PressureUnit::Torr => { - Tpg36xMeasurement::Pressure(Pressure::from_torrs(value)) - } + PressureUnit::Torr => Tpg36xMeasurement::Pressure(Pressure::from_torrs(value)), PressureUnit::Pa => Tpg36xMeasurement::Pressure(Pressure::from_pascals(value)), - PressureUnit::mTorr => { - Tpg36xMeasurement::Pressure(Pressure::from_millitorrs(value)) - } + PressureUnit::mTorr => Tpg36xMeasurement::Pressure(Pressure::from_millitorrs(value)), PressureUnit::hPa => Tpg36xMeasurement::Pressure(Pressure::from_pascals(value * 100.0)), PressureUnit::V => Tpg36xMeasurement::Voltage(Voltage::from_volts(value)), }