pub struct Spec {
pub max_charge_current_ua: Option<u32>,
pub max_charge_voltage_uv: Option<u32>,
pub max_input_current_ua: Option<u32>,
pub model: Option<String>,
pub supported_modes: Option<Vec<OperatingMode>>,
pub supported_options: Option<WatchOptions>,
pub precharge_current_ua: Option<u32>,
pub charge_term_current_ua: Option<u32>,
pub recharge_voltage_uv: Option<u32>,
pub min_input_voltage_uv: Option<u32>,
pub max_input_voltage_uv: Option<u32>,
/* private fields */
}Expand description
Static hardware characteristics and driver capabilities.
Fields§
§max_charge_current_ua: Option<u32>Optional. Maximum current the charger hardware can supply to the battery, in microamps. Omitted if unsupported by hardware.
max_charge_voltage_uv: Option<u32>Optional. Maximum voltage the charger hardware can regulate across the battery, in microvolts. Omitted if unsupported by hardware.
max_input_current_ua: Option<u32>Optional. Maximum input current the charger input power path can draw, in microamps. Omitted if unsupported by hardware.
model: Option<String>Optional. Informational charger model string or manufacturer part number. Omitted if unknown or unprogrammed in hardware.
supported_modes: Option<Vec<OperatingMode>>Optional. List of operating modes supported by this charger hardware implementation. Omitted if unsupported or unconfigurable by hardware.
supported_options: Option<WatchOptions>Required. The interest and wake options supported by this driver/hardware.
Drivers must populate this table so clients know which fields support active change notifications. If omitted by the driver, clients should assume no active interrupt watching is supported.
supported_options.interest: Telemetry fields that can actively trigger hanging-get watch notifications on change. Fields omitted are passive measurements that do not generate hardware interrupts; their freshest values are returned during active state changes or via [Charger.GetStatus].supported_options.wake_on: Telemetry fields capable of actively waking the system from suspend via hardware interrupt lines etc.
precharge_current_ua: Option<u32>Optional. Trickle/precharge current supplied when battery voltage is below the fast-charge threshold, in microamps. Omitted if unsupported by hardware.
charge_term_current_ua: Option<u32>Optional. Default or minimum charge termination (top-off / taper cutoff) current threshold, in microamps. Omitted if unsupported by hardware.
recharge_voltage_uv: Option<u32>Optional. Battery voltage threshold (or drop below float voltage) at which the charger
automatically initiates a recharge cycle after reaching ChargePhase::DONE, in microvolts.
Omitted if unsupported by hardware.
min_input_voltage_uv: Option<u32>Optional. Minimum programmable input voltage regulation floor (VINDPM), in microvolts. Omitted if unsupported by hardware.
max_input_voltage_uv: Option<u32>Optional. Maximum programmable input voltage regulation floor (VINDPM), in microvolts. Omitted if unsupported by hardware.
Trait Implementations§
Source§impl<D: ResourceDialect> Decode<Spec, D> for Spec
impl<D: ResourceDialect> Decode<Spec, D> for Spec
impl Persistable for Spec
impl StructuralPartialEq for Spec
Source§impl TypeMarker for Spec
impl TypeMarker for Spec
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned to a single memcpy.