supla-device
Loading...
Searching...
No Matches
Supla::Control::DimmerBase Class Reference
Inheritance diagram for Supla::Control::DimmerBase:
Collaboration diagram for Supla::Control::DimmerBase:

Public Member Functions

void setRGBCCT (int red, int green, int blue, int colorBrightness, int brightness, int whiteTemperature, bool toggle=false, bool instant=false) override
void onLoadState () override
 Second method called on element in SuplaDevice.begin().
void onSaveState () override
 Method called periodically during SuplaDevice iteration.
Public Member Functions inherited from Supla::Control::RGBWBase
virtual void setRGBWValueOnDevice (uint32_t red, uint32_t green, uint32_t blue, uint32_t colorBrightness, uint32_t whiteBrightness)=0
void setRGBCCTValueOnDevice (uint32_t red, uint32_t green, uint32_t blue, uint32_t colorBrightness, uint32_t white1Brightness, uint32_t white2Brightness) override
void onLoadState () override
 Second method called on element in SuplaDevice.begin().
void onSaveState () override
 Method called periodically during SuplaDevice iteration.
Public Member Functions inherited from Supla::Control::RGBCCTBase
 RGBCCTBase (RGBCCTBase *parent=nullptr)
 Constructor.
void purgeConfig () override
 Removes all configration data related to the element from Storage::Config.
Supla::ApplyConfigResult applyChannelConfig (TSD_ChannelConfig *result, bool local=false) override
void fillChannelConfig (void *channelConfig, int *size, uint8_t configType) override
virtual void setRGBW (int red, int green, int blue, int colorBrightness, int whiteBrightness, bool toggle=false, bool instant=false)
int32_t handleNewValueFromServer (TSD_SuplaChannelNewValue *newValue) override
 Handles "new value" request from server.
virtual void turnOn ()
virtual void turnOff ()
virtual void toggle ()
bool isOn ()
bool isOnW ()
bool isOnRGB ()
void handleAction (int event, int action) override
void setStep (int step)
void setDefaultDimmedBrightness (int dimmedBrightness)
void setFadeEffectTime (int timeMs)
void setMinIterationBrightness (uint8_t minBright)
void setMinMaxIterationDelay (uint16_t delayMs)
void onInit () override
 Third method called on element in SuplaDevice.begin().
void iterateAlways () override
 Method called on each SuplaDevice iteration.
void onFastTimer () override
 Method called on fast timer interupt.
bool isStateStorageMigrationNeeded () const override
 Method called after onInit() to check if state storage migration is needed.
void onLoadConfig (SuplaDeviceClass *) override
 First method called on element in SuplaDevice.begin().
void convertStorageFromLegacyChannel (LegacyChannelFunction channelFunction)
 Enables storage conversion from legacy channel function to new.
void setSkipLegacyMigration ()
 Disables storage conversion from legacy channel function to new.
void attach (Supla::Control::Button *)
void fillSuplaChannelNewValue (TSD_SuplaChannelNewValue *value) override
 Fills TSD_SuplaChannelNewValue based on current state.
virtual RGBCCTBasesetDefaultStateOn ()
virtual RGBCCTBasesetDefaultStateOff ()
virtual RGBCCTBasesetDefaultStateRestore ()
virtual RGBCCTBasesetBrightnessLimits (int min, int max)
virtual RGBCCTBasesetColorBrightnessLimits (int min, int max)
void setBrightnessAdjuster (BrightnessAdjuster *adjuster)
int getCurrentDimmerBrightness () const
int getCurrentRGBBrightness () const
void setMaxHwValue (int newMaxHwValue)
void setMinPwmFrequency (uint16_t minPwmFrequency)
 Sets minimum PWM frequency.
void setMaxPwmFrequency (uint16_t maxPwmFrequency)
 Sets maximum PWM frequency.
void setPwmFrequency (uint16_t pwmFrequency)
 Sets PWM frequency and applies validation.
void setStepPwmFrequency (uint16_t stepPwmFrequency)
 Sets PWM frequency step.
uint16_t getMinPwmFrequency () const
 Returns minimum PWM frequency.
uint16_t getMaxPwmFrequency () const
 Returns maximum PWM frequency.
uint16_t getPwmFrequency () const
 Returns current PWM frequency.
uint16_t getStepPwmFrequency () const
 Returns PWM frequency step.
bool hasParent () const
 Checks if this instance has parent.
int getAncestorCount () const
 Returns number of ancestor instances (by parent).
Public Member Functions inherited from Supla::ChannelElement
 ChannelElement (int channelNumber=-1)
ChannelgetChannel () override
const ChannelgetChannel () const override
 Returns pointer to main channel.
Public Member Functions inherited from Supla::ElementWithChannelActions
void addAction (uint16_t action, ActionHandler &client, uint16_t event, bool alwaysEnabled=false) override
void addAction (uint16_t action, ActionHandler *client, uint16_t event, bool alwaysEnabled=false) override
virtual void addAction (uint16_t action, ActionHandler &client, Supla::Condition *condition, bool alwaysEnabled=false)
virtual void addAction (uint16_t action, ActionHandler *client, Supla::Condition *condition, bool alwaysEnabled=false)
bool isEventAlreadyUsed (uint16_t event, bool ignoreAlwaysEnabled) override
void onRegistered (Supla::Protocol::SuplaSrpc *suplaSrpc) override
 Method called each time when device successfully registers to Supla server.
bool iterateConnected () override
 Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol.
void handleChannelConfigFinished () override
 Handles "channel config finished" message from server.
uint8_t handleChannelConfig (TSD_ChannelConfig *result, bool local) override
 Handles "set channel config" request from server.
void handleSetChannelConfigResult (TSDS_SetChannelConfigResult *result) override
 Handles "set channel config" reply from server.
void runAction (uint16_t event) const override
bool isAnyUpdatePending () const override
 Returns true if any update is pending.
void triggerSetChannelConfig (int configType=SUPLA_CONFIG_TYPE_DEFAULT)
Public Member Functions inherited from Supla::Element
Element * next ()
 Returns next Element from the list.
virtual bool iterateConnected (void *ptr)
 deprecated
virtual void onTimer ()
 Method called on timer interupt.
virtual void onSoftReset ()
 Method called when device soft restart is triggered.
virtual void onDeviceConfigChange (uint64_t fieldBit)
 Method called when device config is changed.
virtual void handleGetChannelState (TDSC_ChannelState *channelState)
 Handles "get channel state (i)" request from server.
virtual int handleCalcfgFromServer (TSD_DeviceCalCfgRequest *request)
 Handles CALCFG requests from server.
virtual uint8_t handleWeeklySchedule (TSD_ChannelConfig *newWeeklySchedule, bool altSchedule=false, bool local=false)
 Handles "set channel config" with "weekly schedule" type request from server.
int getChannelNumber () const
 Returns channel number.
int getSecondaryChannelNumber () const
 Returns secondary channel number.
virtual bool isOwnerOfSubDeviceId (int subDeviceId) const
 Returns true if element is owner of subDeviceId.
virtual const ChannelgetSecondaryChannel () const
 Returns pointer to secondary channel.
virtual ChannelgetSecondaryChannel ()
virtual void generateKey (char *output, const char *key) const
 Generates key used for Config.
Element & disableChannelState ()
 Disables channel state (i) function.
bool isChannelStateEnabled () const
 Returns true if channel state (i) function is enabled.
void setInitialCaption (const char *caption, bool secondaryChannel=false)
 Sets initial caption.
bool setDefaultFunction (uint32_t defaultFunction)
 Sets default channel's function.
bool setFunction (uint32_t newFunction)
 Sets channel's function.
virtual void onFunctionChange (uint32_t currentFunction, uint32_t newFunction)
 Called when channel function changes.
Public Member Functions inherited from Supla::LocalAction
virtual ActionHandlerClientgetHandlerForFirstClient (uint16_t event)
virtual ActionHandlerClientgetHandlerForClient (ActionHandler *client, uint16_t event)
virtual void disableOtherClients (const ActionHandler &client, uint16_t event)
virtual void enableOtherClients (const ActionHandler &client, uint16_t event)
virtual void disableOtherClients (const ActionHandler *client, uint16_t event)
virtual void enableOtherClients (const ActionHandler *client, uint16_t event)
virtual void disableAction (int32_t action, ActionHandler *client, int32_t event)
virtual void enableAction (int32_t action, ActionHandler *client, int32_t event)
virtual bool disableActionsInConfigMode ()
Public Member Functions inherited from Supla::ActionHandler
virtual void activateAction (int action)
virtual bool deleteClient ()
virtual ActionHandlergetRealClient ()

Protected Member Functions

void iterateDimmerRGBW (int rgbStep, int wStep) override
Protected Member Functions inherited from Supla::Control::RGBCCTBase
int getMissingGpioCount () const
 Returns number of GPIO pins that are required to control this channel.
void enableChannel ()
void disableChannel ()
uint8_t addWithLimit (int value, int addition, int limit=255)
int adjustBrightness (int value)
int getStep (int step, int target, int current, int distance) const
bool calculateAndUpdate (int targetValue, uint16_t *hwValue, int distance, uint32_t *lastChangeMs) const
Protected Member Functions inherited from Supla::ElementWithChannelActions
virtual bool setAndSaveFunction (uint32_t channelFunction)
virtual bool loadFunctionFromConfig ()
virtual bool saveConfigChangeFlag () const
virtual bool loadConfigChangeFlag ()
void clearChannelConfigChangedFlag ()
bool iterateConfigExchange ()
int getNextConfigType () const
 Returns the next config type to be sent.

Additional Inherited Members

Public Types inherited from Supla::Control::RGBCCTBase
enum  ButtonControlType : uint8_t { BUTTON_FOR_RGBW , BUTTON_FOR_RGB , BUTTON_FOR_W , BUTTON_NOT_USED }
enum class  AutoIterateMode : uint8_t { OFF , DIMMER , RGB , ALL }
enum class  LegacyChannelFunction : uint8_t { None , RGBW , RGB , Dimmer }
Static Public Member Functions inherited from Supla::Element
static Element * begin ()
 Returns first Element (based on creation order).
static Element * last ()
 Returns last Element (based on creation order).
static Element * getElementByChannelNumber (int channelNumber)
 Returns Element by channel number.
static Element * getOwnerOfSubDeviceId (int subDeviceId)
 Returns Element which owns given subDeviceId.
static bool IsAnyUpdatePending ()
 Checks if any element has pending update for remote server.
static void NotifyElementsAboutConfigChange (uint64_t fieldBit)
 Notifies all elements about device config change.
static bool IsInvalidPtrSet ()
 When "invalid pointer" is set, previously obtained Element pointer may be invalid.
static void ClearInvalidPtr ()
 Clears "invalid pointer" flag.
Static Public Member Functions inherited from Supla::LocalAction
static void DeleteActionsHandledBy (const ActionHandler *client)
static void DeleteActionsTriggeredBy (const LocalAction *action)
static void NullifyActionsHandledBy (const ActionHandler *client)
static ActionHandlerClientgetClientListPtr ()
Protected Attributes inherited from Supla::Control::RGBCCTBase
bool valueChanged = true
uint8_t buttonStep = 10
uint8_t curRed = 0
uint8_t curGreen = 255
uint8_t curBlue = 0
uint8_t curColorBrightness = 0
uint8_t curWhiteBrightness = 0
uint8_t curWhiteTemperature = 0
uint8_t lastColorBrightness = 100
uint8_t lastWhiteBrightness = 100
uint8_t defaultDimmedBrightness = 20
bool dimIterationDirection = false
bool resetDisance = false
bool instant = false
bool enabled = true
bool initDone = false
bool skipLegacyMigration = false
int8_t stateOnInit = RGBW_STATE_ON_INIT_RESTORE
uint8_t minIterationBrightness = 1
LegacyChannelFunction legacyChannelFunction = LegacyChannelFunction::None
enum ButtonControlType buttonControlType = BUTTON_FOR_RGBW
enum AutoIterateMode autoIterateMode = AutoIterateMode::OFF
uint16_t maxHwValue = 1023
uint16_t hwRed = 0
uint16_t hwGreen = 0
uint16_t hwBlue = 0
uint16_t hwColorBrightness = 0
uint16_t hwBrightness = 0
uint16_t hwWhiteTemperature = 0
uint16_t hwWhite1Brightness = 0
uint16_t hwWhite2Brightness = 0
uint16_t minBrightness = 1
uint16_t maxBrightness = 1023
uint16_t minColorBrightness = 1
uint16_t maxColorBrightness = 1023
uint16_t redDistance = 0
uint16_t greenDistance = 0
uint16_t blueDistance = 0
uint16_t colorBrightnessDistance = 0
uint16_t brightnessDistance = 0
uint16_t whiteTemperatureDistance = 0
uint16_t minMaxIterationDelay = 750
uint16_t fadeEffect = 500
uint16_t minPwmFrequency = 100
uint16_t maxPwmFrequency = 9000
uint16_t pwmFrequency = 500
uint16_t stepPwmFrequency = 1
uint32_t lastTick = 0
uint32_t lastChangeRedMs = 0
uint32_t lastChangeGreenMs = 0
uint32_t lastChangeBlueMs = 0
uint32_t lastChangeColorBrightnessMs = 0
uint32_t lastChangeBrightnessMs = 0
uint32_t lastChangeWhiteTemperatureMs = 0
uint32_t lastMsgReceivedMs = 0
uint32_t lastIterateDimmerTimestamp = 0
uint32_t iterationDelayTimestamp = 0
uint32_t lastAutoIterateStartTimestamp = 0
float warmWhiteGain = 1.0
float coldWhiteGain = 1.0
BrightnessAdjusterbrightnessAdjuster = nullptr
Supla::Control::ButtonattachedButton = nullptr
RGBCCTBaseparent = nullptr
Protected Attributes inherited from Supla::ChannelElement
Channel channel
Protected Attributes inherited from Supla::ElementWithChannelActions
Supla::ChannelConfigState channelConfigState
uint8_t setChannelConfigAttempts = 0
ConfigTypesBitmap usedConfigTypes
ConfigTypesBitmap receivedConfigTypes
Protected Attributes inherited from Supla::Element
Element * nextPtr = nullptr
Static Protected Attributes inherited from Supla::Element
static Element * firstPtr = nullptr
static bool invalidatePtr = false

Member Function Documentation

◆ iterateDimmerRGBW()

void Supla::Control::DimmerBase::iterateDimmerRGBW ( int rgbStep,
int wStep )
overrideprotectedvirtual

Reimplemented from Supla::Control::RGBCCTBase.

◆ onLoadState()

void Supla::Control::DimmerBase::onLoadState ( )
overridevirtual

Second method called on element in SuplaDevice.begin().

Method called during state Storage initialization (i.e. read from EEPROM, FRAM). Called only if Storage class is configured.

Reimplemented from Supla::Element.

◆ onSaveState()

void Supla::Control::DimmerBase::onSaveState ( )
overridevirtual

Method called periodically during SuplaDevice iteration.

It should provide state saving for this elemnet to Storage

Reimplemented from Supla::Element.

◆ setRGBCCT()

void Supla::Control::DimmerBase::setRGBCCT ( int red,
int green,
int blue,
int colorBrightness,
int brightness,
int whiteTemperature,
bool toggle = false,
bool instant = false )
overridevirtual

Reimplemented from Supla::Control::RGBCCTBase.


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