class FixedVariableSupplyPowerRequestData

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

RDO based on a fixed or variable power supply PDO.

See `PowerRequestData` for a general description of the RDO (power

Request Data Object) representation.

See `PowerData` for a general description of the PDO (Power Data Object)

representation, `FixedPowerSupplyData` for fixed power supply PDOs, and

`VariablePowerSupplyData` for variable power supply PDOs.

usbpd3.1 6.4.2 "Request Message", Tables 6-21 "Fixed and Variable Request

Data Object" and 6-22 "Fixed and Variable Request Data Object with GiveBack

Support"

Public Methods

typename std::remove_reference_t<decltype(bits_)> operating_current_10ma ()

The Sink's (estimated) current consumption, in multiples of 10 mA.

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

usb_pd::FixedVariableSupplyPowerRequestData & set_operating_current_10ma (typename std::remove_reference_t<decltype(bits_)> val)

The Sink's (estimated) current consumption, in multiples of 10 mA.

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

typename std::remove_reference_t<decltype(bits_)> limit_current_10ma ()

The Sink's maximum or minimum current consumption, in multiples of 10 mA.

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

usb_pd::FixedVariableSupplyPowerRequestData & set_limit_current_10ma (typename std::remove_reference_t<decltype(bits_)> val)

The Sink's maximum or minimum current consumption, in multiples of 10 mA.

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

int32_t operating_current_ma ()

The Sink's (estimated) current consumption, in mA (milliamps).

The Source uses this estimate to manage its power reserve, and power

distribution across multiple ports.

The Sink is expected to send a new Request message when its estimated

current consumption changes.

This field must be at most `maximum_current_ma()` in the related

FixedPowerSupplyData or VariablePowerSupplyData object.

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

FixedVariableSupplyPowerRequestData & set_operating_current_ma (int32_t current_ma)

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

int32_t limit_current_ma ()

The Sink's maximum or minimum current consumption, in mA (milliamps).

If `supports_power_give_back` is true, this is the Sink's minimum operating

current, which can be requested via a GotoMin message.

If `supports_power_give_back` is false, this is the maximum amount of

current that the Sink may ever consume. `operating_current_ma()` must be

below this value.

If `capabilities_mismatch` is true, this field may exceed

`maximum_current_ma()` in the related FixedPowerSupplyData or

VariablePowerSupplyData object. If `capabilities_mismatch` is false, this

field must be at most `maximum_current_ma()`.

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

FixedVariableSupplyPowerRequestData & set_limit_current_ma (int32_t current_ma)

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

FixedVariableSupplyPowerRequestData CreateForPosition (int32_t related_power_data_object_position)

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

void FixedVariableSupplyPowerRequestData (uint32_t bits)

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

void FixedVariableSupplyPowerRequestData (PowerRequestData request_data)

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

void FixedVariableSupplyPowerRequestData (int32_t related_power_data_object_position, PositionTag )

Instance with all fields except for PDO position set to zero.

This is most likely an invalid RDO. At a minimum, power consumption must be

set before use in a PD message.

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

void FixedVariableSupplyPowerRequestData (const FixedVariableSupplyPowerRequestData & )

Value type, copying is allowed.

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

FixedVariableSupplyPowerRequestData & operator= (const FixedVariableSupplyPowerRequestData & )

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

bool operator== (const FixedVariableSupplyPowerRequestData & other)

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

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

bool operator!= (const FixedVariableSupplyPowerRequestData & other)

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