Compiling Mini firmware
The only thing I know about Python is that I know nothing about Python. That said, for laughts I tried to compile the Mini firmware and got this
C:\Prusa-Firmware-Buddy-master>\python38\python utils/build.py
Downloading ninja-1.9.0
Extracting ninja-1.9.0
Downloading cmake-3.15.5
Extracting cmake-3.15.5
Downloading gcc-arm-none-eabi-7.3.1
Extracting gcc-arm-none-eabi-7.3.1
Downloading clang-format-9.0.0-noext
Extracting clang-format-9.0.0-noext
Installing Python package ecdsa
WARNING: Failed to check submodules status
Building mini_release_noboot_beta
Building mini_release_emptyboot_beta
Building mini_release_boot_beta
Building finished: 0 success, 3 failure(s).
mini_release_noboot_beta project configuration FAILED
mini_release_emptyboot_beta project configuration FAILED
mini_release_boot_beta project configuration FAILED
C:\Prusa-Firmware-Buddy-master>
Obviously a failure on my part, anybody know what I did wrong?
x64 Win7 Ult SP1 / Python x64 3.8.1 / current version of Mini code which (4.0.0 acording to Version.txt)
RE: Compiling Mini firmware
Please follow the build guide exactly like shown https://github.com/prusa3d/Prusa-Firmware-Buddy
Without really tried to build it, two things you're doing different:
1. You need to run the script from C:\Prusa-Firmware-Buddy-master\python38\ directory
2. Provide some parameters based on what you want
Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram
RE: Compiling Mini firmware
Hi!
I have the same problem. I didn't do much work with Python and i don't know how to run scripts and i would really appreciate some help with building the files for STM32CUBEIDE so i could look more into the firmware. The only problem for me is the part where you do this:
Generate a project file by running: `python utils/build.py --generate-cproject`
I can do everything else but have no idea what to do here and how to do it. I installed the newest version of Python.
RE: Compiling Mini firmware
@anze-zaberl-123
I assume you are using Windows, but the steps are the same in principle.
1. Open a command window.
2. Change directory to where your Prusa firmware is
3. Just to check Python is accessible, run "python --version"
4. Run the command "python utils/build.py --generate-cproject"
RE: Compiling Mini firmware
I compiled the firmware apparently ok with the build command suggested in the readme:
C:\github\Prusa-Firmware-Buddy>python utils/build.py --printer mini --build-type debug
Downloading ninja-1.9.0
Extracting ninja-1.9.0
Downloading cmake-3.15.5
Extracting cmake-3.15.5
Downloading gcc-arm-none-eabi-7.3.1
Extracting gcc-arm-none-eabi-7.3.1
Downloading clang-format-9.0.0-noext
Extracting clang-format-9.0.0-noext
Downloading bootloader-mini-1.0.0
Extracting bootloader-mini-1.0.0
Installing Python package ecdsa
Building mini_debug_noboot
Building mini_debug_emptyboot
Building mini_debug_boot
Building finished: 3 success, 0 failure(s).
mini_debug_noboot SUCCESS
mini_debug_emptyboot SUCCESS
mini_debug_boot SUCCESS
I did have trouble cloning the repo, the jsmn library submodule wouldn't load at all until I changed its path to https version in .gitmodules.
I didn't try a release build. I assume that the code signing only works for Prusa, and we can only build unsigned builds?
RE: Compiling Mini firmware
@bobcousins
"and we can only build unsigned builds" it would kindda defeat the point if you could.
RE: Compiling Mini firmware
Doh, of course you are right! :facepalm: Although it seems a bit pointless to document how to create signed builds if you are not a Prusa dev.
RE: Compiling Mini firmware
@bobcousins
"Although it seems a bit pointless to document how to create signed builds if you are not a Prusa dev." I guess it's part of the open source ethos. Also, I assume that provided you remove the break out thing, you could create a signed build to a different signature?
RE: Compiling Mini firmware
As since 4.0.5 eSteps are not storeable in EEPROM anymore and I also have problems wit a 1.9mm Tube and the filament load/unload speed of 80mm/s (60mm/s works well) I also wanted to modyfy firmware.
The simple truth: The instruction on github is not complete. The Master-Branch actually a "developing" version, not always funtioning. You should not clone it (untill you are realy a develloper). You should clone a "Release" version instead.
So do not use "git clone --recurse https://github.com/prusa3d/Prusa-Firmware-Buddy.git
" but "git clone --recurse https://github.com/prusa3d/Prusa-Firmware-Buddy.git -b RELEASE-4.1.0
". Release-4.1.0 is official released by Prusa. Using this and editing Configuration_A3ides_2209_MINI_adv.h and Configuration_A3ides_2209_MINI.h compiling worked well and I now have the eSteps 415 for BMG and a fast filament load/unload speed of 60mm/s (instead of 80).
Quite problematictly being newbee in using github.
In my opinion the Master-Branch always should be the last official release; for developing there should be a branch called "develop".
RE: Compiling Mini firmware
Hello
I am trying to compile a firmware for my mini
But I get this error, I think I have everything that is needed for the compiling process installed.
I can edit marlin and compile it with Vsc or arduino, but I have no clue what I am doing with python.
I have tried to read the instructions on github and banged my head on to a wall for a week now, but to no help.
So I hope someone could point me on to the right direction, or give me the ready version of 4.1.0 with 415 e-steps.
I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master>py utils/build.py --printer mini --build-type debug
Building mini_debug_noboot
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\threading.py", line 950, in _bootstrap_inner
self.run()
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\threading.py", line 888, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1475, in _readerthread
buffer.append(fh.read())
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 5: invalid start byte
Traceback (most recent call last):
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 666, in <module>
main()
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 635, in main
result = build(configuration,
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 264, in build
flags = configuration.get_cmake_flags(build_dir=build_dir)
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 182, in get_cmake_flags
cache_entries = self.get_cmake_cache_entries()
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 164, in get_cmake_cache_entries
str(get_dependency('ninja'))))
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 53, in get_dependency
bootstrap('--print-dependency-directory', name,
File "I:\Työpöytä\Prusa-Firmware-Buddy-master\Prusa-Firmware-Buddy-master\utils\build.py", line 36, in bootstrap
result = subprocess.run([sys.executable, str(bootstrap_py)] + list(args),
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 503, in run
stdout, stderr = process.communicate(input, timeout=timeout)
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1130, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "C:\Users\Jyri\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1525, in _communicate
stdout = stdout[0]
IndexError: list index out of range
RE: Compiling Mini firmware
I meant 4.2.1
RE: Compiling Mini firmware
Looks like an issue with the path including UTF-8 characters : "Työpöytä"
I would try putting the code somewhere like I:\Prusa\Prusa-Firmware-Buddy-master\... instead.
RE: Compiling Mini firmware
Ofcourse the finnish language is f*ing me again, didn't even think about that.
Ill try it in the evening, thanks
RE: Compiling Mini firmware
I did have trouble cloning the repo, the jsmn library submodule wouldn't load at all until I changed its path to https version in .gitmodules.
Would you mind sharing exactly what path you changed it to? I am assuming this is my problem as well since jsmn, inih, TMCStepper, and Catch2 directories are all empty in my lib directory (release 4.2.1).
RE: Compiling Mini firmware
@anze-zaberl-123
Did you ever get this to run on STM32CUBEIDE