MycilaJSY 13.0.0
Arduino / ESP32 library for the JSY1031, JSY-MK-163, JSY-MK-193, JSY-MK-194, JSY-MK-227, JSY-MK-229, JSY-MK-333 families single-phase and three-phase AC bidirectional meters from Shenzhen Jiansiyan Technologies Co, Ltd.
Loading...
Searching...
No Matches
Mycila::VirtualDimmer Class Reference
Inheritance diagram for Mycila::VirtualDimmer:
Collaboration diagram for Mycila::VirtualDimmer:

Public Member Functions

void begin () override
void end () override
const char * type () const override
bool calculateMetrics (Metrics &metrics, float gridVoltage, float loadResistance) const override
Public Member Functions inherited from Mycila::Dimmer
void setDutyCycleLimit (float limit)
 Set the power duty cycle limit of the dimmer. The duty cycle will be clamped to this limit.
void setDutyCycleMin (float min)
 Duty remapping (equivalent to Shelly Dimmer remapping feature). Useful to calibrate the dimmer when using for example a PWM signal to 0-10V analog convertor connected to a voltage regulator which is only working in a specific voltage range like 1-8V.
void setDutyCycleMax (float max)
 Duty remapping (equivalent to Shelly Dimmer remapping feature). Useful to calibrate the dimmer when using for example a PWM signal to 0-10V analog convertor connected to a voltage regulator which is only working in a specific voltage range like 1-8V.
float getDutyCycleLimit () const
 Get the power duty cycle limit of the dimmer.
float getDutyCycleMin () const
 Get the remapped "0" of the dimmer duty cycle.
float getDutyCycleMax () const
 Get the remapped "1" of the dimmer duty cycle.
void enablePowerLUT (bool enable, uint16_t semiPeriod=0)
 Enable or disable the use of power LUT for dimmer curve The power LUT provides a non-linear dimming curve that is more aligned with human perception of brightness. If disabled, a linear dimming curve will be used.
bool isPowerLUTEnabled () const
 Check if the power LUT is enabled.
uint16_t getPowerLUTSemiPeriod () const
 Get the semi-period in us used for the power LUT calculations. If LUT is disabled, returns 0.
bool isEnabled () const
 Check if the dimmer is enabled (if it was able to initialize correctly)
bool isOnline () const
 Returns true if the dimmer is marked online.
void setOnline (bool online)
 Set the online status of the dimmer.
void on ()
 Turn on the dimmer at full power.
void off ()
 Turn off the dimmer.
bool isOff () const
 Check if the dimmer is off.
bool isOn () const
 Check if the dimmer is on.
bool isOnAtFullPower () const
 Check if the dimmer is on at full power.
bool setDutyCycle (float dutyCycle)
 Set the power duty.
float getDutyCycle () const
 Get the power duty cycle configured for the dimmer by teh user.
float getDutyCycleMapped () const
 Get the remapped power duty cycle from the currently user set duty cycle.
float getDutyCycleFire () const
 Get the real firing duty cycle (conduction duty cycle) applied to the dimmer in the range [0, 1].
bool calculateHarmonics (float *array, size_t n) const

Protected Member Functions

bool _apply () override
bool _calculateHarmonics (float *array, size_t n) const override

Additional Inherited Members

Static Protected Member Functions inherited from Mycila::Dimmer
static uint16_t _lookupFiringDelay (float dutyCycle, uint16_t semiPeriod)
static float _contrain (float amt, float low, float high)
static bool _calculatePhaseControlHarmonics (float dutyCycleFire, float *array, size_t n)
static bool _calculatePhaseControlMetrics (Metrics &metrics, float dutyCycleFire, float gridVoltage, float loadResistance)
Protected Attributes inherited from Mycila::Dimmer
bool _enabled = false
bool _online = false
float _dutyCycle = 0.0f
float _dutyCycleFire = 0.0f
float _dutyCycleLimit = 1.0f
float _dutyCycleMin = 0.0f
float _dutyCycleMax = 1.0f
bool _powerLUTEnabled = false
uint16_t _semiPeriod = 0

Detailed Description

Definition at line 418 of file MycilaDimmer.h.

Constructor & Destructor Documentation

◆ ~VirtualDimmer()

virtual Mycila::VirtualDimmer::~VirtualDimmer ( )
inlinevirtual

Definition at line 420 of file MycilaDimmer.h.

Member Function Documentation

◆ _apply()

bool Mycila::VirtualDimmer::_apply ( )
inlineoverrideprotectedvirtual

Implements Mycila::Dimmer.

Definition at line 430 of file MycilaDimmer.h.

◆ _calculateHarmonics()

bool Mycila::VirtualDimmer::_calculateHarmonics ( float * array,
size_t n ) const
inlineoverrideprotectedvirtual

Implements Mycila::Dimmer.

Definition at line 431 of file MycilaDimmer.h.

◆ begin()

void Mycila::VirtualDimmer::begin ( )
inlineoverridevirtual

Implements Mycila::Dimmer.

Definition at line 422 of file MycilaDimmer.h.

◆ calculateMetrics()

bool Mycila::VirtualDimmer::calculateMetrics ( Metrics & metrics,
float gridVoltage,
float loadResistance ) const
inlineoverridevirtual

Reimplemented from Mycila::Dimmer.

Definition at line 425 of file MycilaDimmer.h.

◆ end()

void Mycila::VirtualDimmer::end ( )
inlineoverridevirtual

Implements Mycila::Dimmer.

Definition at line 423 of file MycilaDimmer.h.

◆ type()

const char * Mycila::VirtualDimmer::type ( ) const
inlineoverridevirtual

Implements Mycila::Dimmer.

Definition at line 424 of file MycilaDimmer.h.


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