Lamp-Da 0.1
A compact lantern project
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
lampda::platform::gpio::DigitalPin Class Reference

Public Types

enum class  GPIO {
  gpio0 , gpio1 , gpio2 , gpio3 ,
  gpio4 , gpio5 , gpio6 , gpio7 ,
  Input_isChargeOk , Signal_PowerDelivery , Signal_UsbProtectionFault , Signal_VbusGateFault ,
  Signal_ChargerProcHot , Signal_BatteryBalancerAlert , Signal_ImuInterrupt1 , Signal_ImuInterrupt2 ,
  Output_EnableExternalPeripherals , Output_EnableMicrophone , Output_VbusFastRoleSwap , Output_VbusDirection ,
  Output_EnableOnTheGo , Output_DischargeVbus , Output_EnableVbusGate , Output_EnableOutputGate
}
 
enum class  Mode {
  kDefault = 0 , kInput , kOutput , kInputPullUp ,
  kInputPullUpSense , kOutputHighCurrent
}
 
enum class  Interrupt { kChange , kRisingEdge , kFallingEdge }
 
using voidFuncPtr = void(*)(void)
 

Public Member Functions

 DigitalPin (GPIO pin)
 
 DigitalPin (DigitalPin &&other)=delete
 
void set (GPIO pin)
 
void set_pin_mode (Mode mode) const
 
bool is_high () const
 
void set_high (bool isHigh) const
 
void write (uint16_t value) const
 
uint16_t read () const
 
int pin () const
 
void attach_callback (voidFuncPtr func, Interrupt mode) const
 
void detach_callbacks () const
 
void disconnect () const
 

Static Public Member Functions

static void detach_all ()
 
static void deactivate_gpios ()
 

The documentation for this class was generated from the following files: