GenComm: BasicCommInfo Attribute should return the entire structure
This commit is contained in:
parent
e02b316030
commit
6bec796bad
1 changed files with 13 additions and 6 deletions
|
@ -121,9 +121,15 @@ struct FailSafeParams {
|
||||||
bread_crumb: u8,
|
bread_crumb: u8,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(ToTLV)]
|
||||||
|
struct BasicCommissioningInfo {
|
||||||
|
expiry_len: u16,
|
||||||
|
max_cmltv_failsafe_secs: u16,
|
||||||
|
}
|
||||||
|
|
||||||
pub struct GenCommCluster<'a> {
|
pub struct GenCommCluster<'a> {
|
||||||
data_ver: Dataver,
|
data_ver: Dataver,
|
||||||
expiry_len: u16,
|
basic_comm_info: BasicCommissioningInfo,
|
||||||
failsafe: &'a RefCell<FailSafe>,
|
failsafe: &'a RefCell<FailSafe>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +139,10 @@ impl<'a> GenCommCluster<'a> {
|
||||||
data_ver: Dataver::new(rand),
|
data_ver: Dataver::new(rand),
|
||||||
failsafe,
|
failsafe,
|
||||||
// TODO: Arch-Specific
|
// TODO: Arch-Specific
|
||||||
expiry_len: 120,
|
basic_comm_info: BasicCommissioningInfo {
|
||||||
|
expiry_len: 120,
|
||||||
|
max_cmltv_failsafe_secs: 120,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,10 +166,8 @@ impl<'a> GenCommCluster<'a> {
|
||||||
codec.encode(writer, RegLocationType::IndoorOutdoor as _)
|
codec.encode(writer, RegLocationType::IndoorOutdoor as _)
|
||||||
}
|
}
|
||||||
Attributes::BasicCommissioningInfo(_) => {
|
Attributes::BasicCommissioningInfo(_) => {
|
||||||
writer.start_struct(AttrDataWriter::TAG)?;
|
self.basic_comm_info
|
||||||
writer.u16(TagType::Context(0), self.expiry_len)?;
|
.to_tlv(&mut writer, AttrDataWriter::TAG)?;
|
||||||
writer.end_container()?;
|
|
||||||
|
|
||||||
writer.complete()
|
writer.complete()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue