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

View File

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

View File

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