Notifications
Clear all

Compiling Mini firmware  

  RSS
towlerg
(@towlerg)
Noble Member
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)

 

Posted : 13/01/2020 7:17 pm
Nikolai
(@nikolai)
Noble Member
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

Posted : 13/01/2020 7:31 pm
anze.zaberl.123
(@anze-zaberl-123)
New Member
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.

Posted : 11/04/2020 11:30 pm
bobc
 bobc
(@bobc)
Reputable Member
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"

Posted : 12/04/2020 11:50 am
bobc
 bobc
(@bobc)
Reputable Member
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?

Posted : 12/04/2020 11:55 am
towlerg
(@towlerg)
Noble Member
Topic starter answered:
RE: Compiling Mini firmware

@bobcousins

"and we can only build unsigned builds" it would kindda defeat the point if you could.

Posted : 12/04/2020 6:53 pm
bobc
 bobc
(@bobc)
Reputable Member
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.

Posted : 12/04/2020 10:54 pm
towlerg
(@towlerg)
Noble Member
Topic starter answered:
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?

Posted : 13/04/2020 3:10 pm
Oliver-Andre
(@oliver-andre)
Trusted Member
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".

Posted : 03/08/2020 11:59 pm
iryj
 iryj
(@iryj)
New Member
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

 

Posted : 19/10/2020 3:13 pm
iryj
 iryj
(@iryj)
New Member
RE: Compiling Mini firmware

I meant 4.2.1 

Posted : 20/10/2020 2:07 am
bobc
 bobc
(@bobc)
Reputable Member
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.

Posted : 21/10/2020 9:11 am
iryj
 iryj
(@iryj)
New Member
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

Posted : 21/10/2020 9:38 am
TickTock
(@ticktock)
Estimable Member
RE: Compiling Mini firmware
Posted by: @bobc

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).

Posted : 01/01/2021 9:05 pm
gcode
(@gcode)
New Member
RE: Compiling Mini firmware

@anze-zaberl-123

Did you ever get this to run on STM32CUBEIDE

Posted : 27/01/2021 1:10 pm
Share: