class FixedPowerSupplyData
Defined at line 95 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
Well-regulated power supply that maintains a fixed voltage.
See `PowerData` for a general description of the PDO (Power Data Object)
representation.
Sink requirements for a well-regulated power supply are expressed via
`SinkFixedPowerSupplyData` instances.
usbpd3.1 6.4.1.2.2 "Fixed Supply Power Data Object"
Public Methods
usb_pd::FixedPowerSupplyData & set_supports_dual_role_power (typename std::remove_reference_t<decltype(bits_)> val)
Indicates support for the PR_Swap message.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 104 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> supports_dual_role_power ()
Indicates support for the PR_Swap message.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 104 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> requires_usb_suspend ()
Indicates whether the Sink must follow USB suspend rules.
usbpd3.1 names this fieldĀ USB Suspend Supported, but it conveys
requirements for the Sink. The requirements apply after a PD Contract is
negotiated. 6.4.1.2.2 "USB Suspend Supported", states that a peripheral may
draw up to 25 mW (pSnkSusp) and a hub may draw up to 125 mW (pHubSusp)
during suspend, and defers to usb2, usb3.2 and usb4.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 115 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_requires_usb_suspend (typename std::remove_reference_t<decltype(bits_)> val)
Indicates whether the Sink must follow USB suspend rules.
usbpd3.1 names this fieldĀ USB Suspend Supported, but it conveys
requirements for the Sink. The requirements apply after a PD Contract is
negotiated. 6.4.1.2.2 "USB Suspend Supported", states that a peripheral may
draw up to 25 mW (pSnkSusp) and a hub may draw up to 125 mW (pHubSusp)
during suspend, and defers to usb2, usb3.2 and usb4.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 115 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> has_unconstrained_power ()
True iff the Source draws power from an "unlimited" power source.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 120 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_has_unconstrained_power (typename std::remove_reference_t<decltype(bits_)> val)
True iff the Source draws power from an "unlimited" power source.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 120 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_supports_usb_communications (typename std::remove_reference_t<decltype(bits_)> val)
Indicates if the Source can communicate over a USB data channel.
The data channels are D+/- introduced in usb2.0 and SS Tx/Rx introduced in
usb3.0.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 128 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> supports_usb_communications ()
Indicates if the Source can communicate over a USB data channel.
The data channels are D+/- introduced in usb2.0 and SS Tx/Rx introduced in
usb3.0.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 128 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_supports_dual_role_data (typename std::remove_reference_t<decltype(bits_)> val)
Indicates support for the DR_Swap message.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 133 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> supports_dual_role_data ()
Indicates support for the DR_Swap message.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 133 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_supports_unchunked_extended_messages (typename std::remove_reference_t<decltype(bits_)> val)
True iff the Port can receive messages with more than 26 data bytes.
If true, the underlying BMC PHY must be designed to receive and transmit
extended messages up to 260-bytes.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 141 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> supports_unchunked_extended_messages ()
True iff the Port can receive messages with more than 26 data bytes.
If true, the underlying BMC PHY must be designed to receive and transmit
extended messages up to 260-bytes.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 141 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_supports_extended_power_range (typename std::remove_reference_t<decltype(bits_)> val)
True iff the Source supports EPR (Extended Power Range) messages.
EPR power sources can supply more than 100 W.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 148 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> supports_extended_power_range ()
True iff the Source supports EPR (Extended Power Range) messages.
EPR power sources can supply more than 100 W.
Only used on the first PDO in a Source_Capabilities message.
Defined at line 148 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
PeakCurrentSupport peak_current ()
The power source's ability to briefly exceed the operating current.
Defined at line 151 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_peak_current (PeakCurrentSupport val)
The power source's ability to briefly exceed the operating current.
Defined at line 151 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_voltage_50mv (typename std::remove_reference_t<decltype(bits_)> val)
The power source's fixed voltage, in multiplies of 50 mV.
Defined at line 154 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> voltage_50mv ()
The power source's fixed voltage, in multiplies of 50 mV.
Defined at line 154 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
typename std::remove_reference_t<decltype(bits_)> maximum_current_10ma ()
The maximum current offered by the source, in multiples of 10 mA.
Defined at line 157 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
usb_pd::FixedPowerSupplyData & set_maximum_current_10ma (typename std::remove_reference_t<decltype(bits_)> val)
The maximum current offered by the source, in multiples of 10 mA.
Defined at line 157 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
int32_t voltage_mv ()
The power source's fixed voltage, in mV (millivolts).
Defined at line 160 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
FixedPowerSupplyData & set_voltage_mv (int32_t voltage_mv)
Defined at line 165 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
int32_t maximum_current_ma ()
The maximum current offered by the source, in mA (milliamperes).
Defined at line 170 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
FixedPowerSupplyData & set_maximum_current_ma (int32_t current_ma)
Defined at line 175 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
void FixedPowerSupplyData (PowerData power_data)
Debug-checked casting from PowerData.
Defined at line 180 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
void FixedPowerSupplyData ()
Instance with all fields except for type set to zero.
This is an invalid PDO (power data object). At a minimum, voltage and
maximum current must be set before use in a PD message.
Defined at line 188 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
void FixedPowerSupplyData (const FixedPowerSupplyData & )
Value type, copying is allowed.
Defined at line 192 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
FixedPowerSupplyData & operator= (const FixedPowerSupplyData & )
Defined at line 193 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
void ~FixedPowerSupplyData ()
Trivially destructible.
Defined at line 196 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
uint32_t operator unsigned int ()
Support explicit casting to uint32_t.
Defined at line 199 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h
bool operator== (const FixedPowerSupplyData & other)
Defined at line 201 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h