Lamp-Da 0.1
A compact lantern project
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
power_delivery.h File Reference

Interface for the abstraction layer of the USB-PD algorithm. More...

Go to the source code of this file.

Classes

struct  lampda::power::powerDelivery::PDOTypes
 Define a USB PD PDO type. More...
 
struct  lampda::power::powerDelivery::OTGParameters
 The requested OTG parameters. More...
 

Namespaces

namespace  lampda
 Program scope.
 
namespace  lampda::power::powerDelivery
 Handles the power delivery capabilities (USB-PD).
 

Functions

bool lampda::power::powerDelivery::setup ()
 call once at program start, attach interrupts and init
 
void lampda::power::powerDelivery::start_threads ()
 Start polling threads.
 
void lampda::power::powerDelivery::loop ()
 call often (update status)
 
void lampda::power::powerDelivery::shutdown ()
 call once at program end
 
void lampda::power::powerDelivery::suspend_pd_state_machine ()
 Suspend the execution of the power delivery state machine.
 
void lampda::power::powerDelivery::resume_pd_state_machine ()
 resume the execution of the power delivery state machine
 
int lampda::power::powerDelivery::get_vbus_voltage ()
 use the vbus measure from negociator (close to USBC, 0 to N volts)
 
uint16_t lampda::power::powerDelivery::get_max_input_current ()
 return the max current available for this source
 
bool lampda::power::powerDelivery::is_standard_port ()
 return true if this voltage source is from a standard non pd port
 
bool lampda::power::powerDelivery::is_cable_detected ()
 Return true is a power cable is connected.
 
bool lampda::power::powerDelivery::is_power_available ()
 Return true if some power is available on VBUS.
 
bool lampda::power::powerDelivery::can_use_power ()
 Return true if we can use this source as power entry.
 
void lampda::power::powerDelivery::force_set_to_source_mode (const bool force)
 force the system to source mode
 
void lampda::power::powerDelivery::allow_otg (const bool)
 Call to allow or forbid OTG mode.
 
bool lampda::power::powerDelivery::is_switching_to_otg ()
 return true is the system is prepaping to switch to OTG mode
 
std::vector< PDOTypes > lampda::power::powerDelivery::get_available_pd ()
 If the charger is PD compatible, return it's capabilities.
 
void lampda::power::powerDelivery::show_pd_status ()
 Debug power delivery status.
 
OTGParameters lampda::power::powerDelivery::get_otg_parameters ()
 Return the desired OTG parameters.
 

Detailed Description

Interface for the abstraction layer of the USB-PD algorithm.