class FixedPowerSupplyData

Defined at line 97 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 106 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 106 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 117 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 117 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 122 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 122 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 130 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 130 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 135 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 135 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 143 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 143 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 150 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 150 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 153 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 153 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 156 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 156 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 159 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 159 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 162 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

FixedPowerSupplyData & set_voltage_mv (int32_t voltage_mv)

Defined at line 167 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 172 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

FixedPowerSupplyData & set_maximum_current_ma (int32_t current_ma)

Defined at line 177 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 182 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 190 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

void FixedPowerSupplyData (const FixedPowerSupplyData & )

Value type, copying is allowed.

Defined at line 194 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

FixedPowerSupplyData & operator= (const FixedPowerSupplyData & )

Defined at line 195 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

void ~FixedPowerSupplyData ()

Trivially destructible.

Defined at line 198 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 201 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

bool operator== (const FixedPowerSupplyData & other)

In C++20, equality comparison can be defaulted.

Defined at line 204 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h

bool operator!= (const FixedPowerSupplyData & other)

Defined at line 205 of file ../../src/devices/power/drivers/fusb302/usb-pd-message-objects.h