PipPD

PipPD — компактная библиотека для Arduino и PlatformIO, которая работает с USB Type-C и Power Delivery через контроллеры FUSB302/FUSB302B со стороны потребителя питания (sink). Она предназначена для управления входным питанием в собственном устройстве, а не для роли полного стека USB-PD.

Низкоуровневая часть взаимодействует с PHY и регистрами FUSB302. Поверх неё реализован необходимый обмен PD-пакетами и подмножество спецификации PD 3.x для согласования питания. Слой sink policy может запросить фиксированный профиль или программируемое напряжение через PPS — с учётом возможностей источника.

Для анализа кабеля библиотека выполняет cable discovery и считывает данные e-marker. Вместе сведения о кабеле и результат согласования помогают устройству выбрать доступный режим питания без подключения более тяжёлого универсального стека.

Поэтому PipPD можно встроить в USB-тестер, зарядную станцию или другое устройство, которому нужно подбирать напряжение и ток по возможностям источника питания и кабеля.