SCSI support: ROG Arion external drive LED control

This commit is contained in:
Luke D. Jones
2024-12-21 20:35:51 +13:00
parent 19ffcf3376
commit 0f2d89858e
24 changed files with 1393 additions and 172 deletions

149
Cargo.lock generated
View File

@@ -187,6 +187,7 @@ dependencies = [
"rog_dbus",
"rog_platform",
"rog_profiles",
"rog_scsi",
"rog_slash",
"ron",
"zbus 5.2.0",
@@ -210,6 +211,7 @@ dependencies = [
"rog_aura",
"rog_platform",
"rog_profiles",
"rog_scsi",
"rog_slash",
"serde",
"tokio",
@@ -549,12 +551,32 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
"rustc-hash",
"rustc-hash 1.1.0",
"shlex",
"syn 2.0.90",
"which",
]
[[package]]
name = "bindgen"
version = "0.71.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3"
dependencies = [
"bitflags 2.6.0",
"cexpr",
"clang-sys",
"itertools 0.13.0",
"log",
"prettyplease",
"proc-macro2",
"quote",
"regex",
"rustc-hash 2.1.0",
"shlex",
"syn 2.0.90",
]
[[package]]
name = "bit_field"
version = "0.10.2"
@@ -648,18 +670,18 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06"
[[package]]
name = "bytemuck"
version = "1.20.0"
version = "1.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a"
checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
dependencies = [
"bytemuck_derive",
]
[[package]]
name = "bytemuck_derive"
version = "1.8.0"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec"
checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a"
dependencies = [
"proc-macro2",
"quote",
@@ -731,9 +753,9 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad"
[[package]]
name = "cc"
version = "1.2.4"
version = "1.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf"
checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e"
dependencies = [
"jobserver",
"libc",
@@ -930,7 +952,7 @@ dependencies = [
[[package]]
name = "const-field-offset"
version = "0.1.5"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"const-field-offset-macro",
"field-offset",
@@ -939,7 +961,7 @@ dependencies = [
[[package]]
name = "const-field-offset-macro"
version = "0.1.5"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"proc-macro2",
"quote",
@@ -2150,8 +2172,8 @@ dependencies = [
[[package]]
name = "i-slint-backend-linuxkms"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"calloop 0.14.2",
"drm",
@@ -2168,8 +2190,8 @@ dependencies = [
[[package]]
name = "i-slint-backend-selector"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"cfg-if",
"i-slint-backend-linuxkms",
@@ -2181,8 +2203,8 @@ dependencies = [
[[package]]
name = "i-slint-backend-winit"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"ashpd",
"cfg-if",
@@ -2212,8 +2234,8 @@ dependencies = [
[[package]]
name = "i-slint-common"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"cfg-if",
"derive_more",
@@ -2224,8 +2246,8 @@ dependencies = [
[[package]]
name = "i-slint-compiler"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"by_address",
"codemap",
@@ -2254,8 +2276,8 @@ dependencies = [
[[package]]
name = "i-slint-core"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"auto_enums",
"bitflags 2.6.0",
@@ -2299,8 +2321,8 @@ dependencies = [
[[package]]
name = "i-slint-core-macros"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"quote",
"serde_json",
@@ -2309,8 +2331,8 @@ dependencies = [
[[package]]
name = "i-slint-renderer-femtovg"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"cfg-if",
"const-field-offset",
@@ -2339,8 +2361,8 @@ dependencies = [
[[package]]
name = "i-slint-renderer-skia"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"bytemuck",
"cfg-if",
@@ -3195,6 +3217,7 @@ dependencies = [
"cfg_aliases",
"libc",
"memoffset",
"pin-utils",
]
[[package]]
@@ -3538,9 +3561,9 @@ dependencies = [
[[package]]
name = "object"
version = "0.36.5"
version = "0.36.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [
"memchr",
]
@@ -3670,9 +3693,9 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
[[package]]
name = "png"
version = "0.17.15"
version = "0.17.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b67582bd5b65bdff614270e2ea89a1cf15bef71245cc1e5f7ea126977144211d"
checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
dependencies = [
"bitflags 1.3.2",
"crc32fast",
@@ -4145,6 +4168,7 @@ dependencies = [
"rog_aura",
"rog_platform",
"rog_profiles",
"rog_scsi",
"rog_slash",
"zbus 5.2.0",
]
@@ -4177,6 +4201,19 @@ dependencies = [
"zbus 5.2.0",
]
[[package]]
name = "rog_scsi"
version = "6.0.12"
dependencies = [
"cargo-husky",
"log",
"ron",
"serde",
"sg",
"typeshare",
"zbus 5.2.0",
]
[[package]]
name = "rog_simulators"
version = "6.0.12"
@@ -4218,7 +4255,7 @@ checksum = "0a542b0253fa46e632d27a1dc5cf7b930de4df8659dc6e720b647fc72147ae3d"
dependencies = [
"countme",
"hashbrown 0.14.5",
"rustc-hash",
"rustc-hash 1.1.0",
"text-size",
]
@@ -4250,6 +4287,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc-hash"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
[[package]]
name = "rustc_version"
version = "0.4.1"
@@ -4411,9 +4454,9 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.133"
version = "1.0.134"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d"
dependencies = [
"itoa",
"memchr",
@@ -4441,6 +4484,16 @@ dependencies = [
"serde",
]
[[package]]
name = "sg"
version = "0.4.0"
source = "git+https://github.com/flukejones/sg-rs.git#b1ce961ae42b0aad22166bac84e5105a918debd3"
dependencies = [
"bindgen 0.71.1",
"libc",
"nix",
]
[[package]]
name = "sha1"
version = "0.10.6"
@@ -4512,7 +4565,7 @@ version = "0.78.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29880a81b088de322e9c5306236c70761a61b5fa4df3c15c93bad3ce890ce34c"
dependencies = [
"bindgen",
"bindgen 0.69.5",
"cc",
"flate2",
"heck",
@@ -4546,8 +4599,8 @@ dependencies = [
[[package]]
name = "slint"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"const-field-offset",
"i-slint-backend-selector",
@@ -4563,8 +4616,8 @@ dependencies = [
[[package]]
name = "slint-build"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"i-slint-compiler",
"i-slint-core-macros",
@@ -4575,8 +4628,8 @@ dependencies = [
[[package]]
name = "slint-macros"
version = "1.9.0"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
version = "1.9.1"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"i-slint-compiler",
"proc-macro2",
@@ -5023,9 +5076,9 @@ dependencies = [
[[package]]
name = "tinyvec"
version = "1.8.0"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8"
dependencies = [
"tinyvec_macros",
]
@@ -5357,7 +5410,7 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e24880fbcee511571ed9104b9a5273d1563d11ccaaf54b7c05cc6c100b652f9f"
dependencies = [
"bindgen",
"bindgen 0.69.5",
]
[[package]]
@@ -5537,7 +5590,7 @@ dependencies = [
[[package]]
name = "vtable"
version = "0.2.1"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"const-field-offset",
"portable-atomic",
@@ -5548,7 +5601,7 @@ dependencies = [
[[package]]
name = "vtable-macro"
version = "0.2.1"
source = "git+https://github.com/slint-ui/slint.git#09c9857082ff0e5cef6cdb4ed4396aab9eafb9d4"
source = "git+https://github.com/slint-ui/slint.git#e125da180d34df9e221cb925ea5c1af6e813bd8f"
dependencies = [
"proc-macro2",
"quote",
@@ -6176,9 +6229,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winit"
version = "0.30.5"
version = "0.30.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0be9e76a1f1077e04a411f0b989cbd3c93339e1771cb41e71ac4aee95bfd2c67"
checksum = "7c3d72dfa0f47e429290cd0d236884ca02f22dbd5dd33a43ad2b8bf4d79b6c18"
dependencies = [
"ahash",
"android-activity",