Closed lightmaster closed 3 years ago
Also, I am on the now current build of bugfix-2.0.x
config files a) wont even compile on 2.0.7.2 b) don't have neopixels enabled, c) aren't for bugfix.
And why did you ignore the huge warning "#error "NEOPIXEL_LED (Adafruit NeoPixel) is not supported for HAL/STM32F1. "
neopixels will not work reliably on this platform using Adafruit library, (or derivatives) ever. The more neopixels you have the worse it becomes.
neopixels require a dedicated controller so the precise timing requirements can be met without interfering with the precise timing Marlin requires.
It may be possible in the future if someone writes a DMA driven neopixel library.
Further this is a duplication of https://github.com/MarlinFirmware/Marlin/issues/19800
oops, accidentally uploaded the wrong config. I've changed the link above to: Marlin Config (Correct).
This does compile fine under the bugfix-2.0.x branch using mks_robin_nano35_stm32
env
And why did you ignore the huge warning "#error "NEOPIXEL_LED (Adafruit NeoPixel) is not supported for HAL/STM32F1. "
I didnt see any warning like this. And I just scrolled back through the compile logs, and there is no such warning when I compile.
In https://github.com/MarlinFirmware/Marlin/blob/2.0.x/Marlin/src/HAL/STM32F1/inc/SanityCheck.h#L51
#if ENABLED(NEOPIXEL_LED)
#error "NEOPIXEL_LED (Adafruit NeoPixel) is not supported for HAL/STM32F1. Comment out this line to proceed at your own risk!"
#endif
but perhaps your using
instead of the older
yup, using mks_robin_nano35_stm32
since the older one takes up too much flash space to be able to use UBL Leveling. Neopixel support compiles without issue for the stm32 version and functions at least somewhat, so figured there was a bug within the code that set the colors of the Neopixels.
with new information, its not that same as 19800, using different build environment, reopening.
Can you try to apply #20901 to see if it fixes it ? My hypothesis being that the STM32 is outputting wrong timing for the led strip. With my patch it should be fixed, so please confirm.
@X-Ryl669 Soon as this print is done in a couple hours, sure. Will that PR affect mks_robin_nano35_stm32
as well or do I need to change anything first?
If you use @ellensp fork of Neopixel, there's nothing to change. Else, you must make sure that the include path to "Delay.h" is correct in NeoPixels.cpp. It should point to Marlin/src/core/Delay.h. There is no other change in this PR.
How would I go about switching it to use his fork?
Not really sure what I did wrong, but Neopixels will not react at all with the PR. First I cloned your PR and copied over my configs, then changed NEOPIXEL_LED
as instructed here https://github.com/MarlinFirmware/Marlin/issues/19800#issuecomment-716145359. Then I tried created a new branch of my own fork of Marlin and merging in your PR, but still no reaction from the Neopixels.
The PR has been merged in bugfix branch. You can now do as usual, pull bugfix, apply your config. You can apply the comment from @ellensp for using his fork (it's in platformio.ini). You might need to disable the #error Not supported in STM32
in sanity_check (you've already done this earlier) or switch platform like you did.
Alright, about to try it out again. I did notice yesterday that when I applied @ellensp's fork, I had to modify the location of Delay.h because platformio put his fork deep into the .pio directory
After adjusting the path to Delay.h
it does build successfully, but I get no control over Neopixel at all. I also see a lot of warnings in the output from building: pastebin log
Strange. The reported warning are harmless. It seems you did everything as expected.
Please double check the Neopixel configuration in Configuration.h
Do you have an oscilloscope to plug on the Neopixel's output pin ?
Else, at least, can you enable MARLIN_DEV_MODE
in Configuration_adv.h
, build again, install the firmware, and send the following G-Code in the serial terminal: D6
and post the output here ?
I just want to make sure the delay code is working correctly on your system.
It's kid's birthday party here today, so I'll work on that later tonight. I'll post the logs afterwards.
Happy birthday, then!
I'll tell my kid an internet stranger said Happy Birthday then. 🤣🤣
No oscilloscope sadly.
Neopixel config looks fine to me:
// Support for Adafruit NeoPixel LED driver
#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
#define NEOPIXEL_TYPE NEO_GRB // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
#define NEOPIXEL_PIN PA6 // LED driving pin
// #define NEOPIXEL2_TYPE NEO_GRB
// #define NEOPIXEL2_PIN PC7
#define NEOPIXEL_PIXELS 48 // Number of LEDs in the strip. (Longest strip when NEOPIXEL2_SEPARATE is disabled.)
#define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
#define NEOPIXEL_BRIGHTNESS 7 // Initial brightness (0-255)
#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
// Support for second Adafruit NeoPixel LED driver controlled with M150 S1 ...
// #define NEOPIXEL2_SEPARATE
#if ENABLED(NEOPIXEL2_SEPARATE)
#define NEOPIXEL2_PIXELS 48 // Number of LEDs in the second strip
#define NEOPIXEL2_BRIGHTNESS 5 // Initial brightness (0-255)
// #define NEOPIXEL2_STARTUP_TEST // Cycle through colors at startup
#else
//#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel
#endif
Building with MARLIN_DEV_MODE
enabled now, will update with the output of that command when that's finished.
Output of D6:
Send: D6
Recv: Computed delay calibration value: 33
Recv: Calling delay for 1cycles took: 3cycles
Recv: Calling delay for 5cycles took: 6cycles
Recv: Calling delay for 10cycles took: 11cycles
Recv: Calling delay for 20cycles took: 21cycles
Recv: Calling delay for 50cycles took: 51cycles
Recv: Calling delay for 100cycles took: 101cycles
Recv: Calling delay for 150cycles took: 151cycles
Recv: Calling delay for 200cycles took: 201cycles
Recv: Calling delay for 350cycles took: 351cycles
Recv: Calling delay for 500cycles took: 501cycles
Recv: Calling delay for 750cycles took: 751cycles
Recv: Calling delay for 1000cycles took: 1001cycles
Recv: Calling delay for 1cycles took: 36cycles
Recv: Calling delay for 5cycles took: 36cycles
Recv: Calling delay for 10cycles took: 36cycles
Recv: Calling delay for 20cycles took: 36cycles
Recv: Calling delay for 50cycles took: 55cycles
Recv: Calling delay for 100cycles took: 109cycles
Recv: Calling delay for 150cycles took: 154cycles
Recv: Calling delay for 200cycles took: 208cycles
Recv: Calling delay for 350cycles took: 352cycles
Recv: Calling delay for 500cycles took: 505cycles
Recv: Calling delay for 750cycles took: 757cycles
Recv: Calling delay for 1000cycles took: 1009cycles
Recv: Calling delay_dwt for 1cycles took: 38cycles
Recv: Calling DELAY_CYCLES directly for 1cycles took: 1cycles
Recv: Calling DELAY_CYCLES directly for 5cycles took: 6cycles
Recv: Calling DELAY_CYCLES directly for 10cycles took: 11cycles
Recv: Calling DELAY_CYCLES directly for 20cycles took: 22cycles
Recv: Calling DELAY_CYCLES directly for 50cycles took: 55cycles
Recv: Calling DELAY_CYCLES directly for 100cycles took: 100cycles
Recv: Calling DELAY_CYCLES directly for 200cycles took: 208cycles
Recv: ok
I tried to change the default Adafruit Neopixel library to use the new Delay.h
, however in the file Marlin/src/features/leds/neopixel.cpp
, there is no reference to a Delay.h
file. Tried just putting the #include...
for it in the file anyways, and it compiled without any errors but didn't seem to change how the Neopixel behaves, as it it light up and changed inconsistently like its been doing
D6 output is perfect, it's working as expected. You've less than 2 cycles of error for small delays, so it should work. If the NeoPixels CPP file you have does not include Delay.h, it means it has no way to use the new Delay function (so it'll fallback to the old/imprecise delay loop). Adding the line is not working because the code in this particular file does not require it, so if you add a dependency that's not required, it'll just ignore it.
Can you delete the complete NeoPixel folder and post the output of platformio.ini you are using ? If it's good (I'll tell you that once you've posted it), it should re-download the library and, as such, find the right file. You don't need to modify any file in the NeoPixel library if it's good.
contents of platformio.ini
: https://pastebin.com/2Yse37gH
You need to change this:
NEOPIXEL_LED = Adafruit NeoPixel@1.5.0
src_filter=+<src/feature/leds/neopixel.cpp>
by this:
NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ellensp/Adafruit_NeoPixel
src_filter=+<src/feature/leds/neopixel.cpp>
Then run platformio run -e <your env> -t clean
so you start from a good base.
I added it to the mks_robin_nano35_stm32
env specifically, like what was done on line 796
for the STM32F103RC_meeb
env. That wouldn't work? Figured if this gets integrated into the platformio.ini
for the main repo, shouldn't be in a way that effects other envs that don't need this.
I'm not sure. Never tried your way.
I'll try the other way when I get a chance (probably tomorrow morning) and see if it makes a difference.
Assuming it doesn't make a difference, since the delays seemed correct anyways, what next?
You'll need to capture the build log just to make sure the right module is built. It should look like this:
Processing STM32F103RC_btt_512K (platform: ststm32@~10.0; board: genericSTM32F103RC; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103RC.html
PLATFORM: ST STM32 (10.0.1) > STM32F103RC (48k RAM. 256k Flash)
HARDWARE: STM32F103RCT6 72MHz, 48KB RAM, 512KB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:
- framework-arduinoststm32-maple 3.10000.201129 (1.0.0)
- tool-stm32duino 1.0.1
- toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <SoftwareSerialM> 1.0.0
|-- <TMCStepper> 0.7.1
| |-- <SoftwareSerialM> 1.0.0
|-- <U8glib-HAL> 0.4.3
| |-- <Wire> 1.0
|-- <STM32ADC> 1.0
|-- <EEPROM>
|-- <USBComposite for STM32F1> 0.99
|-- <Wire> 1.0
|-- <Adafruit Neopixel> @ 093cd8b
|-- <Servo(STM32F1)> 1.1.2
I've completely made up the text above from thin air, but the important part is the Adafruit Neopixel @ some hash code and not a version. If you have a version and not the hash code I've copied above, you end not using the right library. If you do happen to have the right library, then you'll need to send me your binary (firmware.elf) file so I can analyze it. Thanks!
Looks like its using the right library. i think i said this earlier, but i do have to modify the path to Delay.h
cuz the relative path in that fork doesn't point to quite the right spot.
firmware.elf.zip
> Executing task: C:\Users\light\.platformio\penv\Scripts\pio.exe run <
Processing mks_robin_nano35_stm32 (platform: ststm32@~10.0; board: genericSTM32F103VE; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103VE.html
PLATFORM: ST STM32 (10.0.1) > STM32F103VE (64k RAM. 512k Flash)
HARDWARE: STM32F103VET6 72MHz, 64KB RAM, 512KB Flash
DEBUG: Current (jlink) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:
- framework-arduinoststm32 4.10900.200819 (1.9.0)
- framework-cmsis 2.50501.200527 (5.5.1)
- toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 13 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <TMCStepper> 0.7.1
| |-- <SoftwareSerial> 1.0
| |-- <SPI> 1.0
|-- <Adafruit NeoPixel> 1.2.4+sha.093cd8b
|-- <SPI> 1.0
|-- <Servo> 1.1.2
|-- <SoftwareSerial> 1.0
|-- <IWatchdog> 1.0.0
|-- <Wire> 1.0
|-- <EEPROM> 2.0.1
Building in release mode
Delay.h path was pre mks_robin_nano35_stm32 only works on older mks_robin_nano35
Thanks @ellensp. So, if I follow your idea, @lightmaster, please add:
#define TARGET_STM32F1
just after the #include <...... delay.h>
in NeoPixels.cpp file. To make sure it's being accounted for, add a temporary #error Here
after line 1903 (the line that read #elif defined(TARGET_STM32F1)
) and build it. It should break compilation with an "error: Here" meaning it's compiling the right code. If it does, remove the #error Here
line and build once again, it should work. Else, you'll have to figure out which part of the code is being build with the #error trick and reroute to the STM32F1 case.
Honestly, the Neopixel code is horrible. Depending on such code is very fragile IMHO. If you define TARGET_STM32F1 it will probably break on GPIO_SET and GPIO_CLEAR macro... Let's see...
The whole concept of neopixels is horrible. it is not compatible with anything but a dedicated controller. Anything else is at best a kludge.
Please apply this patch to the Adafruit_Neopixel.cpp file:
--- Adafruit_NeoPixel.cpp 2021-02-09 19:24:16.995616200 +0100
+++ ".pio/libdeps/mks_robin_nano35_stm32/Adafruit NeoPixel/Adafruit_NeoPixel.cpp" 2021-02-09 19:19:27.692274869 +0100
@@ -49,7 +49,9 @@
//and enter full path to this file below
//#include <replace with path to Delay.h file>
-#include "../../../src/HAL/shared/Delay.h"
+#include "../../../../Marlin/src/HAL/shared/Delay.h"
+#include "../../../../Marlin/src/HAL/STM32/fastio.h"
+#define TARGET_STM32F1
#ifdef TARGET_LPC1768
@@ -1902,16 +1904,16 @@
#endif
#elif defined(TARGET_STM32F1)
volatile uint8_t *ptr, *end, p, bitMask;
- volatile uint32_t pinMask;
+ // volatile uint32_t pinMask;
- pinMask = BIT(PIN_MAP[pin].gpio_bit);
+ // pinMask = BIT(PIN_MAP[pin].gpio_bit);
ptr = pixels;
end = ptr + numBytes;
p = *ptr++;
bitMask = 0x80;
- #define GPIO_SET(IO) (PIN_MAP[IO].gpio_device->regs->BSRR = pinMask)
- #define GPIO_CLEAR(IO) (PIN_MAP[IO].gpio_device->regs->BRR = pinMask)
+ #define GPIO_SET(IO) WRITE(IO, 1) //(PIN_MAP[IO].gpio_device->regs->BSRR = pinMask)
+ #define GPIO_CLEAR(IO) WRITE(IO, 0) //(PIN_MAP[IO].gpio_device->regs->BRR = pinMask)
#ifdef NEO_KHZ400 // 800 KHz check needed only if 400 KHz support enabled
if(is800KHz) {
#endif
And report if it works for you. Thanks!
Apply that to the Adafruit_NeoPixel from his fork, or the stock one that STM32 normally uses?
From the fork. You might need to do it by hand, since the path is wrong in the diff.
Won't be able to test it until I get home in a couple hours, but it does build without any major error.
So that makes it stuck at full brightness for all 3 sets of LEDs, equivalent to M150 R255 U255 B255 P255
Here's the D6
output of the standard Neopixel stuff for mks_robin_nano35_stm32
Send: D6
Recv: Computed delay calibration value: 33
Recv: Calling delay for 1cycles took: 2cycles
Recv: Calling delay for 5cycles took: 6cycles
Recv: Calling delay for 10cycles took: 11cycles
Recv: Calling delay for 20cycles took: 22cycles
Recv: Calling delay for 50cycles took: 51cycles
Recv: Calling delay for 100cycles took: 101cycles
Recv: Calling delay for 150cycles took: 152cycles
Recv: Calling delay for 200cycles took: 201cycles
Recv: Calling delay for 350cycles took: 351cycles
Recv: Calling delay for 500cycles took: 502cycles
Recv: Calling delay for 750cycles took: 751cycles
Recv: Calling delay for 1000cycles took: 1001cycles
Recv: Calling delay for 1cycles took: 36cycles
Recv: Calling delay for 5cycles took: 36cycles
Recv: Calling delay for 10cycles took: 36cycles
Recv: Calling delay for 20cycles took: 36cycles
Recv: Calling delay for 50cycles took: 55cycles
Recv: Calling delay for 100cycles took: 109cycles
Recv: Calling delay for 150cycles took: 154cycles
Recv: Calling delay for 200cycles took: 208cycles
Recv: Calling delay for 350cycles took: 352cycles
Recv: Calling delay for 500cycles took: 505cycles
Recv: Calling delay for 750cycles took: 757cycles
Recv: Calling delay for 1000cycles took: 1009cycles
Recv: Calling delay_dwt for 1cycles took: 39cycles
Recv: Calling DELAY_CYCLES directly for 1cycles took: 1cycles
Recv: Calling DELAY_CYCLES directly for 5cycles took: 5cycles
Recv: Calling DELAY_CYCLES directly for 10cycles took: 10cycles
Recv: Calling DELAY_CYCLES directly for 20cycles took: 20cycles
Recv: Calling DELAY_CYCLES directly for 50cycles took: 55cycles
Recv: Calling DELAY_CYCLES directly for 100cycles took: 100cycles
Recv: Calling DELAY_CYCLES directly for 200cycles took: 208cycles
It's not clear. What you meant was it worked, but you can't control the pixel value, right ? Can you send me your firmware.elf please ?
Maybe I've inverted 0 and 1 in the WRITE() code above, so you can try to send a M150 R255 U255 B255 P255
to get black ?
If the sequence of data to the led is correct that the WS2812B understand it as one, it's a good news. It can't happen by luck, the timing is too strict.
So, it turns on at boot to full brightness, and stays that way with no control over it. On LCD, clicking on/off, color presents, and manual sliders does nothing, even when setting to 0.
I don't think I actually sent any commands directly via terminal, so I'll try modifying that file again from scratch and see.
I modified the file as instructed again and same result: Neopixel stuck at 100% brightness, will not react to M150 and setting to full brightness does not turn it off either.
Ok, it seems that there is something clunky with your build option: The code:
DELAY_NS(700);
which, should expand to #define DELAY_NS(x) DELAY_CYCLES((x) * ((F_CPU) / 1000000UL) / 1000UL)
that is:
a compile time constant equal to 50 if you CPU is running at 72MHz
is compiled to this:
803bb50: 486a ldr r0, [pc, #424] ; (803bcfc <Adafruit_NeoPixel::show()+0x21c>)
803bb52: 611a str r2, [r3, #16]
803bb54: f8d8 2000 ldr.w r2, [r8]
803bb58: f8d9 3000 ldr.w r3, [r9]
803bb5c: fbb2 f0f0 udiv r0, r2, r0
803bb60: f44f 722f mov.w r2, #700 ; 0x2bc
803bb64: 4342 muls r2, r0
803bb66: f44f 707a mov.w r0, #1000 ; 0x3e8
803bb6a: fbb2 f0f0 udiv r0, r2, r0
803bb6e: 4798 blx r3
803bb70: f9b4 3006 ldrsh.w r3, [r4, #6]
803bb74: 2b4f cmp r3, #79 ; 0x4f
803bb76: d838 bhi.n 803bbea <Adafruit_NeoPixel::show()+0x10a>
Which is a runtime compilation of the equation above (with 2 very long divisions that are breaking the timing completely).
Re-save the Neopixel.cpp file so it'll be rebuild and run platformio run -v -e mks_robin_nano_stm32
. It'll be verbose but it should rebuild the NeoPixels file and you'll see the actual compile command used. Please post it here so I can ensure it's compiled with all optimizations turned on.
As a temporary workaround, can you change the lines "DELAY_NS(700)" (line 1926) with DELAY_CYCLES(50)
, the line DELAY_NS(150)
with DELAY_CYCLES(11)
, the line DELAY_NS(100)
with DELAY_CYCLES(7)
and DELAY_NS(750)
with DELAY_CYCLES(54)
Indeed, on arduino_ststm32
package (not libmaple), F_CPU is defined to a runtime variable uint32_t SystemCoreClock
, so the compiler can not optimize the ugly computation above. I don't know why they made it this way, but it completely breaks low level computation we need.
I'm not sure I'll be able to solve this, since the minimum number of cycles for waiting on a run-time delay is around 35 cycles (see #20901 measurement or your own D6 above) so we can't reach the value 7 and 11 that's required for the WS2812B LED timing.
So, step 1:
Re-save the Neopixel.cpp file so it'll be rebuild and run
platformio run -v -e mks_robin_nano_stm32
. It'll be verbose but it should rebuild the NeoPixels file and you'll see the actual compile command used. Please post it here so I can ensure it's compiled with all optimizations turned on.
This what you were looking for?
PS C:\Users\light\OneDrive\Documents\GitHub\Marlin_Q5> platformio run -v -e mks_robin_nano35_stm32
Processing mks_robin_nano35_stm32 (platform: ststm32@~10.0; extends: common_stm32; build_flags: -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-constants, -std=gnu++14, -DUSBCON -DUSBD_USE_CDC, -DTIM_IRQ_PRIO=13, -DADC_RESOLUTION=12 -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3; board: genericSTM32F103VE; board_build.core: stm32; board_build.variant: MARLIN_F103Vx; board_build.ldscript:
ldscript.ld; board_build.offset: 0x7000; board_build.encrypt: Yes; board_build.firmware: Robin_nano.bin; board_upload.offset_address: 0x08007000; build_unflags: -std=gnu++11 -DUSBCON -DUSBD_USE_CDC; debug_tool: jlink; upload_protocol: jlink; custom_marlin.neopixel_led: Adafruit NeoPixel=https://github.com/ellensp/Adafruit_NeoPixel
src_filter=+<src/feature/leds/neopixel.cpp>; extra_scripts: pre:buildroot/share/PlatformIO/scripts/common-dependencies.py, pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py, post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py, pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py, buildroot/share/PlatformIO/scripts/stm32_bootloader.py, buildroot/share/PlatformIO/scripts/mks_encrypt.py; src_filter: +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>, -<src/lcd/HD44780> -<src/lcd/TFTGLCD> -<src/lcd/dwin> -<src/lcd/dogm> -<src/lcd/tft> -<src/lcd/tft_io>, -<src/HAL/STM32/tft> -<src/HAL/STM32F1/tft>, -<src/lcd/menu>, -<src/lcd/menu/game/game.cpp> -<src/lcd/menu/game/brickout.cpp> -<src/lcd/menu/game/invaders.cpp>, -<src/lcd/menu/game/maze.cpp> -<src/lcd/menu/game/snake.cpp>, -<src/lcd/menu/menu_backlash.cpp>, -<src/lcd/menu/menu_bed_corners.cpp>, -<src/lcd/menu/menu_bed_leveling.cpp>, -<src/lcd/menu/menu_cancelobject.cpp>, -<src/lcd/menu/menu_delta_calibrate.cpp>, -<src/lcd/menu/menu_filament.cpp>, -<src/lcd/menu/menu_info.cpp>, -<src/lcd/menu/menu_job_recovery.cpp>, -<src/lcd/menu/menu_language.cpp>, -<src/lcd/menu/menu_led.cpp>, -<src/lcd/menu/menu_media.cpp>, -<src/lcd/menu/menu_mmu2.cpp>, -<src/lcd/menu/menu_password.cpp>, -<src/lcd/menu/menu_power_monitor.cpp>, -<src/lcd/menu/menu_spindle_laser.cpp>, -<src/lcd/menu/menu_temperature.cpp>, -<src/lcd/menu/menu_tmc.cpp>, -<src/lcd/menu/menu_touch_screen.cpp>, -<src/lcd/menu/menu_tramming.cpp>, -<src/lcd/menu/menu_ubl.cpp>, -<src/lcd/extui/lib/mks_ui>, -<src/lcd/extui/lib/dgus> -<src/lcd/extui/dgus_lcd.cpp>, -<src/lcd/extui/example.cpp>, -<src/lcd/extui/malyan_lcd.cpp>, -<src/lcd/extui/lib/ftdi_eve_touch_ui>, -<src/lcd/extui/anycubic_chiron_lcd.cpp> -<src/lcd/extui/lib/anycubic_chiron>, -<src/lcd/extui/anycubic_i3mega_lcd.cpp> -<src/lcd/extui/lib/anycubic_i3mega>, -<src/lcd/lcdprint.cpp>, -<src/lcd/touch/touch_buttons.cpp>, -<src/sd/usb_flashdrive/lib-uhs2> -<src/sd/usb_flashdrive/lib-uhs3>, -<src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp>, -<src/sd/cardreader.cpp> -<src/sd/Sd2Card.cpp> -<src/sd/SdBaseFile.cpp> -<src/sd/SdFatUtil.cpp> -<src/sd/SdFile.cpp> -<src/sd/SdVolume.cpp> -<src/gcode/sd>, -<src/HAL/shared/backtrace>, -<src/HAL/shared/eeprom_if_i2c.cpp>, -<src/HAL/shared/eeprom_if_spi.cpp>, -<src/feature/babystep.cpp>, -<src/feature/backlash.cpp>, -<src/feature/baricuda.cpp> -<src/gcode/feature/baricuda>, -<src/feature/bedlevel/abl> -<src/gcode/bedlevel/abl>, -<src/feature/bedlevel/mbl> -<src/gcode/bedlevel/mbl>, -<src/feature/bedlevel/ubl> -<src/gcode/bedlevel/ubl>, -<src/feature/binary_stream.cpp> -<src/libs/heatshrink>, -<src/feature/bltouch.cpp>, -<src/feature/cancel_object.cpp> -<src/gcode/feature/cancel>, -<src/feature/caselight.cpp> -<src/gcode/feature/caselight>, -<src/feature/closedloop.cpp>, -<src/feature/controllerfan.cpp> -<src/gcode/feature/controllerfan>, -<src/feature/dac> -<src/feature/digipot>, -<src/feature/direct_stepping.cpp> -<src/gcode/motion/G6.cpp>, -<src/feature/e_parser.cpp>, -<src/feature/encoder_i2c.cpp>, -<src/feature/ethernet.cpp> -<src/gcode/feature/network/M552-M554.cpp>, -<src/feature/fanmux.cpp>, -<src/feature/filwidth.cpp> -<src/gcode/feature/filwidth>, -<src/feature/fwretract.cpp> -<src/gcode/feature/fwretract>, -<src/feature/host_actions.cpp>, -<src/feature/hotend_idle.cpp>, -<src/feature/joystick.cpp>, -<src/feature/leds/blinkm.cpp>, -<src/feature/leds/leds.cpp>, -<src/feature/leds/neopixel.cpp>, -<src/feature/leds/pca9533.cpp>, -<src/feature/leds/pca9632.cpp>, -<src/feature/leds/printer_event_leds.cpp>, -<src/feature/leds/tempstat.cpp>, -<src/feature/max7219.cpp>, -<src/feature/meatpack.cpp>, -<src/feature/mixing.cpp>, -<src/feature/mmu/mmu.cpp>, -<src/feature/mmu/mmu2.cpp> -<src/gcode/feature/prusa_MMU2>, -<src/feature/password> -<src/gcode/feature/password>, -<src/feature/pause.cpp>, -<src/feature/power.cpp>, -<src/feature/power_monitor.cpp> -<src/gcode/feature/power_monitor>, -<src/feature/powerloss.cpp> -<src/gcode/feature/powerloss>, -<src/feature/probe_temp_comp.cpp>, -<src/feature/repeat.cpp>, -<src/feature/runout.cpp> -<src/gcode/feature/runout>, -<src/feature/solenoid.cpp> -<src/gcode/control/M380_M381.cpp>, -<src/feature/spindle_laser.cpp> -<src/gcode/control/M3-M5.cpp>, -<src/feature/tmc_util.cpp> -<src/module/stepper/trinamic.cpp>, -<src/feature/tramming.cpp>, -<src/feature/twibus.cpp>, -<src/feature/z_stepper_align.cpp>, -<src/gcode/bedlevel/G26.cpp>, -<src/gcode/bedlevel/G35.cpp>, -<src/gcode/bedlevel/G42.cpp>,
-<src/gcode/bedlevel/M420.cpp> -<src/feature/bedlevel/bedlevel.cpp>, -<src/gcode/calibrate/G33.cpp>, -<src/gcode/calibrate/G34.cpp>, -<src/gcode/calibrate/G34_M422.cpp>, -<src/gcode/calibrate/G76_M192_M871.cpp>, -<src/gcode/calibrate/G425.cpp>, -<src/gcode/calibrate/M12.cpp>, -<src/gcode/calibrate/M48.cpp>, -<src/gcode/calibrate/M100.cpp>, -<src/gcode/calibrate/M425.cpp>, -<src/gcode/calibrate/M666.cpp>, -<src/gcode/calibrate/M852.cpp>, -<src/gcode/control/M42.cpp> -<src/gcode/control/M226.cpp>, -<src/gcode/config/M43.cpp>, -<src/gcode/config/M217.cpp>, -<src/gcode/config/M218.cpp>, -<src/gcode/config/M221.cpp>, -<src/gcode/config/M281.cpp>, -<src/gcode/config/M301.cpp>, -<src/gcode/config/M302.cpp>, -<src/gcode/config/M304.cpp>, -<src/gcode/config/M305.cpp>, -<src/gcode/config/M540.cpp>, -<src/gcode/config/M575.cpp>, -<src/gcode/config/M672.cpp>, -<src/gcode/control/M7-M9.cpp>, -<src/gcode/control/M211.cpp>, -<src/gcode/control/M350_M351.cpp>, -<src/gcode/control/M605.cpp>, -<src/gcode/feature/advance>, -<src/gcode/feature/camera>, -<src/gcode/feature/i2c>, -<src/gcode/feature/L6470>, -<src/gcode/feature/leds/M150.cpp>, -<src/gcode/feature/leds/M7219.cpp>, -<src/gcode/feature/macro>, -<src/gcode/feature/mixing/M163-M165.cpp>, -<src/gcode/feature/mixing/M166.cpp>, -<src/gcode/feature/pause/G27.cpp>, -<src/gcode/feature/pause/G60.cpp>, -<src/gcode/feature/pause/G61.cpp>, -<src/gcode/feature/pause/M125.cpp>, -<src/gcode/feature/pause/M600.cpp>, -<src/gcode/feature/pause/M603.cpp>, -<src/gcode/feature/pause/M701_M702.cpp>, -<src/gcode/feature/trinamic/M122.cpp>, -<src/gcode/feature/trinamic/M569.cpp>, -<src/gcode/feature/trinamic/M906.cpp>, -<src/gcode/feature/trinamic/M911-M914.cpp>, -<src/gcode/geometry/G17-G19.cpp>, -<src/gcode/geometry/G53-G59.cpp>, -<src/gcode/geometry/M206_M428.cpp>, -<src/gcode/host/M16.cpp>, -<src/gcode/host/M113.cpp>, -<src/gcode/host/M360.cpp>, -<src/gcode/host/M876.cpp>, -<src/gcode/lcd/M0_M1.cpp>, -<src/gcode/lcd/M250.cpp>, -<src/gcode/lcd/M73.cpp>, -<src/gcode/lcd/M995.cpp>, -<src/gcode/motion/G2_G3.cpp>, -<src/gcode/motion/G5.cpp>, -<src/gcode/motion/G80.cpp>, -<src/gcode/motion/M290.cpp>, -<src/gcode/probe/G30.cpp>, -<src/gcode/probe/G31_G32.cpp>, -<src/gcode/probe/G38.cpp>, -<src/gcode/probe/M401_M402.cpp>, -<src/gcode/probe/M851.cpp>, -<src/gcode/probe/M951.cpp>, -<src/gcode/scara>, -<src/gcode/sd>, -<src/gcode/sd/M32.cpp>, -<src/gcode/sd/M808.cpp>, -<src/gcode/temp/M104_M109.cpp>, -<src/gcode/temp/M155.cpp>, -<src/gcode/units/G20_G21.cpp>, -<src/gcode/units/M149.cpp>, -<src/libs/BL24CXX.cpp> -<src/libs/W25Qxx.cpp>, -<src/libs/L64XX> -<src/module/stepper/L64xx.cpp> -<src/HAL/shared/HAL_spi_L6470.cpp>, -<src/libs/hex_print.cpp>, -<src/libs/least_squares_fit.cpp>, -<src/libs/nozzle.cpp> -<src/gcode/feature/clean>, -<src/module/delta.cpp>, -<src/module/planner_bezier.cpp>, -<src/module/printcounter.cpp>, -<src/module/probe.cpp>, -<src/module/scara.cpp> -<src/gcode/calibrate/M665.cpp>, -<src/module/servo.cpp> -<src/gcode/control/M280.cpp>, -<src/module/stepper/TMC26X.cpp> +<src/HAL/STM32> +<src/HAL/shared/backtrace>; framework: arduino; lib_deps: ; monitor_speed: 250000; monitor_flags: --quiet, --echo, --eol, LF, --filter, colorize, --filter, time)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103VE.html
PLATFORM: ST STM32 (10.0.1) > STM32F103VE (64k RAM. 512k Flash)
HARDWARE: STM32F103VET6 72MHz, 64KB RAM, 512KB Flash
DEBUG: Current (jlink) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:
- framework-arduinoststm32 4.10900.200819 (1.9.0)
- framework-cmsis 2.50501.200527 (5.5.1)
- toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
arm-none-eabi-g++ -o "C:\Users\light\OneDrive\Documents\GitHub\Marlin_Q5\Marlin\Marlin.ino.cpp" -x c++ -fpreprocessed -dD -E "C:\Users\light\AppData\Local\Temp\tmppl3gwrdn"
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 13 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <TMCStepper> 0.7.1 (C:\Users\light\OneDrive\Documents\GitHub\Marlin_Q5\.pio\libdeps\mks_robin_nano35_stm32\TMCStepper)
| |-- <SoftwareSerial> 1.0 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\SoftwareSerial)
| |-- <SPI> 1.0 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\SPI)
|-- <Adafruit NeoPixel> 1.2.4+sha.093cd8b [git+https://github.com/ellensp/Adafruit_NeoPixel] (C:\Users\light\OneDrive\Documents\GitHub\Marlin_Q5\.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793)
|-- <SPI> 1.0 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\SPI)
|-- <Servo> 1.1.2 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\Servo)
|-- <SoftwareSerial> 1.0 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\SoftwareSerial)
|-- <IWatchdog> 1.0.0 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\IWatchdog)
|-- <Wire> 1.0 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\Wire)
|-- <EEPROM> 2.0.1 (C:\Users\light\.platformio\packages\framework-arduinoststm32\libraries\EEPROM)
Building in release mode
arm-none-eabi-g++ -o ".pio\build\mks_robin_nano35_stm32\lib977\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp.o" -c -Wno-register -std=gnu++14 -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -fmax-errors=5 -g -fmerge-constants -Os -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -Wall -nostdlib --param max-inline-insns-single=500 -DPLATFORMIO=50100 -DSTM32F103xE -DSTM32F1 -D__MARLIN_FIRMWARE__ -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12 -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 -DSTM32F1xx -DARDUINO=10808 -DARDUINO_ARCH_STM32 -DARDUINO_GENERICSTM32F103VE -DBOARD_NAME=\"GENERICSTM32F103VE\" -DHAL_UART_MODULE_ENABLED -DHAL_PCD_MODULE_ENABLED "-I.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793" -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\avr -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32
-IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\LL -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\hid -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32F1xx_HAL_Driver\Inc -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32F1xx_HAL_Driver\Src -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\STM32F1xx -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Inc -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Src -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\open-amp\lib\include -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\libmetal\lib\include -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\virtual_driver -IC:\Users\light\.platformio\packages\framework-cmsis\CMSIS\Core\Include -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32F1xx\Include -IC:\Users\light\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\gcc -IC:\Users\light\.platformio\packages\framework-cmsis\CMSIS\DSP\Include -IC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino -IC:\Users\light\.platformio\packages\framework-arduinoststm32\variants\MARLIN_F103Vx -IC:\Users\light\.platformio\packages\framework-arduinoststm32\variants\MARLIN_F103Vx ".pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp"
In file included from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:234:35: warning: 'boolean' is deprecated [-Wdeprecated-declarations]
234 | boolean canShow(void) const { return (micros()-endTime) >= 300L; }
| ^~~~~
In file included from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:34,
from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:41,
from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring_constants.h:110:14: note: declared here
110 | typedef bool boolean __attribute__((deprecated));
| ^~~~~~~
In file included from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:338:21: warning: 'boolean' is deprecated [-Wdeprecated-declarations]
338 | boolean is800KHz; ///< true if 800 KHz pixels
| ^~~~~~~~
In file included from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:34,
from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:41,
from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring_constants.h:110:14: note: declared here
110 | typedef bool boolean __attribute__((deprecated));
| ^~~~~~~
In file included from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:340:21: warning: 'boolean' is deprecated [-Wdeprecated-declarations]
340 | boolean begun; ///< true if begin() previously called
| ^~~~~
In file included from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:34,
from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:41,
from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring_constants.h:110:14: note: declared here
110 | typedef bool boolean __attribute__((deprecated));
| ^~~~~~~
MethodWrapper(["checkprogsize"], [".pio\build\mks_robin_nano35_stm32\firmware.elf"])
.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp: In member function 'void Adafruit_NeoPixel::updateType(neoPixelType)':
.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:166:11: warning: 'boolean' is deprecated [-Wdeprecated-declarations]
166 | boolean oldThreeBytesPerPixel = (wOffset == rOffset); // false if RGBW
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
| ^~~~~RAM: [===~=~=~=~=~=~ ~ ~]~ ~ ~7~5~.~8~%~
(uIn file included from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:34,
sed from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
496 from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:41,
48 from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
byteC:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring_constants.h:110:14: note: declared here
s 110 | typedef bool boolean __attribute__((deprecated));
fro | ^~~~m~ ~6~5
53.pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:179:13: warning: 'boolean' is deprecated [-Wdeprecated-declarations]
6 by 179 | boolean newThreeBytesPerPixel = (wOffset == rOffset);
te | ^~~~s~)~
~Flash: [===~=~=~=~ ~ ~ ~ ~]~ ~ ~6~3~.~7
% In file included from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring.h:34,
(us from C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/Arduino.h:36,
ed 3 from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.h:41,
338 from .pio\libdeps\mks_robin_nano35_stm32\Adafruit NeoPixel@src-4437d12e4fac63a13a4f26530c32d793\Adafruit_NeoPixel.cpp:46:
04C:\Users\light\.platformio\packages\framework-arduinoststm32\cores\arduino/wiring_constants.h:110:14: note: declared here
by 110 | typedef bool boolean __attribute__((deprecated));
te | ^~~~s~ ~f~r
om 524288 bytes)
.pio\build\mks_robin_nano35_stm32\firmware.elf :
section size addr
.isr_vector 484 134246400
.text 236100 134246888
.rodata 96944 134482992
.ARM.extab 0 134579936
.ARM 0 134579936
.preinit_array 0 134579936
.init_array 92 134579936
.fini_array 20 134580028
.data 760 536870912
.bss 48888 536871672
._user_heap_stack 1536 536920560
.ARM.attributes 41 0
.debug_info 19005554 0
.debug_abbrev 739197 0
.debug_aranges 28368 0
.debug_line 1089477 0
.debug_str 306075 0
.comment 102 0
.debug_loc 495093 0
.debug_ranges 122280 0
.debug_frame 85096 0
Total 22256107
=================================================================================== [SUCCESS] Took 23.05 seconds ===================================================================================
Environment Status Duration
------------------------------------- -------- ------------
mega2560 IGNORED
mega2560ext IGNORED
mega1280 IGNORED
MightyBoard1280 IGNORED
MightyBoard2560 IGNORED
rambo IGNORED
FYSETC_F6 IGNORED
sanguino644p IGNORED
sanguino1284p IGNORED
melzi IGNORED
sanguino1284p_optimized IGNORED
melzi_optimized IGNORED
melzi_optiboot IGNORED
melzi_optiboot_optimized IGNORED
at90usb1286_cdc IGNORED
at90usb1286_dfu IGNORED
DUE IGNORED
DUE_USB IGNORED
DUE_debug IGNORED
DUE_archim IGNORED
DUE_archim_debug IGNORED
SAMD51_grandcentral_m4 IGNORED
LPC1768 IGNORED
LPC1769 IGNORED
STM32F103RC IGNORED
STM32F103RC_meeb IGNORED
STM32F103RC_fysetc IGNORED
STM32F103RC_btt IGNORED
STM32F103RC_btt_USB IGNORED
STM32F103RC_btt_512K IGNORED
STM32F103RC_btt_512K_USB IGNORED
STM32F103RE IGNORED
STM32F103RE_btt IGNORED
STM32F103RE_btt_USB IGNORED
REMRAM_V1 IGNORED
NUCLEO_F767ZI IGNORED
ARMED IGNORED
STM32F103VE_GTM32 IGNORED
STM32F103VE_longer IGNORED
mks_robin_mini IGNORED
mks_robin_nano35 IGNORED
mks_robin IGNORED
mks_robin_stm32 IGNORED
mks_robin_pro IGNORED
trigorilla_pro IGNORED
mks_robin_e3 IGNORED
mks_robin_e3p IGNORED
mks_robin_lite IGNORED
mks_robin_lite3 IGNORED
jgaurora_a5s_a1 IGNORED
STM32F103CB_malyan IGNORED
STM32F070RB_malyan IGNORED
STM32F070CB_malyan IGNORED
malyan_M300 IGNORED
chitu_f103 IGNORED
chitu_v5_gpio_init IGNORED
STM32F103RET6_creality IGNORED
flsun_hispeedv1 IGNORED
STM32F401VE_STEVAL IGNORED
FYSETC_CHEETAH_V20 IGNORED
FLYF407ZG IGNORED
FLY_MINI IGNORED
FYSETC_S6 IGNORED
STM32F407VE_black IGNORED
Anet_ET4_OpenBLT IGNORED
BIGTREE_SKR_PRO IGNORED
BIGTREE_SKR_PRO_usb_flash_drive IGNORED
BIGTREE_GTR_V1_0 IGNORED
BIGTREE_GTR_V1_0_usb_flash_drive IGNORED
BIGTREE_BTT002 IGNORED
LERDGEX IGNORED
LERDGEX_usb_flash_drive IGNORED
LERDGES IGNORED
LERDGES_usb_flash_drive IGNORED
LERDGEK IGNORED
LERDGEK_usb_flash_drive IGNORED
rumba32 IGNORED
mks_robin_nano35_stm32 SUCCESS 00:00:23.049
mks_robin_pro2 IGNORED
mks_robin_nano_v3 IGNORED
mks_robin_nano_v3_usb_flash_drive IGNORED
mks_robin_nano_v3_usb_flash_drive_msc IGNORED
mingda_mpx_arm_mini IGNORED
esp32 IGNORED
FYSETC_E4 IGNORED
teensy31 IGNORED
teensy35 IGNORED
teensy36 IGNORED
teensy41 IGNORED
linux_native IGNORED
include_tree IGNORED
==================================================================================== 1 succeeded in 00:00:23.049 ====================================================================================
Yes thanks. Please try step 2 and tell me the result.
I'll be a couple hours before I'm home to reflash the firmware, but it's compiled and waiting now.
Great!
Bug Description
Neopixels do not change color consistently nor repeatably. For instance, can click the LCD button for the white default, and each time it's clicked, the Neopixel will change. Can Tell it to change to "Blue" and some of the LEDs will change to blue, some to red. This occurs both by gcode and by LCD screen buttons. Also seems to happen irregardless of whether I have 1 Neopixel setup or 2 strips of them setup.
Configuration Files
Marlin config (correct config)
If you've made any other modifications describe them in detail here.
Steps to Reproduce
Expected behavior:
A Neopixel strip should all change to the same color and brightness based on which preset or RGB setting is picked. Setting colors should also be consistent, in that if I pick Preset "A", and then immediately pick Preset "A" again, I shouldn't notice any change on the second click of Preset "A" since they are already on Preset "A".
Actual behavior:
Can tell them to go to the same preset repeatedly and each time the Neopixels will light up differently.
Additional Information
Video showing me sending this command over and over again:![](http://img.youtube.com/vi/vLJdLWMW64I/0.jpg)
M150 R255 U255 B255 P255