Workaround(s):
1.) Try latest code https://github.com/MarlinFirmware/Marlin/issues/15767#issuecomment-552228142
NO NEED to downgrade to PlatformIO Core 4.0.3
1. Use the latest PlatformIO Core 4 2. Use the latest source code from https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x or https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip
2.) Reinstall latest stable PIO core https://github.com/MarlinFirmware/Marlin/issues/15767#issuecomment-549156764
SKR mini E3 wont boot up (screen stays blank) if selfcompiled.
The default manufacturer bin works.
If i download the sourcecode from BTT麓s Marlin and selfcompile, it wont work.
Latest Marlin compiled fine and wont boot up, too.
So i guess its a bugged library which brokes the boot up in the last 20 days.
I tried to go back to stm lib 5.5.0 and it wont boot up, too.
Actual behavior: [What actually happens]
Firmware flashes (firmware.cur gets created/renamed)
but screen stays blank.
Im using VSC+PIO
My config can be found here:
https://github.com/reloxx13/Marlin/tree/my-skr-mini-e3/Marlin
BTT Version i tried:
https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/firmware/V1.0
Note: staying on the btt bin is no option cause abl is not enabled.
I've been having similar problems.
In addition sometimes the renaming of firmware.bin to firmware.cur would take place but firmware.bin would not get deleted.
My issues have been randomly.
I'm using SKR mini E3 V1.2.
I had the same problem and after two days of hair-pulling I solved it with rather strange conclusion, as described in Can't flash firmware - board won't boot. I have no idea what is the sorcery here, however I can confirm that if the firmware is compiled (fresh checkout of my fork, Python 3.7, venv) on my Windows 10 (1809 build 17763.805) the firmware is flashed but the screen will stay blue, however if compiled in the fresh Debian 10 virtual machine it works (.bin file also in my fork).
As for actually flashing the board, there is the same behaviour as described by @Lord-Quake . Sometimes the firmware.bin
is left as is, only the FIRMWARE.CUR
is created (being the exact copy of the firmware.bin
). Sometimes the firmware.bin
is deleted, but usually not. It seems to me that if I name the file FIRMARE.BIN
then it is moved/renamed to FIRMWARE.CUR
, but if it's named firmware.bin
it is copied to the FIRMWARE.CUR
. Despite that, the firmware is successfully flashed in all cases. Maybe bootloader has case-insensitive string comparison of the FIRMWARE.BIN
when flashing and copying, and case-sensitive when deleting.
@timryder made an interesting comment in https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/49#issuecomment-547310299.
firmware.bin
cannot be larger than 224kb. Otherwise it overwrites the flash memory used as simulated EEPROM space. This could very well be the cause of our problems.
If the kb limit is really the cause then maybe these definitions need to be modified?
#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE uint16(0x800) // 2KB
#define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
#undef E2END
#define E2END (EEPROM_PAGE_SIZE - 1) // 2KB
we had the problem with flash memory already sorted out in one of the other hundret skr issues.
i tried with and wihout flash memory enabled and i also disabled some features to exclude the firmware size.
i had sd memory enabled 2 weeks ago when it stopped working.
also would be completly sensless reason why the precompiled bin by btt is working and selfcompiled not.
@reloxx13: Does this firmware work for you? reloxx13-firmware.bin.zip
It was compiled from your repo on macOS and is under the 224kb limit.
More specs:
@reloxx13: Does this firmware work for you? reloxx13-firmware.bin.zip
It was compiled from your repo on macOS and is under the 224kb limit.
yes, this one worked.
yes, this one worked.
Interesting. But if compiled on Windows it doesn't?
yep, i noted in another issue already:
https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/49#issuecomment-549112276
we know this issue with failing firmware from windows pc麓s from Tasmota firmware.
Its hapenning again in marlin since 20-30 days.ps: my tasmota devices start to be instable and restating too since i updated around 7 days back with windows + vsc + pio
thats why tasmota got a server which autocompiles the firmware for users on linux
http://thehackbox.org/tasmota/
Otherwise it overwrites the flash memory used as simulated EEPROM space. This could very well be the cause of our problems.
who else can confirm this?
its not the fw size, its windows+pio.
search for TMC_DEBUG in the issues and ull get more infos to flash size.
i builded a fw on a debian buster now which works fine, same sourcecode like on windows. 223kb with sd flash.
stop going offtopic.
sorry if i did go offtopic
So, how to work around this? Compiling on linux is not a good solution :)
or use the correct compile tool on windows :-D
OK, I will confirm that the file size has nothing to do with our problem.
E.g. loaded a fresh FW version (217KB) to the printer.
New FW was installed and FIRMWARE.CUR was created. However firmware.bin was not deleted.
or use the correct compile tool on windows :-D
And that would be? I use VSC +PIO, also tried Atim+PIO, both doesn't work
i use that too and no issue here
huh... is there any special setup within VSC and PIO that needs to be set? I only have that problem with the SKR E3 Mini v1.2. I have another SKR 1.3, that works without any problems. Both compiled on the same maschine and same VSC+PIO...
platformio.ini needs to be correct, or you can use the correct autobuild
i use the first as that makes sure it builds correct if i just hit build
Sure, i've edited the ini file for the right board type. As i said, for the SKR1.3 it works, but as soon as i change the settings to the E3 Mini it doesn't work.
It Compiles, then i can sometimes upload to the sd (sometimes it won't flash correctly), but the device won't boot in einter case. If i use a precompiled firmware everything works like intended...
I don't have any clues what's going wrong here... The build environment seems to be ok as it works for the SKR1.3. Even if i try the exact repo that was used for a precompiled firmware it just won't boot up...
bad hardware maybe? or the mini needs a different setting?
HW can't be faulty, as i said, precompiled one works just fine... I used the settings provided by SKR and other people for the board...
so it must be a setting then ?
They seem to work for some people, not for others... idk...
did u read that thisiskeithb confimred it?
same source code, vsc+pio windows = not working
same source code, vsc+pio mac = working
same source code, vsc+pio linux = working
how can u say its settings?
same settings worked for one year.
same build button worked for one year.
post ur vsc version, installed pio core version, which OS and which board.
Win10x64 Pro 1903
VSC: 1.39.2
PIO Home: 3.0.0-beta.4
PIO Core: 4.1.0rc4
SKR mini E3 v1
Same here, just different HW version:
Win10Pro1903
VSC 1.39.2
PIO Core 4.1.0rc6
PIO Home 3.0.0-beta.4
SKR Mini E3 V1.2
--> Not working
Win10x64 Home Build 18362
VSC: 1.39.2
PIO Home: 2.3.3
PIO Core 4.0.3
Re-ARM Ramps
post updated
gotcha, after downgrading to pio core 4.0.3 its working.
pio-core >= 4.1.0rc4 is making troubles.
Open an admin cmd (google it if u dont know how)
Be sure using the right python and pip executables.
You can see i have two python installations, i have to use the pio麓s python
C:\WINDOWS\system32>where pip
C:\Users\Nils\.platformio\python27\Scripts\pip.exe
C:\WINDOWS\system32>where python
C:\Users\Nils\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Users\Nils\.platformio\python27\python.exe
Upgrade pip (optional)
pip --version
C:\Users\Nils\.platformio\python27\python.exe -m pip install --upgrade pip
pip --version
Upgrade all packages managed by pip (optional)
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
open VSC go to files -> settings
search for platformio
untick "use dev"
close VSC
Force re-install of latest stable pio core
pip install "platformio>=4.0" --force-reinstall
open VSC and check the core version on PIO home site
to go back to the dev version
pip install -U https://github.com/platformio/platformio-core/archive/develop.zip
I never use RC versions and have been only using Home 2.3.3路Core 4.0.3.
Still have the problems.
@Lord-Quake still try the force reinstall part, maybe platformio got damaged by an update or cache or or a subpackage is damaged or whatever ^^
post feedback if it worked or not
I updated my original post with system/version specs:
I don't plan to upgrade to test if it's the PIO Core RC 馃檪
works for me in linux with platformio from git (3de2d84e). tested with ReARM and SKR E3 DIP (RET6) platforms
i re-tried with reinstalling Core 4.1.0rc6 and its working, too.
so im clueless, the simple reinstalling has fixed it for me.
i had no pc restart between it and used the same sourcecode as i did before.
@reloxx13 f**k my, it's working, you are my hero :) the weekend is saved (well, what's left of it)
so where do we stand?
I only have that problem with the SKR E3 Mini v1.2. I have another SKR 1.3, that works without any problems. Both compiled on the same maschine and same VSC+PIO...
As i said, for the SKR1.3 it works, but as soon as i change the settings to the E3 Mini it doesn't work.
I don't have any clues what's going wrong here... The build environment seems to be ok as it works for the SKR1.3.
Note that SKR 1.3 uses LPC1768 and the SKR Mini E3 uses STM32F103. Maybe there is a problem in the chip support library.
I'm using the exact same environment to program the FW for both cards:
With the BIGTREETECH SKR MiNi V1.1 I have no issues.
With the BIGTREETECH SKR MiNi E3 V1.2 I have the issues e.g. firmware.bin not getting deleted.
Note that SKR 1.3 uses LPC1768 and the SKR Mini E3 uses STM32F103. Maybe there is a problem in the chip support library.
Hi all,
I'm not sure that the issue is caused by PlatformIO Core. What is your platformio.ini
? Which dev/platform did you use? Maybe, that update to it caused a problem.
Hey,
this is my platformio.ini
https://github.com/reloxx13/Marlin/blob/my-skr-mini-e3/platformio.ini
Sorry for offtopic, just making things clear:
With the BIGTREETECH SKR MiNi V1.1 I have no issues.
With the BIGTREETECH SKR MiNi E3 V1.2 I have the issues e.g. firmware.bin not getting deleted.
@Lord-Quake firmware.bin not getting deleted is a different problem... In my experience the firmware.bin
is sometimes _moved_ (_renamed_) and sometimes _copied_ to the FIRMWARE.CUR
. The firmware is, however, always successfully updated. The issue in this issue is if the board actually boots after such update or only the GLCD backlight is lit (and stuck there).
Adding to my linked comment above, I discovered that the FIRMWARE.BIN
/firmware.bin
does not matter. I reformatted the factory 128 MB 渭SD card (FAT, 2k allocation size) and now the firmware.bin
is always _moved_ to the FIRMWARE.CUR
:man_shrugging:
In any case, this is related to the Maple Bootloader not the Marlin FW.
@reloxx13 can you confirm what @bojanpotocnik just wrote?
I wrote "e.g". I also had the printer not booting after FW install.
Here my platformio.zip
@boelle yep, he is right. the fw got flashed for my issue (.cur always got renamed) and not getting flashed is another issue, mostly related to a corrupted sd card or wrong file size.
It's difficult for me to reproduce this issue. Please note that the most important role here plays a development platform and not PlatformIO Core. We always recommend using the latest PlatformIO Core.
The upcoming PlatformIO Core 4.1 will have Project Memory Inspection tool. See https://community.platformio.org/t/platformio-home-3-0-beta-and-powerful-project-inspection/10187
So, you can inspect the same project on Windows and Unix and compare section/symbol tables.
If you use ST STM32 dev/platform in pair with Arduino framework, there is 5.7.0 version with a lot of bug fixes. You can try it. See https://github.com/platformio/platform-ststm32/releases
@reloxx13 so we still have an issue or is this one solved? sorry i'm confused
The issue with firmware not being deleted/renamed on SD still remains, but that is a separate topic i think.
The error with not beeing able to boot the firmware has been resolved by using the 'right' PIO version, though that is somewhat not really satisfying, as many people can potentionally run into that in the future...
@reloxx13 so we still have an issue or is this one solved? sorry i'm confused
heya @boelle ,
we found a "solution" by reinstalling PIO core, but not the cause of it.
The stable and the dev version does work after a reinstalling pio core with pip.
We can let this open, but im sure this will be an endless open issue cause its hard to debug and randomly occurs.
As long as we dont find the source of the issue, some ppl will run in it sooner or later.
yeah :-/ will let it open
you think it would help if the first post is edited to give the "fix" ?
we found a "solution" by reinstalling PIO core, but not the cause of it
@reloxx13 why do you need that? I've not still received an answer about PIO Core. Do we have a problem with PIO Core 4.1RC6? If yes, please explain how to reproduce and we will fix.
You can try RC via pio upgrade --dev
. Rollback to stable 4.0.3 version via pip install "platformio==4.0.3"
we found a "solution" by reinstalling PIO core, but not the cause of it
@reloxx13 why do you need that? I've not still received an answer about PIO Core. Do we have a problem with PIO Core 4.1RC6? If yes, please explain how to reproduce and we will fix.
You can try RC via
pio upgrade --dev
. Rollback to stable 4.0.3 version viapip install "platformio==4.0.3"
The builded binary did not let the 3d printer boot, the screen stayed blank.
it builds fine but the binary seems to be corrupt.
We cannot reproduce it cause it hit in randomly and a reinstall of pio core fixes it while no sourcecode got changed. clearing cache, libs and platforms did not help. i also tried latest 5.7.0 stm lib and it did not work and also 5.5.0 which worked before did not work.
I did go back to a 1month old commit of marlin which worked for 100% and now it did not work.
rc and stable are working again now after reinstalling.
I just hitted pull on marlin and merged it in my fork. and from one day to another the build is not booting.
i mentioned the tasmota firmware before, the devices with the windows build firmware did restart every few hours, while now i use a linux build works fine. and before i updated the winows verison worked fine, too.
we had this issue a few month (maybe a year now?) back already, than the tasmota devs decided to set up a build server to provide all diffrent fw env. cause it was not reproducable nor fixable.
if i got some time ill rebuild a tasmota version on windows and im pretty sure it will work again after the reinstalling of pio-core.
my guess is sth is damaging the pio core installation over time on windows.
Same problem here. I'm on W10, board SKR_MINI_V1.1.
Downgraded to 1.9.2 version of platformio extension in VSC and everything restarted working as expected.
VSCode extension does not have any influence on the final firmware. This is a wrapper around PlatformIO Core. Now, you can upgrade again to the latest version of the extension and everything should work.
What is your pio --version
?
VSCode extension does not have any influence on the final firmware. This is a wrapper around PlatformIO Core. Now, you can upgrade again to the latest version of the extension and everything should work.
What is your
pio --version
?
If you use the integrated piocore coming along with the extension it influence the version of it. Infact with the latest version of the extension I had PIO core v4.1.0. Downgrading I have v4.0.3 that is ok!
PIO Core does not come with the extension. The extension installs the latest version. So, do you mean that firmware works with PIO Core 4.0.3 and does not work with PIO Core 4.1?
Could you try to upgrade again to 4.1 and re-test. Please open PlaformIO (Left Activity Bar) > Misc> New terminal and type pio upgrade
.
Try to Clean and build project again.
PIO Core does not come with the extension. The extension installs the latest version.
Are you shure about it?? I've installed a previous version of the extension from the extension men霉>gear on the left of Platformio IDE>Install Another Version>Selected 1.9.2
Could you try to upgrade again to 4.1 and re-test. Please open PlaformIO (Left Activity Bar) > Misc> New terminal and type pio upgrade.Late I'll try it, now just let me do what I wanted to do this morning before going in trouble with this.
Are you shure about it??
Yes, I'm. We (PlatformIO Team) created this extension.
Late I'll try it, now just let me do what I wanted to do this morning before going in trouble with this.
We would be thankful for any tests. The PIO Core 4.1 was released yesterday.
@ivankravets: I鈥檓 seeing similar issues with PIO Core 4.1 on some BigTreeTech TFT35s (STM32-based): https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/issues/126
Downgrading PIO core gives us firmware binaries that work.
I removed my previous comment. We've finally reproduced this bug and think what is the correct solution here. The problem is linked with this line
https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py#L8
LDSCRIPT_PATH
is an internal variable and should not be used by developers from an extra API. There are standard scopes, such as LINKFLAGS
and need to patch them.
See related PR https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/pull/131
I removed my previous comment. We've finally reproduced this bug and think what is the correct solution here. The problem is linked with this line
https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py#L8
LDSCRIPT_PATH
is an internal variable and should not be used by developers from an extra API. There are standard scopes, such asLINKFLAGS
and need to patch them.See related PR bigtreetech/BIGTREETECH-TouchScreenFirmware#131
Does it make sense that it worked again after re-installing? :/
Does it make sense that it worked again after installing? :/
This is what had me confused in your setup/tests.
in the morning i made a remote update with pio c 4.1 and the printer was not responding, guess blank screen.
ill check and test if i reach home in the evening.
@thinkyhead could you help here?
There extra scripts and envs related to them are affected:
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/mks_robin.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/mks_robin_lite.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/mks_robin_mini.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/mks_robin_nano.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py
Marlin-dev-2.1.x/buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py
I'm now getting this error:
[snip]
Archiving .pio/build/BIGTREE_TFT35_V3_0/libFrameworkCMSISDevice.a
Indexing .pio/build/BIGTREE_TFT35_V3_0/libFrameworkCMSISDevice.a
Archiving .pio/build/BIGTREE_TFT35_V3_0/libFrameworkHALDriver.a
Indexing .pio/build/BIGTREE_TFT35_V3_0/libFrameworkHALDriver.a
Linking .pio/build/BIGTREE_TFT35_V3_0/BIGTREE_TFT35_V3.0.24.2.elf
/Users/keith/.platformio/packages/[email protected]/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/BIGTREE_TFT35_V3_0/BIGTREE_TFT35_V3.0.24.2.elf section `._user_heap_stack' will not fit in region `RAM'
/Users/keith/.platformio/packages/[email protected]/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld: region `RAM' overflowed by 192 bytes
collect2: error: ld returned 1 exit status
*** [.pio/build/BIGTREE_TFT35_V3_0/BIGTREE_TFT35_V3.0.24.2.elf] Error 1
@thisiskeithb could archive your project (without .pio
folder) and attach here?
@ivankravets: That was meant for the BTT repo, not here, but they are related. Sorry about that!
https://github.com/thisiskeithb/BIGTREETECH-TouchScreenFirmware/tree/mytft35
@thisiskeithb please re-test updated PR. I'll work on PR for this repo.
Hi Scott @thinkyhead
The PR is ready => https://github.com/MarlinFirmware/Marlin/pull/15844
Thanks @ivankravets! I'll give it a shot and stop responding on this issue.
See you over in the TFT repo 馃檪
Anybody working to do this way?
I were try to use "board_build.ldscript"..
It still not working...
messenzer i've been dealing with this issue for days, and am currently on the SUPPORT #support discord.
Just wanted to put out my two cents.
I'm having the same problem on the SKR Mini E3 DIP.
Tried compiling on a Windows 10 VM using VSCode and PIO. Also tried on a ZorinOS laptop (Ubuntu 18.06 variant) agani with VSCode and PIO (fresh installs in this case) and all I'm getting is that blue screen.
Same observed behavior where the firmware.bin file will sometimes stay, sometimes move, but one time it stayed as a "firmware.bin" with a filesize of 0kb. I would try to delete it on my windows system, and it would appear to be gone, but if I refresh the folder, it would pop back up again. Always showed as a filename conflict when copying to the sdcard. I was able to delete it normally under linux.
I also have the SKR E3 DIP.
After wanting to update my Z offset (since the board has no EEPROM, I have to recompile everything) my board showed a blank screen, with the buzzer stuck on, yet the BLTouch would go through the self test.
I tried compiling on Atom and VSCode, with platformio-core 4.0.3 and 4.1.0, and none of them work.
I need my printer to work right now, and it just doesn't want to. Any ideas?
We work on that and found yet another issue. We will update our PRs soon.
Could someone re-test this PR https://github.com/MarlinFirmware/Marlin/pull/15853?
Just try to build this source code https://github.com/ivankravets/Marlin/tree/bugfix-2.0.x
Could someone re-test this PR #15853?
I rebased my SKR 1.3 (LPC1768
) config and it builds/works fine, but it worked fine before this change.
I'll get an STM32
board hooked up in a few and see if it boots after flashing. If someone else tests this before me, please leave a comment with your board & if it worked or not with PIO Core 4.1.
I just tried this with pio core 4.1 on my SKR Mini E3 1.0 and can confirm that it worked for me!
Edit: Great stuff guys, thanks for your contribution, I will be printing tonight 馃槉馃憤
If someone else tests this before me, please leave a comment with your board & if it worked or not with PIO Core 4.1.
Works for me!
Compiled on a fresh install of VScode/PIO with core 4.1, Installed on an Ender 5 with a BTT SKR Mini E3 v1.2
Haven't tried a print yet, but options and steppers all appear to be working as expected.
Edit: Thanks for your work Ivan and Keith!
I just tested it on a SKR Mini 1.1 (non-E3, STM32F103RC
) and PR #15853 fixes the non-boot condition. Woo!
Thanks again @ivankravets!
To reconfirm - 30m test print worked fine as expected. Didn't expect issues as the compile worked but good to know for sure.
Just tested on my brand new SKR Mini E3 V1.2 and it also fixes the non-boot conditions. I was so afraid that I had received a DOA.
Thanks!!
It also worked for me, thanks @ivankravets . I have an Ender-3 and a skr mini e3 v1.2 Board.
I installed vsCode and PIO. After downloading the new Marlin bugfix i had to follow the instructions from BTT to make the Marlin-Firmware fit to the SKR mini e3 v1.2 Board.
I built and flashed this to my skr mini e3 v1.2, but it won't
Marlin-bugfix-2.0.x with issues.zip
connect to pronterface and the com port is shotty.
@JMckn: Here's your config compiled on my setup which is a known-good from testing this issue out on some other hardware: JMckn-skr-e3-1_2.zip
Can you see if this works? I don't have an E3 V1.2 to test with.
Hi all.
I'm sorry in advance, as I have NO idea what I'm doing, but found myself here as it seems to be my issue.
I have an SKR mini e3 v1.2 on an Ender 3.
According to BigTree I have this board set up as Env:STM32F103RC_bigtree in platformio.ini
I'm "using" (liberal use of the word) VSCode 1.40.0 and PIO - Home 3.0.0 and Core 4.1.0
The printer was working fine with the drop-in replacement BTT board, but I made a firmware modification to enable ADVANCED_PAUSE_FEATURE.
After compiling, saving to SD, and restarting the printer, I can see that the firmware.bin file has been changed to FIRMWARE.CUR - which I believe indicates the update was completed successfully - However, I am also now getting the blank screen (and non-responsive dial that doesn't beep if I press it).
According to what I have read on this page - someone (@ivankravets ?) has fixed something that some are reporting to have solved the issue, but I have no idea how to implement that fix.
EDIT: I followed the PR and downloaded ONLY the file modified 12hours ago as they seem to be the relevant ones. If I do a build now, I receive:
STM32F103RC_SKR_MINI.py", line 7
<!DOCTYPE html>
^
SyntaxError: invalid syntax
Any advice appreciated.
Thanks for your hard work and apologies for the overhead of having to deal with a noob.
Let me know if I can provide anything further to help.
I've even tried putting the firmware.bin file from BigTree back onto the board - but the screen stays blank :/
@ifihaffto you will want to download the entire fork that Ivan linked: https://github.com/ivankravets/Marlin/tree/bugfix-2.0.x
Make the relevant BTT changes as detailed in their repo and build. That one should work for you
you will want to download the entire fork that Ivan linked
This was patched in https://github.com/MarlinFirmware/Marlin/commit/4ff708cb3a2fe6702f709c4632d3653ac57460d9, so there鈥檚 no need to do that.
@DrTobogganMD - I gave that a go and now I'm getting 41 errors of "function call is not allowed in a constant expression"
@thisiskeithb - so I want to follow that patch link you included, 'browse files' and then download that zip?
(I think I know enough to be dangerous - might need to take a break)
@ifihaffto: No. just download bugfix-2.0.x
as its been patched into the main Marlin code already.
OK. Thanks.
Getting a few of these:
Marlin/src/HAL/HAL_STM32F1/../../inc/SanityCheck.h:412:4: error: #error "BABYSTEP_MULTIPLICATOR is now BABYSTEP_MULTIPLICATOR_[XY|Z]. Please update Configuration_adv.h."
And also "function call is not allowed in a constant expression"
57 of them in configuration_adv.h
41 in configuration.h
Did you transfer your settings over or are you overwriting the configs?
I pulled the configs from the examples path and overwrote the ones in Marlin.
Then made the changes I need.
Should I have just made the changes to what was there already?
Should I have just made the changes to what was there already?
No. Just making sure you鈥檙e not using an old config.
Which example config are you using? They may need to be updated.
Creality > Ender-3
I also pulled THEIR (Big Tree Tech) platformio.ini file rather than using the one included in the last link you provided (to save having to make a handful of changes). Could they have something borked in there, or is that file unrelated?
I removed all the files (repos? forks?) I've download to this point, and then re-downloaded https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip so I could work from a single source of truth.
When I added the folder to PIO, I got 251 problems in SanityCheck.h
Not sure how to export them for you.
@ifihaffto just an FYI about that error you're seeing ("function call is not allowed in a constant expression"). That's caused by VSCode misidentifying those files as C code instead of C++, and it's "spellcheck" for lack of a better analogy is throwing an error for the wrong language
@pyr0ball is that something the C/C++ intelliSense extension should ignore/resolve?
I don't know if this is a related phenomena but the file firmware.bin
is still not being deleted.
Renaming to FIRMWARE.CUR
is working.
Latest official program versions installed and I used todays bugfix release with minimal config for the printer (Ender-3 Pro with SKR MINI E3 V1.2)
For now, I rolled PIO back to 4.0.3 and have managed to compile and get the printer working.
Happy to be a test dog for anyone that needs it though.
I am also having the same issue. I tried to roll back the platformio core to 4.0.3 but every time I do i get the confirmation message that it was done but when I open up visual studio and look at the home page it states that its still core 4.1.0. I believe it might be because right next to it it states home 3.0.0 and I can see in the picture here that people have home 2.3.3. I tried to look how to downgrade the home version but I could not find that info anywhere, It could also be because I do not understand what does the home version mean. I've downgraded by the method above and also by typing in (pip install "platformio>=4.0.3") in the terminal but neither has worked.
So, I'm having the same problem as most of the people here. I've tried all of the solutions so far but no dice. My question is should I change the "default_envs" to the board that I have or should I leave that alone? I've tried changing it to the board that I have (which is the one that people are having trouble with), the SKR E3 Mini v1.2, but it will NOT compile. It doesn't really make sense to leave the board designation as something else, but I also have no idea what I'm talking about. Any help is much appreciated.
Also, when I use with the "default_envs: megaatmega2560", it does compile but it does not export a firmware.bin file, only firmaware.hex and firmware.elf
This is what happens when I try to compile with the STM32F103RC_bigtree option, it starts to compile but always stops here:
Compiling .piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1msc_sd.cpp.o
In file included from MarlinsrcHALHAL_STM32F1../../inc/../HAL/HAL.h:26:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1HAL.cpp:30:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^~~~~
In file included from MarlinsrcHALHAL_STM32F1../../inc/../pins/pins.h:71:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1HAL.cpp:30:
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^~~~~
In file included from MarlinsrcHALHAL_STM32F1../../inc/../HAL/HAL.h:26:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1HAL_SPI.cpp:35:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^
In file included from MarlinsrcHALHAL_STM32F1../../inc/../pins/pins.h:71:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1HAL_SPI.cpp:35:
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^~~~~
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^
Compiling .piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1onboard_sd.cpp.o
In file included from MarlinsrcHALHAL_STM32F1../../inc/../HAL/HAL.h:26:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1Servo.cpp:26:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^~~~~
In file included from MarlinsrcHALHAL_STM32F1../../inc/../pins/pins.h:71:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1Servo.cpp:26:
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^~~~~
In file included from c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal.h:26:0,
from MarlinsrcHALHAL_STM32F1dogm../../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1dogmu8g_com_stm32duino_fsmc.cpp:29:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^
In file included from c:marlinmarlin-bugfix-2.0.xmarlinsrcpinspins.h:71:0,
from MarlinsrcHALHAL_STM32F1dogm../../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1dogmu8g_com_stm32duino_fsmc.cpp:29:
c:marlinmarlin-bugfix-2.0.xmarlinsrcpinsramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^~~~~
c:marlinmarlin-bugfix-2.0.xmarlinsrcpinsramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^
Compiling .piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1persistent_store_eeprom.cpp.o
In file included from c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal.h:26:0,
from MarlinsrcHALHAL_STM32F1dogm../../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1dogmu8g_com_stm32duino_swspi.cpp:21:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^~~~~
In file included from c:marlinmarlin-bugfix-2.0.xmarlinsrcpinspins.h:71:0,
from MarlinsrcHALHAL_STM32F1dogm../../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1dogmu8g_com_stm32duino_swspi.cpp:21:
c:marlinmarlin-bugfix-2.0.xmarlinsrcpinsramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^
c:marlinmarlin-bugfix-2.0.xmarlinsrcpinsramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^~~~~
* [.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1HAL.cpp.o] Error 1
[.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1Servo.cpp.o] Error 1
[.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1HAL_SPI.cpp.o] Error 1
[.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1dogmu8g_com_stm32duino_fsmc.cpp.o] Error 1
In file included from MarlinsrcHALHAL_STM32F1../../inc/../HAL/HAL.h:26:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1onboard_sd.cpp:15:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^
In file included from MarlinsrcHALHAL_STM32F1../../inc/../pins/pins.h:71:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1onboard_sd.cpp:15:
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^~~~~
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^
[.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1dogmu8g_com_stm32duino_swspi.cpp.o] Error 1
In file included from MarlinsrcHALHAL_STM32F1../../inc/../HAL/HAL.h:26:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:30,
from MarlinsrcHALHAL_STM32F1persistent_store_eeprom.cpp:23:
c:marlinmarlin-bugfix-2.0.xmarlinsrchalhal_stm32f1hal.h:79:4: error: #error "Serial port 0 does not exist"
#error "Serial port 0 does not exist"
^~~~~
In file included from MarlinsrcHALHAL_STM32F1../../inc/../pins/pins.h:71:0,
from MarlinsrcHALHAL_STM32F1../../inc/MarlinConfig.h:32,
from MarlinsrcHALHAL_STM32F1persistent_store_eeprom.cpp:23:
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:51:4: error: #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
^
MarlinsrcHALHAL_STM32F1../../inc/../pins/ramps/pins_RAMPS.h:56:6: error: #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
^~~~~
[.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1onboard_sd.cpp.o] Error 1
** [.piobuildSTM32F103RC_bigtreesrcsrcHALHAL_STM32F1persistent_store_eeprom.cpp.o] Error 1
NO NEED to downgrade to PlatformIO Core 4.0.3
- Use the latest PlatformIO Core 4
- Use the latest source code from https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x or https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip
Thanks Ivan.
Unfortunately I did have to yesterday, but I'll revert PIO back to the latest this afternoon and see if your recent changes work for me.
I tried rebuilding again with the latest files and to my surprise it did work.
Worked for me with latest as well
can someone share the new configuration.h file with all the the BTT settings that works with the bugfix2.0.x marlin source code. I am trying to go through all the 2000 lines to make sure I have the right things defined. Thanks
can someone share the new configuration.h file with all the the BTT settings that works with the bugfix2.0.x marlin source code. I am trying to go through all the 2000 lines to make sure I have the right things defined. Thanks
There doesn't appear to be many settings.
I followed this from BTT:
https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/firmware/V1.2/readme.md
NO NEED to downgrade to PlatformIO Core 4.0.3
- Use the latest PlatformIO Core 4
- Use the latest source code from https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x or https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip
Thanks Ivan.
Unfortunately I did have to yesterday, but I'll revert PIO back to the latest this afternoon and see if your recent changes work for me.
Just confirming that it is definitely working for me now.
Thanks again @ivankravets !
There doesn't appear to be many settings.
I followed this from BTT:
https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/firmware/V1.2/readme.md
BigTreeTech's repos haven't been updated to incorporate these PIO fixes.
SoftwareSerial support will be added with https://github.com/MarlinFirmware/Marlin/pull/15875, so you should be able to compile working firmware from the main bugfix-2.0.x
branch.
Yes, but can't he get their suggested changes specifically from those screenshots and apply them to Ivan's build? That's what I just did.
I pointed him to the readme.md but perhaps I wasn't clear enough.
Yes, but can't he get their suggested changes specifically from those screenshots and apply them to Ivan's build? That's what I just did.
Patching your own copy is also an option.
Edit: @BigTreeTech, please update your repos!
so is this an issue with @bigtreetech and not marlin?
so is this an issue with @bigtreetech and not marlin?
I think its a combination of PIO install/old libraries/other firmware sources because I can compile working firmware for two STM32-based boards I own (SKR Mini 1.1 & TFT35 V3) and firmware that I've created works for others works fine.
yep, other sources i have seen a few times where people actually download marlin elsewhere and report issues here
but dare we close this one on the grounds that marlin as such is ok?
I'm having similar problems on a Two Trees Bluer printer with the MKS Robin nano board v1.1.
I'm having similar problems on a Two Trees Bluer printer with the MKS Robin nano board v1.1.
Where are you getting your copy of Marlin from? There aren't any TwoTrees configs in this repo.
I was using https://github.com/inib/MKS-Robin/tree/mks_nano_sapphire_stock/MKS%20Robin%20Nano/firmware/Marlin2.0-MKS-Robin_nano successfully two weeks ago on my other printer. I figured I would use the same on the newly bought one, but with that i ended up with a display saying 'Booting..' and nuff
@mybesttools we cant help you with forks of marlin
aks for help&support here: https://github.com/inib/MKS-Robin/tree/mks_nano_sapphire_stock/MKS%20Robin%20Nano/firmware/Marlin2.0-MKS-Robin_nano
but as you see they have disabled issues so you cant ask them anything, so you are kind of screwed
Lack of Activity
This issue is being closed due to lack of activity. If you have solved the
issue, please let us know how you solved it. If you haven't, please tell us
what else you've tried in the meantime, and possibly this issue will be
reopened.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
Works for me!
Compiled on a fresh install of VScode/PIO with core 4.1, Installed on an Ender 5 with a BTT SKR Mini E3 v1.2
Haven't tried a print yet, but options and steppers all appear to be working as expected.
Edit: Thanks for your work Ivan and Keith!