|
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.
|


Public Member Functions | |
| void | setPin (gpio_num_t pin) |
| Set the GPIO pin to use for the dimmer. | |
| gpio_num_t | getPin () const |
| Get the GPIO pin used for the dimmer. | |
| void | setFrequency (uint32_t frequency) |
| Set the PWM frequency in Hz. | |
| uint32_t | getFrequency () const |
| Get the PWM frequency in Hz. | |
| void | setResolution (uint8_t resolution) |
| Set the PWM resolution in bits. | |
| uint8_t | getResolution () const |
| Get the PWM resolution in bits. | |
| virtual void | begin () |
| Enable a dimmer on a specific GPIO pin. | |
| virtual void | end () |
| Disable the dimmer. | |
| virtual const char * | type () const |
| 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 applied to the dimmer in the range [0, 1]. | |
Protected Member Functions | |
| virtual bool | _apply () |
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) |
| 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 |
Definition at line 13 of file MycilaDimmerPWM.h.
|
inlinevirtual |
Definition at line 15 of file MycilaDimmerPWM.h.
|
inlineprotectedvirtual |
Implements Mycila::Dimmer.
Definition at line 79 of file MycilaDimmerPWM.h.
|
virtual |
Enable a dimmer on a specific GPIO pin.
Implements Mycila::Dimmer.
Definition at line 38 of file MycilaDimmerPWM.cpp.
|
virtual |
Disable the dimmer.
Implements Mycila::Dimmer.
Definition at line 63 of file MycilaDimmerPWM.cpp.
|
inline |
Get the PWM frequency in Hz.
Definition at line 35 of file MycilaDimmerPWM.h.
|
inline |
Get the GPIO pin used for the dimmer.
Definition at line 25 of file MycilaDimmerPWM.h.
|
inline |
Get the PWM resolution in bits.
Definition at line 45 of file MycilaDimmerPWM.h.
|
inline |
Set the PWM frequency in Hz.
Definition at line 30 of file MycilaDimmerPWM.h.
|
inline |
Set the GPIO pin to use for the dimmer.
Definition at line 20 of file MycilaDimmerPWM.h.
|
inline |
Set the PWM resolution in bits.
Definition at line 40 of file MycilaDimmerPWM.h.
|
inlinevirtual |
Implements Mycila::Dimmer.
Definition at line 62 of file MycilaDimmerPWM.h.