mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
Update changelog, extra dbus tweaks
This commit is contained in:
@@ -5,6 +5,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
### Changed
|
||||
- Use DBUS_NAME instead of DBUS_IFACE when requesting the name
|
||||
- Give different names for the bytearray arguments so that pydbus is not confused
|
||||
- Add org.freedesktop.DBus.Method.NoReply annotations
|
||||
- Remove dbus reply for multizone writes
|
||||
|
||||
## [0.11.0] - 2020-09-05
|
||||
### BREAKING CHANGE
|
||||
|
||||
@@ -64,8 +64,6 @@ impl AuraDbusWriter {
|
||||
&mut self,
|
||||
key_colour_array: &KeyColourArray,
|
||||
) -> Result<(), Box<dyn Error>> {
|
||||
// self.connection.process(Duration::from_micros(300))?;
|
||||
|
||||
let group = key_colour_array.get();
|
||||
let mut msg = Message::new_method_call(DBUS_NAME, DBUS_PATH, DBUS_IFACE, "LedWriteEffect")?
|
||||
.append3(&group[0].to_vec(), &group[1].to_vec(), &group[2].to_vec())
|
||||
@@ -76,7 +74,7 @@ impl AuraDbusWriter {
|
||||
self.connection.send(msg).unwrap();
|
||||
thread::sleep(Duration::from_micros(self.block_time));
|
||||
if self.stop.load(Ordering::Relaxed) {
|
||||
panic!("Go signal to stop!");
|
||||
panic!("Got signal to stop!");
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
@@ -86,20 +84,14 @@ impl AuraDbusWriter {
|
||||
&mut self,
|
||||
group: &[[u8; LED_MSG_LEN]; 4],
|
||||
) -> Result<String, Box<dyn std::error::Error>> {
|
||||
self.connection.process(Duration::from_micros(300))?;
|
||||
|
||||
let msg = Message::new_method_call(DBUS_NAME, DBUS_PATH, DBUS_IFACE, "LedWriteMultizone")?
|
||||
.append1(&group[0].to_vec())
|
||||
.append1(&group[1].to_vec())
|
||||
.append1(&group[2].to_vec())
|
||||
.append1(&group[3].to_vec());
|
||||
let r = self
|
||||
.connection
|
||||
.send_with_reply_and_block(msg, Duration::from_millis(5000))?;
|
||||
if let Some(reply) = r.get1::<&str>() {
|
||||
return Ok(reply.to_owned());
|
||||
}
|
||||
Err(Box::new(dbus::Error::new_custom("name", "message")))
|
||||
msg.set_no_reply(true);
|
||||
self.connection.send(msg).unwrap();
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
||||
@@ -54,6 +54,7 @@ pub(super) fn dbus_create_ledmultizone_method(effect: NestedVecType) -> Method<M
|
||||
.inarg::<Vec<u8>, _>("bytearray2")
|
||||
.inarg::<Vec<u8>, _>("bytearray3")
|
||||
.inarg::<Vec<u8>, _>("bytearray4")
|
||||
.annotate("org.freedesktop.DBus.Method.NoReply", "true")
|
||||
}
|
||||
|
||||
pub(super) fn dbus_create_ledeffect_method(effect: NestedVecType) -> Method<MTSync, ()> {
|
||||
@@ -158,18 +159,21 @@ pub(super) fn dbus_create_tree() -> (
|
||||
|
||||
let factory = Factory::new_sync::<()>();
|
||||
let effect_cancel_sig = Arc::new(factory.signal("LedCancelEffect", ()));
|
||||
let tree = factory.tree(()).add(
|
||||
factory.object_path(DBUS_PATH, ()).introspectable().add(
|
||||
factory
|
||||
.interface(DBUS_IFACE, ())
|
||||
.add_m(dbus_create_ledmsg_method(input_bytes.clone()))
|
||||
.add_m(dbus_create_ledmultizone_method(input_effect.clone()))
|
||||
.add_m(dbus_create_ledeffect_method(input_effect.clone()))
|
||||
.add_m(dbus_create_animatrix_method(animatrix_img.clone()))
|
||||
.add_m(dbus_create_fan_mode_method(fan_mode.clone()))
|
||||
.add_s(effect_cancel_sig.clone()),
|
||||
),
|
||||
).add(factory.object_path("/", ()).introspectable());
|
||||
let tree = factory
|
||||
.tree(())
|
||||
.add(
|
||||
factory.object_path(DBUS_PATH, ()).introspectable().add(
|
||||
factory
|
||||
.interface(DBUS_IFACE, ())
|
||||
.add_m(dbus_create_ledmsg_method(input_bytes.clone()))
|
||||
.add_m(dbus_create_ledmultizone_method(input_effect.clone()))
|
||||
.add_m(dbus_create_ledeffect_method(input_effect.clone()))
|
||||
.add_m(dbus_create_animatrix_method(animatrix_img.clone()))
|
||||
.add_m(dbus_create_fan_mode_method(fan_mode.clone()))
|
||||
.add_s(effect_cancel_sig.clone()),
|
||||
),
|
||||
)
|
||||
.add(factory.object_path("/", ()).introspectable());
|
||||
(
|
||||
tree,
|
||||
input_bytes,
|
||||
|
||||
Reference in New Issue
Block a user