Fixed Dotstar support

This commit is contained in:
Spacehuhn 2021-01-11 11:15:22 +01:00
parent 57e50ea65f
commit 85a7c12b97
3 changed files with 31 additions and 20 deletions

View File

@ -61,10 +61,11 @@
#define RESET_BUTTON 5
// ===== LED ===== //
#define LED_APA
#define LED_DOTSTAR
#define LED_NUM 1
#define LED_APA_CLK 12
#define LED_APA_MOSI 13
#define LED_DOTSTAR_CLK 12
#define LED_DOTSTAR_DATA 13
#define LED_MODE_BRIGHTNESS 100
#elif defined(DSTIKE_D_DUINO_B_V5_LED_RING)
@ -402,12 +403,12 @@
#define LED_NEOPIXEL
#endif /* if defined(LED_NEOPIXEL_RGB) || defined(LED_NEOPIXEL_GRB) */
#if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(MY92)
#if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(LED_MY92) && !defined(LED_DOTSTAR)
#define LED_DIGITAL
#define USE_LED false
#else /* if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(MY92) */
#else // if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(LED_MY92) && !defined(LED_DOTSTAR)
#define USE_LED true
#endif /* if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(MY92) */
#endif // if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(LED_MY92) && !defined(LED_DOTSTAR)
#ifndef LED_PIN_R
#define LED_PIN_R 255
@ -522,6 +523,10 @@
/*
// ===== Reset ====== //
#define RESET_BUTTON 5
// ===== ATTACK ===== //
#define ATTACK_ALL_CH false
#define RANDOM_TX false
@ -586,6 +591,11 @@
#define LED_MY92_MODEL MY92XX_MODEL_MY9291
#define LED_MY92_MODEL MY92XX_MODEL_MY9231
#define LED_DOTSTAR
#define LED_NUM 1
#define LED_DOTSTAR_CLK 12
#define LED_DOTSTAR_DATA 13
// ===== DISPLAY ===== //
#define USE_DISPLAY false
#define DISPLAY_TIMEOUT 600

View File

@ -18,7 +18,7 @@
#include "src/Adafruit_NeoPixel-1.7.0/Adafruit_NeoPixel.h"
#elif defined(LED_MY92)
#include "src/my92xx-3.0.3/my92xx.h"
#elif defined(LED_APA)
#elif defined(LED_DOTSTAR)
#include "src/Adafruit_DotStar-1.1.4/Adafruit_DotStar.h"
#endif // if defined(LED_NEOPIXEL)
@ -29,19 +29,19 @@ namespace led {
// ===== PRIVATE ===== //
LED_MODE mode = OFF;
#if defined(LED_NEOPIXEL_RGB)
#if defined(LED_NEOPIXEL_RGB)
Adafruit_NeoPixel strip { LED_NUM, LED_NEOPIXEL_PIN, NEO_RGB + NEO_KHZ400 };
#elif defined(LED_NEOPIXEL_GRB)
#elif defined(LED_NEOPIXEL_GRB)
Adafruit_NeoPixel strip { LED_NUM, LED_NEOPIXEL_PIN, NEO_GRB + NEO_KHZ400 };
#elif defined(LED_MY92)
#elif defined(LED_MY92)
my92xx myled { LED_MY92_MODEL, LED_NUM, LED_MY92_DATA, LED_MY92_CLK, MY92XX_COMMAND_DEFAULT };
#elif defined(LED_APA)
Adafruit_DotStar strip { LED_NUM, LED_APA_MOSI, LED_APA_CLK, DOTSTAR_BRG };
#endif // if defined(LED_NEOPIXEL_RGB)
#elif defined(LED_DOTSTAR)
Adafruit_DotStar strip { LED_NUM, LED_DOTSTAR_DATA, LED_DOTSTAR_CLK, DOTSTAR_BGR };
#endif // if defined(LED_NEOPIXEL_RGB)
void setColor(uint8_t r, uint8_t g, uint8_t b) {
#if defined(LED_DIGITAL)
#if defined(LED_DIGITAL)
if (LED_ANODE) {
if (LED_PIN_R < 255) digitalWrite(LED_PIN_R, r > 0);
if (LED_PIN_G < 255) digitalWrite(LED_PIN_G, g > 0);
@ -51,7 +51,7 @@ namespace led {
if (LED_PIN_G < 255) digitalWrite(LED_PIN_G, g == 0);
if (LED_PIN_B < 255) digitalWrite(LED_PIN_B, b == 0);
}
#elif defined(LED_RGB)
#elif defined(LED_RGB)
if (r > 0) r = r * LED_MODE_BRIGHTNESS / 100;
if (g > 0) g = g * LED_MODE_BRIGHTNESS / 100;
if (b > 0) b = b * LED_MODE_BRIGHTNESS / 100;
@ -65,21 +65,21 @@ namespace led {
analogWrite(LED_PIN_R, r);
analogWrite(LED_PIN_G, g);
analogWrite(LED_PIN_B, b);
#elif defined(LED_NEOPIXEL) || defined(LED_APA)
#elif defined(LED_NEOPIXEL) || defined(LED_DOTSTAR)
for (size_t i = 0; i < LED_NUM; i++) {
for (size_t i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, r, g, b);
}
strip.show();
#elif defined(LED_MY9291)
#elif defined(LED_MY9291)
myled.setChannel(LED_MY92_CH_R, r);
myled.setChannel(LED_MY92_CH_G, g);
myled.setChannel(LED_MY92_CH_B, b);
myled.setChannel(LED_MY92_CH_BRIGHTNESS, LED_MODE_BRIGHTNESS);
myled.setState(true);
myled.update();
#endif // if defined(LED_DIGITAL)
#endif // if defined(LED_DIGITAL)
}
// ===== PUBLIC ===== //
@ -90,7 +90,7 @@ namespace led {
if (LED_PIN_R < 255) pinMode(LED_PIN_R, OUTPUT);
if (LED_PIN_G < 255) pinMode(LED_PIN_G, OUTPUT);
if (LED_PIN_B < 255) pinMode(LED_PIN_B, OUTPUT);
#elif defined(LED_NEOPIXEL) || defined(LED_APA)
#elif defined(LED_NEOPIXEL) || defined(LED_DOTSTAR)
strip.begin();
strip.setBrightness(LED_MODE_BRIGHTNESS);
strip.show();

View File

@ -11,6 +11,7 @@ import sys
boards = [
"NODEMCU",
"WEMOS_D1_MINI",
"MALTRONICS",
"DSTIKE_DEAUTHER_V1",
"DSTIKE_DEAUTHER_V2",
"DSTIKE_DEAUTHER_V3",