initialize strobe to INACTIVE

This commit is contained in:
Kevin Matz 2021-01-09 09:36:17 -05:00
parent eef99b8c51
commit 945fa7595a
7 changed files with 14 additions and 9 deletions

View File

@ -25,12 +25,15 @@
*/
#pragma once
#include <stdint.h>
#include <cstdint>
using std::uint16_t;
class AbstractFixture
{
public:
AbstractFixture(uint16_t address = 1);
uint16_t address() {return address_;};
protected:
uint16_t address_; // DMX address

View File

@ -34,6 +34,9 @@ AbstractStrobe::AbstractStrobe (uint16_t address)
: AbstractFixture(address)
{
state_ = STROBE_INACTIVE;
profile_.intensity = 0;
profile_.duration = 0;
profile_.rate = 0;
}
/*

View File

@ -50,7 +50,7 @@ class AbstractStrobe
public:
AbstractStrobe(uint16_t address);
void recvData(DMX::Universe *); // data recieved callback
void recvData(DMX::Universe *); // data recieved callback
protected:
strobe_state_t state_; // state machine cycle state

View File

@ -45,7 +45,8 @@ bool EspDimmer::begin(uint8_t pin, uint8_t pwm) {
pwm_ = pwm;
ledcAttachPin(pin, pwm_); // Attach GPIO to PWM timer
ledcSetup(pwm_, 2400, 15); // 2.4KHz PWM, 15 bit resolutio
ledcWrite(pwm_, 0); // LED to 0%
setLevel(0); // LED to 0%
return true;
}
/*

View File

@ -32,8 +32,8 @@ class EspDimmer
{
public:
EspDimmer(uint16_t address);
bool begin(uint8_t pin, uint8_t pwm); // call in setup()
void setLevel(uint16_t level);
virtual bool begin(uint8_t pin, uint8_t pwm); // call in setup()
virtual void setLevel(uint16_t level);
protected:
uint8_t pwm_; // LEDc PWM channel

View File

@ -35,6 +35,6 @@ class EspStrobe
public:
EspStrobe(uint16_t address);
bool begin(uint8_t pin, uint8_t pwm); // call in setup()
virtual bool begin(uint8_t pin, uint8_t pwm); // call in setup()
static void update(void * param); // update task
};

View File

@ -203,9 +203,7 @@ void setup() {
if (config::settings.strobe_enable) {
strobe = new EspStrobe(config::settings.strobe_address);
ESP_LOGI(TAG, "Initializing DMX Strobe");
if (!strobe->begin(config::settings.strobe_led_pin, 0)) {
ESP_LOGW(TAG, "Strobe failed to configure.");
}
strobe->begin(config::settings.strobe_led_pin, 0);
e131->subscribe(config::settings.strobe_universe);
e131->universe(config::settings.strobe_universe)->onData(std::bind(&EspStrobe::recvData,
strobe, std::placeholders::_1));