Torc  0.1
Public Slots | Public Member Functions | List of all members
TorcPiPWMOutput Class Reference

A device to output PWM signals on the Raspberry Pi. More...

#include <torcpipwmoutput.h>

Inheritance diagram for TorcPiPWMOutput:
[legend]

Public Slots

void SetValue (double Value)
 
- Public Slots inherited from TorcPWMOutput
uint GetResolution (void)
 
uint GetMaxResolution (void)
 
- Public Slots inherited from TorcOutput
void SubscriberDeleted (QObject *Subscriber)
 
- Public Slots inherited from TorcDevice
virtual void SetValue (double Value)
 
virtual void SetValid (bool Valid)
 
bool GetValid (void)
 
double GetValue (void)
 
double GetDefaultValue (void)
 
QString GetModelId (void)
 
QString GetUniqueId (void)
 
QString GetUserName (void)
 
QString GetUserDescription (void)
 

Public Member Functions

 TorcPiPWMOutput (int Pin, const QVariantMap &Details)
 
 ~TorcPiPWMOutput ()
 
QStringList GetDescription (void)
 
- Public Member Functions inherited from TorcPWMOutput
 TorcPWMOutput (double Value, const QString &ModelId, const QVariantMap &Details, uint MaxResolution=DEFAULT_PWM_RESOLUTION)
 
virtual ~TorcPWMOutput ()=default
 
QStringList GetDescription (void) override
 
TorcOutput::Type GetType (void) override
 
- Public Member Functions inherited from TorcOutput
 TorcOutput (TorcOutput::Type Type, double Value, const QString &ModelId, const QVariantMap &Details)
 
 TorcOutput (TorcOutput::Type Type, double Value, const QString &ModelId, const QVariantMap &Details, QObject *Output, const QMetaObject &MetaObject, const QString &Blacklist=QStringLiteral(""))
 
virtual ~TorcOutput ()=default
 
bool HasOwner (void)
 
bool SetOwner (QObject *Owner)
 
QString GetUIName (void) override
 
- Public Member Functions inherited from TorcReferenceCounter
 TorcReferenceCounter (void)
 
virtual ~TorcReferenceCounter (void)=default
 
void UpRef (void)
 
virtual bool DownRef (void)
 
bool IsShared (void)
 
- Public Member Functions inherited from TorcHTTPService
 TorcHTTPService (QObject *Parent, const QString &Signature, const QString &Name, const QMetaObject &MetaObject, const QString &Blacklist=QStringLiteral(""))
 
virtual ~TorcHTTPService ()
 
void ProcessHTTPRequest (const QString &PeerAddress, int PeerPort, const QString &LocalAddress, int LocalPort, TorcHTTPRequest &Request) override
 
QVariantMap ProcessRequest (const QString &Method, const QVariant &Parameters, QObject *Connection, bool Authenticated) override
 
QString GetMethod (int Index)
 
QVariant GetProperty (int Index)
 Get the value of a given property. More...
 
QVariantMap GetServiceDetails (void)
 Return a QVariantMap describing the services methods and properties. More...
 
virtual QString GetPresentationURL (void)
 
- Public Member Functions inherited from TorcHTTPHandler
 TorcHTTPHandler (const QString &Signature, const QString &Name)
 
virtual ~TorcHTTPHandler ()
 
QString Signature (void) const
 
bool GetRecursive (void) const
 
QString Name (void) const
 

Additional Inherited Members

- Public Types inherited from TorcOutput
enum  Type {
  Unknown = 0, Temperature, pH, Switch,
  PWM, Button, Camera, Integer,
  MaxType
}
 
- Signals inherited from TorcDevice
void ValidChanged (bool Valid)
 
void ValueChanged (double Value)
 
- Static Public Member Functions inherited from TorcReferenceCounter
static void EventLoopEnding (bool Ending)
 
- Protected Member Functions inherited from TorcPWMOutput
bool ValueIsDifferent (double &NewValue)
 
- Protected Member Functions inherited from TorcOutput
virtual void Graph (QByteArray *Data)
 
- Protected Member Functions inherited from TorcDevice
virtual ~TorcDevice ()
 
- Protected Member Functions inherited from TorcHTTPService
void HandleSubscriberDeleted (QObject *Subscriber)
 
- Static Protected Member Functions inherited from TorcHTTPHandler
static bool MethodIsAuthorised (TorcHTTPRequest &Request, int Allowed)
 Check the current request is authorised and set the authentication header if not. More...
 
static void HandleOptions (TorcHTTPRequest &Request, int Allowed)
 
static void HandleFile (TorcHTTPRequest &Request, const QString &Filename, int Cache)
 
- Protected Attributes inherited from TorcPWMOutput
uint m_resolution
 
uint m_maxResolution
 
- Protected Attributes inherited from TorcDevice
double value
 
double defaultValue
 
QString modelId
 
QString uniqueId
 
QString userName
 
QString userDescription
 
QMutex lock
 
bool wasInvalid
 
- Protected Attributes inherited from TorcReferenceCounter
QAtomicInt m_refCount
 
- Protected Attributes inherited from TorcHTTPService
QReadWriteLock m_httpServiceLock
 
- Protected Attributes inherited from TorcHTTPHandler
QString m_signature
 
bool m_recursive
 
QString m_name
 
- Static Protected Attributes inherited from TorcDevice
static QHash< QString, TorcDevice * > * gDeviceList = new QHash<QString,TorcDevice*>()
 
static QMutex * gDeviceListLock = new QMutex(QMutex::Recursive)
 
- Static Protected Attributes inherited from TorcReferenceCounter
static bool m_eventLoopEnding = false
 
- Properties inherited from TorcPWMOutput
uint Resolution
 
uint maxResolution
 
- Properties inherited from TorcDevice
bool valid
 

Detailed Description

A device to output PWM signals on the Raspberry Pi.

The Raspberry Pi supports 1 hardware PWM output on pin 1 (BCM_GPIPO 18). For other pins, we use wiringPi's software PWM support and warn about its usage (software PWM may utilise relatively large amounts of CPU and may be subject to jitter under load - and nobody wants flickering LEDs!).

Definition at line 9 of file torcpipwmoutput.h.

Constructor & Destructor Documentation

TorcPiPWMOutput::TorcPiPWMOutput ( int  Pin,
const QVariantMap &  Details 
)

Definition at line 46 of file torcpipwmoutput.cpp.

TorcPiPWMOutput::~TorcPiPWMOutput ( )

Definition at line 77 of file torcpipwmoutput.cpp.

Member Function Documentation

QStringList TorcPiPWMOutput::GetDescription ( void  )
virtual

Reimplemented from TorcDevice.

Definition at line 89 of file torcpipwmoutput.cpp.

void TorcPiPWMOutput::SetValue ( double  Value)
slot

Definition at line 94 of file torcpipwmoutput.cpp.


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