Just updated to latest version and this the error i am seeing (Invalid Sketch Filename) shown in the screenshot. Before the updating, it was working fine, loading way too slow but still working, i was opening Marlin folder and it took like 5 min to open all the files one by one, once it is done opening all the files i get this error in the latest version but not in the previous version.
Please help, am i doing something wrong or there is a bug in the latest version.
The later updates (nightlies) for IDE 2, apparently, no longer allows illegal files names and it seems a leading underscore is considered one, hence is not allowed. IDE version 1.8.19 allows files starting with and underscore.
That is a bug - it should be valid.
So, should I go with the Earlier version 1.8.19 or wait for this bug to be fixed ?
I use the zip nightlies, and keep a few older versions, hence can always go back a version or two if I encounter a problem like this. Do you have the 2.0.3 version to step back a bit. I do not know where to get older nightlies or at which date the "illegal filename" change was made.
You can always use version 1 but I would hate doing that, got too used to version 2.
No, I don't have the previous version 2.0.3, well now the option left for me is 1.8.18, because this is the previous version available on the website. it's ok, at-least i know i did not do anything wrong. no worries, thanks a lot.
you just need to rename your file without starting in "_".
edit this: "_Bootscreen.h" to "Boot_Screen.h". or any filename you want
this will solve ypur problem
True, if it is the only one needing change. Also the code (possibly multiple files) needs updating to the changed names where referenced.
However, it is still a problem which needs fixing.
Yeah, but the problem is I don't know where else this file name is used in Marlin. There are lot of files in Marlin folder and i cant check all of them.
Not quite; 1.8.19 is available on https://www.arduino.cc/en/software
Maybe not, but you have a PC to do it for you
Sort your files by filename, and tht will appear probably first in the file list, if your using windows, you probably had a search button and that's it, you can solve your problem
My Windows favourite search tool is Agent Ransack
It is not valid. From the Arduino Sketch Specification:
https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-folders-and-files
The sketch root folder name and code file names must start with a basic letter (A -Z or a -z ) or number (0 -9 ), followed by basic letters, numbers, underscores (_ ), dots (. ) and dashes (- ). The maximum length is 63 characters.
So the bug is that Arduino IDE 1.x allows the creation of non-compliant sketches.
It will never be fixed because it is not a bug. Rename your sketch to a valid name.
Which version of Marlin are you trying to compile? The only file I can fine in the the latest release that contains Bootscreen does not start with an underscore
./Marlin/src/lcd/dogm/dogm_Bootscreen.h
Even allowing for case insensitivity there is no such file
./Marlin/src/lcd/extui/ftdi_eve_touch_ui/theme/marlin_bootscreen_portrait.h
./Marlin/src/lcd/extui/ftdi_eve_touch_ui/theme/bootscreen_logo_portrait.h
./Marlin/src/lcd/extui/ftdi_eve_touch_ui/theme/marlin_bootscreen_landscape.h
./Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp
./Marlin/src/lcd/tft/images/bootscreen_112x38x1.cpp
./Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp
./Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp
./Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp
./Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp
< edit >
After a bit of googling, it appears _Bootscreen.h is used for a custom boot screen, and is only referenced in a few files. Might want to file a bug report on the Marlin github page.
./buildroot/share/PlatformIO/scripts/configuration.py: for fn in ("Configuration.h", "Configuration_adv.h", "_Bootscreen.h", "_Statusscreen.h"):
./Marlin/src/lcd/dogm/dogm_Bootscreen.h: #include "../../../_Bootscreen.h"
./Marlin/Configuration.h:// Show the bitmap in Marlin/_Bootscreen.h on startup.
Fair enough. IDE 1 then does not conform to the specs.
It is just that Marlin has always used "_Bootscreen.h" and "_Statusscreen.h" as custom header files. I used to compile Marlin for the Ender 3 factory board in IDE 1. When I upgraded to the BIGTREETECH SKR MINI E3 board I used platformio which was a better environment for that version. I have not recompiled it for a very long time - if it works leave alone.
Ah, I see. That is unfortunate. I missed that this filename was specified in the Marlin codebase. The irony is that one of the motivations for enforcing the specification was to ensure sketches created in Arduino IDE 2.x would be usable when shared with those using Arduino IDE 1.x and other Arduino development tools.
I'll discuss this with the developers tomorrow. At the least, I'll submit a report to the Marlin issue tracker and circle back here with a link. Thanks for bringing this to our attention.
Yes, but don't know why I ignore it, Maybe because the name Legacy IDE mentioned on it. Instead of just Arduino IDE. Anyways i just downloaded version 1.8.19 and it is working.
Yes, but I am not the only one who has the PC, if we go this way then all the people who is about to use the new version of Arduino IDE will have to do this and I think from a business point of view this is not a good option.
Yes Sir, But as said earlier, if only I have to do it, then yes, it's absolutely fine. But there are lot people in this world who might encounter same issue and suggesting them to do them same, I think won't be good for the Arduino product in the future.
I am using Marlin Bugfix 1.1.x, can't use the lates version, because I using Ramps 1.4 Board 8 bit and Marlin 2.0 does not support it.