Minor cleanup w/r/t LEDs
This commit is contained in:
parent
f473145d42
commit
9d2241efe7
@ -2363,7 +2363,7 @@
|
|||||||
//#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
|
//#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
|
||||||
//#define NEOPIXEL2_PIN 5
|
//#define NEOPIXEL2_PIN 5
|
||||||
//#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel
|
//#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel
|
||||||
#define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used
|
#define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip, larger of 2 strips if 2 NeoPixel strips are used
|
||||||
#define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
|
#define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
|
||||||
#define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255)
|
#define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255)
|
||||||
//#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
|
//#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
|
||||||
|
@ -129,12 +129,9 @@ void LEDLights::set_color(const LEDColor &incol
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(PCA9632)
|
// Update I2C LED driver
|
||||||
// Update I2C LED driver
|
TERN_(PCA9632, PCA9632_set_led_color(incol));
|
||||||
pca9632_set_led_color(incol);
|
TERN_(PCA9533, PCA9533_set_rgb(incol.r, incol.g, incol.b));
|
||||||
#endif
|
|
||||||
|
|
||||||
TERN_(PCA9533, PCA9533_setColor(incol.r, incol.g, incol.b));
|
|
||||||
|
|
||||||
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
|
#if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS)
|
||||||
// Don't update the color when OFF
|
// Don't update the color when OFF
|
||||||
|
@ -104,11 +104,7 @@ typedef struct LEDColor {
|
|||||||
bool operator!=(const LEDColor &right) { return !operator==(right); }
|
bool operator!=(const LEDColor &right) { return !operator==(right); }
|
||||||
|
|
||||||
bool is_off() const {
|
bool is_off() const {
|
||||||
return 3 > r + g + b
|
return 3 > r + g + b + TERN0(HAS_WHITE_LED, w);
|
||||||
#if HAS_WHITE_LED
|
|
||||||
+ w
|
|
||||||
#endif
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
} LEDColor;
|
} LEDColor;
|
||||||
|
|
||||||
@ -156,7 +152,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
inline void set_color(uint8_t r, uint8_t g, uint8_t b
|
static inline void set_color(uint8_t r, uint8_t g, uint8_t b
|
||||||
#if HAS_WHITE_LED
|
#if HAS_WHITE_LED
|
||||||
, uint8_t w=0
|
, uint8_t w=0
|
||||||
#if ENABLED(NEOPIXEL_LED)
|
#if ENABLED(NEOPIXEL_LED)
|
||||||
|
@ -53,9 +53,9 @@ Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIX
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Marlin_NeoPixel::set_color(const uint32_t color) {
|
void Marlin_NeoPixel::set_color(const uint32_t color) {
|
||||||
if (get_neo_index() >= 0) {
|
if (neoindex >= 0) {
|
||||||
set_pixel_color(get_neo_index(), color);
|
set_pixel_color(neoindex, color);
|
||||||
set_neo_index(-1);
|
neoindex = -1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (uint16_t i = 0; i < pixels(); ++i) {
|
for (uint16_t i = 0; i < pixels(); ++i) {
|
||||||
@ -78,18 +78,17 @@ void Marlin_NeoPixel::set_color_startup(const uint32_t color) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Marlin_NeoPixel::init() {
|
void Marlin_NeoPixel::init() {
|
||||||
set_neo_index(-1); // -1 .. NEOPIXEL_PIXELS-1 range
|
neoindex = -1; // -1 .. NEOPIXEL_PIXELS-1 range
|
||||||
set_brightness(NEOPIXEL_BRIGHTNESS); // 0 .. 255 range
|
set_brightness(NEOPIXEL_BRIGHTNESS); // 0 .. 255 range
|
||||||
begin();
|
begin();
|
||||||
show(); // initialize to all off
|
show(); // initialize to all off
|
||||||
|
|
||||||
#if ENABLED(NEOPIXEL_STARTUP_TEST)
|
#if ENABLED(NEOPIXEL_STARTUP_TEST)
|
||||||
set_color_startup(adaneo1.Color(255, 0, 0, 0)); // red
|
set_color_startup(adaneo1.Color(255, 0, 0, 0)); // red
|
||||||
safe_delay(1000);
|
safe_delay(500);
|
||||||
set_color_startup(adaneo1.Color(0, 255, 0, 0)); // green
|
set_color_startup(adaneo1.Color(0, 255, 0, 0)); // green
|
||||||
safe_delay(1000);
|
safe_delay(500);
|
||||||
set_color_startup(adaneo1.Color(0, 0, 255, 0)); // blue
|
set_color_startup(adaneo1.Color(0, 0, 255, 0)); // blue
|
||||||
safe_delay(1000);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NEOPIXEL_BKGD_LED_INDEX
|
#ifdef NEOPIXEL_BKGD_LED_INDEX
|
||||||
|
@ -65,17 +65,15 @@ private:
|
|||||||
, adaneo2
|
, adaneo2
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
static int8_t neoindex;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
static int8_t neoindex;
|
||||||
|
|
||||||
static void init();
|
static void init();
|
||||||
static void set_color_startup(const uint32_t c);
|
static void set_color_startup(const uint32_t c);
|
||||||
|
|
||||||
static void set_color(const uint32_t c);
|
static void set_color(const uint32_t c);
|
||||||
|
|
||||||
FORCE_INLINE static void set_neo_index(const int8_t neoIndex) { neoindex = neoIndex; }
|
|
||||||
FORCE_INLINE static int8_t get_neo_index() { return neoindex; }
|
|
||||||
|
|
||||||
#ifdef NEOPIXEL_BKGD_LED_INDEX
|
#ifdef NEOPIXEL_BKGD_LED_INDEX
|
||||||
static void set_color_background();
|
static void set_color_background();
|
||||||
#endif
|
#endif
|
||||||
|
@ -62,7 +62,7 @@ void PCA9533_setOff() {
|
|||||||
PCA9533_writeRegister(PCA9533_REG_SEL, 0);
|
PCA9533_writeRegister(PCA9533_REG_SEL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PCA9533_setColor(uint8_t red, uint8_t green, uint8_t blue) {
|
void PCA9533_set_rgb(uint8_t red, uint8_t green, uint8_t blue) {
|
||||||
uint8_t r_pwm0 = 0; // Register data - PWM value
|
uint8_t r_pwm0 = 0; // Register data - PWM value
|
||||||
uint8_t r_pwm1 = 0; // Register data - PWM value
|
uint8_t r_pwm1 = 0; // Register data - PWM value
|
||||||
|
|
||||||
|
@ -55,5 +55,5 @@
|
|||||||
|
|
||||||
void PCA9533_init();
|
void PCA9533_init();
|
||||||
void PCA9533_reset();
|
void PCA9533_reset();
|
||||||
void PCA9533_setColor(uint8_t red, uint8_t green, uint8_t blue);
|
void PCA9533_set_rgb(uint8_t red, uint8_t green, uint8_t blue);
|
||||||
void PCA9533_setOff();
|
void PCA9533_setOff();
|
||||||
|
@ -120,7 +120,7 @@ static void PCA9632_WriteAllRegisters(const byte addr, const byte regadd, const
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void pca9632_set_led_color(const LEDColor &color) {
|
void PCA9632_set_led_color(const LEDColor &color) {
|
||||||
Wire.begin();
|
Wire.begin();
|
||||||
if (!PCA_init) {
|
if (!PCA_init) {
|
||||||
PCA_init = 1;
|
PCA_init = 1;
|
||||||
@ -138,7 +138,7 @@ void pca9632_set_led_color(const LEDColor &color) {
|
|||||||
|
|
||||||
#if ENABLED(PCA9632_BUZZER)
|
#if ENABLED(PCA9632_BUZZER)
|
||||||
|
|
||||||
void pca9632_buzz(const long, const uint16_t) {
|
void PCA9632_buzz(const long, const uint16_t) {
|
||||||
uint8_t data[] = PCA9632_BUZZER_DATA;
|
uint8_t data[] = PCA9632_BUZZER_DATA;
|
||||||
Wire.beginTransmission(I2C_ADDRESS(PCA9632_ADDRESS));
|
Wire.beginTransmission(I2C_ADDRESS(PCA9632_ADDRESS));
|
||||||
Wire.write(data, sizeof(data));
|
Wire.write(data, sizeof(data));
|
||||||
|
@ -29,9 +29,9 @@
|
|||||||
struct LEDColor;
|
struct LEDColor;
|
||||||
typedef LEDColor LEDColor;
|
typedef LEDColor LEDColor;
|
||||||
|
|
||||||
void pca9632_set_led_color(const LEDColor &color);
|
void PCA9632_set_led_color(const LEDColor &color);
|
||||||
|
|
||||||
#if ENABLED(PCA9632_BUZZER)
|
#if ENABLED(PCA9632_BUZZER)
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
void pca9632_buzz(const long, const uint16_t);
|
void PCA9632_buzz(const long, const uint16_t);
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@
|
|||||||
* M141 - Set heated chamber target temp. S<temp> (Requires a chamber heater)
|
* M141 - Set heated chamber target temp. S<temp> (Requires a chamber heater)
|
||||||
* M145 - Set heatup values for materials on the LCD. H<hotend> B<bed> F<fan speed> for S<material> (0=PLA, 1=ABS)
|
* M145 - Set heatup values for materials on the LCD. H<hotend> B<bed> F<fan speed> for S<material> (0=PLA, 1=ABS)
|
||||||
* M149 - Set temperature units. (Requires TEMPERATURE_UNITS_SUPPORT)
|
* M149 - Set temperature units. (Requires TEMPERATURE_UNITS_SUPPORT)
|
||||||
* M150 - Set Status LED Color as R<red> U<green> B<blue> P<bright>. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632).
|
* M150 - Set Status LED Color as R<red> U<green> B<blue> W<white> P<bright>. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632).
|
||||||
* M155 - Auto-report temperatures with interval of S<seconds>. (Requires AUTO_REPORT_TEMPERATURES)
|
* M155 - Auto-report temperatures with interval of S<seconds>. (Requires AUTO_REPORT_TEMPERATURES)
|
||||||
* M163 - Set a single proportion for a mixing extruder. (Requires MIXING_EXTRUDER)
|
* M163 - Set a single proportion for a mixing extruder. (Requires MIXING_EXTRUDER)
|
||||||
* M164 - Commit the mix and save to a virtual tool (current, or as specified by 'S'). (Requires MIXING_EXTRUDER)
|
* M164 - Commit the mix and save to a virtual tool (current, or as specified by 'S'). (Requires MIXING_EXTRUDER)
|
||||||
|
@ -34,18 +34,19 @@
|
|||||||
#include "../../feature/leds/leds.h"
|
#include "../../feature/leds/leds.h"
|
||||||
|
|
||||||
#if ENABLED(LED_COLOR_PRESETS)
|
#if ENABLED(LED_COLOR_PRESETS)
|
||||||
|
|
||||||
void menu_led_presets() {
|
void menu_led_presets() {
|
||||||
START_MENU();
|
START_MENU();
|
||||||
#if LCD_HEIGHT > 2
|
#if LCD_HEIGHT > 2
|
||||||
STATIC_ITEM(MSG_LED_PRESETS, SS_DEFAULT|SS_INVERT);
|
STATIC_ITEM(MSG_LED_PRESETS, SS_DEFAULT|SS_INVERT);
|
||||||
#endif
|
#endif
|
||||||
BACK_ITEM(MSG_LED_CONTROL);
|
BACK_ITEM(MSG_LED_CONTROL);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_WHITE, leds.set_white);
|
ACTION_ITEM(MSG_SET_LEDS_WHITE, leds.set_white);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_RED, leds.set_red);
|
ACTION_ITEM(MSG_SET_LEDS_RED, leds.set_red);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_ORANGE, leds.set_orange);
|
ACTION_ITEM(MSG_SET_LEDS_ORANGE, leds.set_orange);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_YELLOW,leds.set_yellow);
|
ACTION_ITEM(MSG_SET_LEDS_YELLOW, leds.set_yellow);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_GREEN, leds.set_green);
|
ACTION_ITEM(MSG_SET_LEDS_GREEN, leds.set_green);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_BLUE, leds.set_blue);
|
ACTION_ITEM(MSG_SET_LEDS_BLUE, leds.set_blue);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_INDIGO, leds.set_indigo);
|
ACTION_ITEM(MSG_SET_LEDS_INDIGO, leds.set_indigo);
|
||||||
ACTION_ITEM(MSG_SET_LEDS_VIOLET, leds.set_violet);
|
ACTION_ITEM(MSG_SET_LEDS_VIOLET, leds.set_violet);
|
||||||
END_MENU();
|
END_MENU();
|
||||||
@ -83,11 +84,10 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void menu_led() {
|
void menu_led() {
|
||||||
START_MENU();
|
START_MENU();
|
||||||
BACK_ITEM(MSG_MAIN);
|
BACK_ITEM(MSG_MAIN);
|
||||||
|
|
||||||
#if ENABLED(LED_CONTROL_MENU)
|
#if ENABLED(LED_CONTROL_MENU)
|
||||||
bool led_on = leds.lights_on;
|
bool led_on = leds.lights_on;
|
||||||
EDIT_ITEM(bool, MSG_LEDS, &led_on, leds.toggle);
|
EDIT_ITEM(bool, MSG_LEDS, &led_on, leds.toggle);
|
||||||
@ -97,6 +97,7 @@ void menu_led() {
|
|||||||
#endif
|
#endif
|
||||||
SUBMENU(MSG_CUSTOM_LEDS, menu_led_custom);
|
SUBMENU(MSG_CUSTOM_LEDS, menu_led_custom);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set Case light on/off/brightness
|
// Set Case light on/off/brightness
|
||||||
//
|
//
|
||||||
|
@ -81,7 +81,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP;
|
|||||||
#endif
|
#endif
|
||||||
void MarlinUI::buzz(const long duration, const uint16_t freq) {
|
void MarlinUI::buzz(const long duration, const uint16_t freq) {
|
||||||
#if ENABLED(PCA9632_BUZZER)
|
#if ENABLED(PCA9632_BUZZER)
|
||||||
pca9632_buzz(duration, freq);
|
PCA9632_buzz(duration, freq);
|
||||||
#elif USE_BEEPER
|
#elif USE_BEEPER
|
||||||
buzzer.tone(duration, freq);
|
buzzer.tone(duration, freq);
|
||||||
#endif
|
#endif
|
||||||
|
@ -113,7 +113,7 @@
|
|||||||
#define FAN1_PIN PA8 // FAN (fan0 on board) e0 cool fan
|
#define FAN1_PIN PA8 // FAN (fan0 on board) e0 cool fan
|
||||||
#define FAN2_PIN PB9 // FAN (fan1 on board) controller cool fan
|
#define FAN2_PIN PB9 // FAN (fan1 on board) controller cool fan
|
||||||
|
|
||||||
// One neopixel onboard and a connector for other neopixels
|
// One NeoPixel onboard and a connector for other NeoPixels
|
||||||
#define NEOPIXEL_PIN PC7 // The NEOPIXEL LED driving pin
|
#define NEOPIXEL_PIN PC7 // The NEOPIXEL LED driving pin
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user