DUDS
Distributed Update of Data from Something
duds::hardware::interface::linux::SysPwm Class Reference

This is a Linux-only PWM driver that I need for my eclipse project. More...

#include <SysPwm.hpp>

Collaboration diagram for duds::hardware::interface::linux::SysPwm:

Public Member Functions

 SysPwm (int chip, int channel)
 
 ~SysPwm ()
 
void disable ()
 
double dutyCycle () const
 
void dutyCycle (double ratio)
 
void dutyFull ()
 
std::chrono::nanoseconds dutyPeriod () const
 
void dutyPeriod (const std::chrono::nanoseconds &ns)
 
void dutyZero ()
 
void enable (bool state=true)
 
bool enabled () const
 
void frequency (unsigned int hz)
 
unsigned int frequency () const
 
std::chrono::nanoseconds period () const
 
void period (const std::chrono::nanoseconds &ns)
 

Private Attributes

std::fstream dc
 
std::chrono::nanoseconds dutyNs
 
std::fstream en
 
std::fstream per
 
std::chrono::nanoseconds periodNs
 
bool running
 

Detailed Description

This is a Linux-only PWM driver that I need for my eclipse project.

I intend to make a generalized interface, but I need to investigate PWM devices a bit more before I can make a decent one.

Author
Jeff Jackowski

Definition at line 35 of file SysPwm.hpp.

Constructor & Destructor Documentation

◆ SysPwm()

duds::hardware::interface::linux::SysPwm::SysPwm ( int  chip,
int  channel 
)

Definition at line 23 of file SysPwm.cpp.

◆ ~SysPwm()

duds::hardware::interface::linux::SysPwm::~SysPwm ( )

Definition at line 74 of file SysPwm.cpp.

Member Function Documentation

◆ disable()

void duds::hardware::interface::linux::SysPwm::disable ( )
inline

Definition at line 46 of file SysPwm.hpp.

Referenced by ~SysPwm().

◆ dutyCycle() [1/2]

double duds::hardware::interface::linux::SysPwm::dutyCycle ( ) const

Definition at line 104 of file SysPwm.cpp.

◆ dutyCycle() [2/2]

void duds::hardware::interface::linux::SysPwm::dutyCycle ( double  ratio)

Definition at line 119 of file SysPwm.cpp.

◆ dutyFull()

void duds::hardware::interface::linux::SysPwm::dutyFull ( )
inline

Definition at line 59 of file SysPwm.hpp.

◆ dutyPeriod() [1/2]

std::chrono::nanoseconds duds::hardware::interface::linux::SysPwm::dutyPeriod ( ) const
inline

Definition at line 52 of file SysPwm.hpp.

Referenced by dutyCycle().

◆ dutyPeriod() [2/2]

void duds::hardware::interface::linux::SysPwm::dutyPeriod ( const std::chrono::nanoseconds &  ns)

Definition at line 93 of file SysPwm.cpp.

◆ dutyZero()

void duds::hardware::interface::linux::SysPwm::dutyZero ( )
inline

Definition at line 56 of file SysPwm.hpp.

◆ enable()

void duds::hardware::interface::linux::SysPwm::enable ( bool  state = true)

Definition at line 78 of file SysPwm.cpp.

◆ enabled()

bool duds::hardware::interface::linux::SysPwm::enabled ( ) const
inline

Definition at line 49 of file SysPwm.hpp.

◆ frequency() [1/2]

void duds::hardware::interface::linux::SysPwm::frequency ( unsigned int  hz)

Definition at line 126 of file SysPwm.cpp.

◆ frequency() [2/2]

unsigned int duds::hardware::interface::linux::SysPwm::frequency ( ) const

Definition at line 134 of file SysPwm.cpp.

◆ period() [1/2]

std::chrono::nanoseconds duds::hardware::interface::linux::SysPwm::period ( ) const
inline

Definition at line 64 of file SysPwm.hpp.

Referenced by frequency().

◆ period() [2/2]

void duds::hardware::interface::linux::SysPwm::period ( const std::chrono::nanoseconds &  ns)

Definition at line 108 of file SysPwm.cpp.

Member Data Documentation

◆ dc

std::fstream duds::hardware::interface::linux::SysPwm::dc
private

Definition at line 37 of file SysPwm.hpp.

Referenced by dutyPeriod(), and SysPwm().

◆ dutyNs

std::chrono::nanoseconds duds::hardware::interface::linux::SysPwm::dutyNs
private

Definition at line 39 of file SysPwm.hpp.

Referenced by dutyCycle(), dutyPeriod(), and SysPwm().

◆ en

std::fstream duds::hardware::interface::linux::SysPwm::en
private

Definition at line 36 of file SysPwm.hpp.

Referenced by enable(), and SysPwm().

◆ per

std::fstream duds::hardware::interface::linux::SysPwm::per
private

Definition at line 38 of file SysPwm.hpp.

Referenced by period(), and SysPwm().

◆ periodNs

std::chrono::nanoseconds duds::hardware::interface::linux::SysPwm::periodNs
private

Definition at line 40 of file SysPwm.hpp.

Referenced by dutyCycle(), frequency(), period(), and SysPwm().

◆ running

bool duds::hardware::interface::linux::SysPwm::running
private

Definition at line 41 of file SysPwm.hpp.

Referenced by enable(), and SysPwm().


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