Skip to main content

Module pulse_width_modulation

Module pulse_width_modulation 

Source
Expand description

Generated cluster module

Structs§

HandlerAdaptor
The handler adaptor for the cluster-specific handler. This adaptor implements the generic rs-matter handler trait.
HandlerAsyncAdaptor
The handler adaptor for the cluster-specific handler. This adaptor implements the generic rs-matter handler trait.
PulseWidthModulationAttrReadsView
Cluster-scoped view onto an crate::im::AttrPathArrayBuilder for the PulseWidthModulation cluster. Each method pushes one AttrPath (cluster ID baked in) and returns Self for chaining; .end() closes the underlying array. Attribute names that would collide with the view’s own inherent methods (see RESERVED_VIEW_METHOD_NAMES in the codegen) get an attr_ prefix.
PulseWidthModulationAttrResponsesView
Cluster-scoped response view onto a crate::im::ReportDataResp for the PulseWidthModulation cluster. Each method returns an iterator of (EndptId, Result<T, Error>) over the entries in attr_reports whose path matches that attribute. Attribute names that would collide with the view’s own inherent methods (see RESERVED_VIEW_METHOD_NAMES in the codegen) get an attr_ prefix.
PulseWidthModulationAttrWritesView
Cluster-scoped view onto an crate::im::AttrDataArrayBuilder for the PulseWidthModulation cluster. Scalar-valued attrs push and return Self for chaining; struct/list-valued attrs return the codegen-emitted typed value builder (whose parent chain bypasses the view — close back to the array via Data + AttrData .end()?s). .end() closes the wrapped array. Attribute names that would collide with the view’s own inherent methods (see RESERVED_VIEW_METHOD_NAMES in the codegen) get an attr_ prefix.
PulseWidthModulationClientView
Per-exchange view onto the PulseWidthModulation cluster’s client operations. Returned by PulseWidthModulationClient::pulse_width_modulation. Each method consumes the view (and therefore the underlying crate::transport::exchange::Exchange) — one exchange is one IM transaction.
PulseWidthModulationCmdRequestsView
Cluster-scoped view onto a crate::im::CmdDataArrayBuilder for the PulseWidthModulation cluster. Empty-request commands push and return Self; parameterized commands return the codegen-emitted typed request builder (whose parent chain bypasses the view — close back to the array via Data + CmdData .end()?s). .end() closes the wrapped array. Command names that would collide with the view’s own inherent methods (see RESERVED_VIEW_METHOD_NAMES in the codegen — currently end, which the WebRTC cluster uses) get a cmd_ prefix.
PulseWidthModulationCmdResponsesView
Cluster-scoped response view onto a crate::im::InvokeResp for the PulseWidthModulation cluster. Each method returns an iterator of (EndptId, Result<R, Error>) over the entries in invoke_responses whose path matches that command. Command names that would collide with the view’s own inherent methods (see RESERVED_VIEW_METHOD_NAMES in the codegen) get a cmd_ prefix.
PulseWidthModulationWriteResponsesView
Cluster-scoped write-status view onto a crate::im::WriteResp for the PulseWidthModulation cluster. Each method returns an iterator of (EndptId, Result<(), Error>) over the entries in write_responses whose path matches that attribute. Attribute names that would collide with the view’s own inherent methods (see RESERVED_VIEW_METHOD_NAMES in the codegen) get an attr_ prefix.

Enums§

AttributeId
The attribute IDs for the cluster.
CommandId
The command IDs for the cluster.
CommandResponseId
The command response IDs for the cluster.
EventId
The event IDs for the cluster.

Constants§

FULL_CLUSTER
The cluster metadata. By default, all cluster attributes, commands and events are allowed, and the revision is the latest one. Use Cluster::with_* to reconfigure.

Traits§

ClusterAsyncHandler
The handler trait for the cluster.
ClusterHandler
The handler trait for the cluster.
PulseWidthModulationAttrReads
IM-client extension trait for the PulseWidthModulation cluster’s attribute reads. use this trait to call .pulse_width_modulation_read() on an crate::im::AttrPathArrayBuilder; the returned PulseWidthModulationAttrReadsView exposes one method per attribute (cluster-prefix-free). .end() on the view closes the wrapped array.
PulseWidthModulationAttrResponses
IM-client extension trait for extracting PulseWidthModulation-cluster attribute reports out of a generic crate::im::ReportDataResp. use this trait to call .pulse_width_modulation_read_resp() on a ReportDataResp; the returned PulseWidthModulationAttrResponsesView exposes one iterator method per attribute (scalar, string, struct and list alike), each yielding (EndptId, Result<T, Error>). The item type borrows the response, so string/struct/list attributes come back as Utf8Str<'a>/OctetStr<'a>, the codegen struct wrapper Foo<'a>, or TLVArray<'a, _> respectively.
PulseWidthModulationAttrWrites
IM-client extension trait for the PulseWidthModulation cluster’s attribute writes. use this trait to call .pulse_width_modulation_write() on an crate::im::AttrDataArrayBuilder; the returned PulseWidthModulationAttrWritesView exposes one method per writable attribute (cluster-prefix-free). .end() on the view closes the wrapped array.
PulseWidthModulationClient
Single-shot IM-client convenience trait for the PulseWidthModulation cluster. use this trait to call .pulse_width_modulation() on an crate::transport::exchange::Exchange; the returned PulseWidthModulationClientView exposes one method per command and per attribute. Scalar attributes get a by-value <attr>_read(endpoint); non-scalar ones (string/octet/struct/list, whose value borrows the response) get <attr>_read_with(endpoint, |v| …), which hands the borrowed value to the closure and returns its owned result. The cluster ID, command/attribute ID, request opcode, retransmit loop, response-chunk iteration, and status-only handling are all baked in. DefaultSuccess commands return Result<(), Error> and drain the response internally; response-bearing commands return Result<<RespStruct>Handle<'a>, Error> — the handle keeps the RX buffer alive so the caller can read the borrowed response via .response()? before .complete().await?ing the exchange.
PulseWidthModulationCmdRequests
IM-client extension trait for the PulseWidthModulation cluster’s commands. use this trait to call .pulse_width_modulation_inv() on a crate::im::CmdDataArrayBuilder; the returned PulseWidthModulationCmdRequestsView exposes one method per command (cluster-prefix-free). .end() on the view closes the wrapped array.
PulseWidthModulationCmdResponses
IM-client extension trait for extracting PulseWidthModulation-cluster command responses out of a generic crate::im::InvokeResp. use this trait to call .pulse_width_modulation_inv_resp() on an InvokeResp; the returned PulseWidthModulationCmdResponsesView exposes one iterator method per command, each yielding (EndptId, Result<<Output>, Error>) — see crate::im::InvokeResp::responses / crate::im::InvokeResp::statuses for the per-entry semantics.
PulseWidthModulationWriteResponses
IM-client extension trait for extracting PulseWidthModulation-cluster per-attribute write statuses out of a generic crate::im::WriteResp. use this trait to call .pulse_width_modulation_write_resp() on a WriteResp; the returned PulseWidthModulationWriteResponsesView exposes one iterator method per writable attribute, each yielding (EndptId, Result<(), Error>).