Ender3S1 Pro Firmware compiling - package.json

Is there anyone here that can help me with compiling my own firmware via VSCode and PlatformIO? I have the config files the way I want them but clicking the “Build” button always results in an error “Could not find one of ‘package.json’ manifest files in the package”. I am using STM32F401RC_creality and the Pro Firmware based off of 2.0.x bugfix. I think all I need is to create the package.json file but I don’t know where it goes or what it should have in it.
Thanks

When I do think I finally have it figured out, this is what I get:

PS X:\Code\Ender3V2S1ProFirmware\Ender3V2S1-Ender3V2S1-Released> pio pkg install --library “platformio/framework-cmsis-stm32f4” --library “platformio/STM32F401RC_creality”
Resolving include_tree environment packages…
Library Manager: Installing platformio/framework-cmsis-stm32f4
Error: Could not find the package with ‘platformio/framework-cmsis-stm32f4’ requirements for your system ‘windows_amd64’

The framework is a --tool, not a --library.

But this should be the wrong approach anyways. Getting

shows that something broke / corrupted during download. Please remove the entire <home folder>/.platformio/packages, <home folder>/.platformio/platforms and <home folder>/.platformio/.cache folder and build again for a clean redownload.

Hi Max. I’m on a Windows machine. There is no .platformio/packages folder.

Open a commandline (Windows + R → cmd.exe) and execute

explorer "%HOMEDRIVE%%HOMEPATH%\.platformio"

what is the result? “No folder” or folder content? :slight_smile:

Hi Max - I found it and it looks like it’s finally trying to compile but I get a lot of errors:

In file included from Marlin\src\HAL\STM32\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\STM32\HAL.cpp:30:
Marlin\src\HAL\STM32\../../inc/SanityCheck.h:1920:4: error: #error "G29_RETRY_AND_RECOVER requires AUTO_BED_LEVELING_3POINT, LINEAR, or BILINEAR."
 1920 |   #error "G29_RETRY_AND_RECOVER requires AUTO_BED_LEVELING_3POINT, LINEAR, or BILINEAR."
      |    ^~~~~
In file included from Marlin\src\HAL\STM32\../../inc/MarlinConfig.h:50,
                 from Marlin\src\HAL\STM32\HAL_SPI.cpp:27:
Marlin\src\HAL\STM32\../../inc/SanityCheck.h:1920:4: error: #error "G29_RETRY_AND_RECOVER requires AUTO_BED_LEVELING_3POINT, LINEAR, or BILINEAR."
 1920 |   #error "G29_RETRY_AND_RECOVER requires AUTO_BED_LEVELING_3POINT, LINEAR, or BILINEAR."
      |    ^~~~~

Is there a way for me to tell it to ignore these?

What Configuration.h files are you using exactly? Seeems those are buggy our out of sync with the Marlin version you’re trying to compile. Did you do custom modifications too it?

Those #error lines don’t look very ignorable, something is wrong in the configuration for the 3D printer.

I’m trying to compile a modified version of the ProFirmware from here : Release Ender3 V2/S1 Professional Firmware 20220527 · mriscoc/Ender3V2S1 · GitHub (under the Ender3S1-F4 configuration).

Yes, I have modified several lines so I could get Mesh leveling turned back on. It says I need to compile against the Marlin 2.0.x-bugfix release.

Every Configuration_adv.h that has G29_RETRY_AND_RECOVER turned on has one of these AUTO_BED_LEVELING_ turned on, e.g.,

So it looks like either G29_RETRY_AND_RECOVER should be off or you forgot to turn on one of the auto bed leveling options.