The configuration file is stored as /Firmware/ROMFS/px4fmu_common/init.d/2107_xhalerrv,
and the mixer file as /Firmware/ROMFS/px4fmu_common/init.d/xhale_rrv.main.mix
(BTW what does the numbering convention mean?)
I compiled the firmware and uploaded to my Pixhawk using make px4fmu-v2_default upload
How do I select in QGC? I do not see this custom airframe appearing in any dropdown box when selecting airframe. Do I have edit a configuration file somewhere? Also, can I make this airframe configuration the “default” on boot?
Platform/Configuration:
px4 ( git branch v1.4.1 )
QGC 3.0.0 ( Running on Windows )
Linux Ubuntu 12.04 LTS
QGroundControl loads ~/.config/QGroundControl/PX4AirframeFactMetaData.xml. I’m not sure what the location is on windows.
If you compile PX4, it generates an airframes.xml file. If you replace the original with the compiled one, it should be visible in QGC.
I am compiling on my linux development workstation while I am running QGC on a ruggedized windows laptop (which will be brought outdoor for flight testing).
Is there a way to do development/compiling on linux, while making it work on QGC (running on a separate windows computer?)
So I compiled the firmware on Linux, copied the binaries to the windows laptop (which will be running QGC). Then, I flashed using the compiled firmware using QGC. After applying and restarting, the entry appeared on QGC!
As for Bart’s suggestion, I think the file resides in User\AppData\Roaming\QGroundControl.org. This file is generated by uploading the custom firmware as detailed above.
Hope it helps. Perhaps @LorenzMeier can add a note about it in the dev guide. Maybe I’m new but this wasn’t too clear.
I flashed using the px4 file in /build_px4fmu-v2_default/src/firmware.
Can someone explain exactly which files are needed?
I put firmware_nuttx, firmware_nuttx.bin and nuttx-px4fmu-v2-default.px4 in the same directory (and the flash seems to work), Does it need any other files/libraries?
Well, it also works for me if I upload the .px4 file through QGroundControl. You just have to make sure to restart QGroundControl after you flashed the new firmware, otherwise it doesn’t show.
Sure, it worked with a upload through QGroundControl for me as well. To me it was just natural to do the flashing using the make command, just after making a new build
Would someone please elaborate on the process of “flashing the binary”. Which file do I need exactly and how do I do it? I have gotten as far as the original post but am unable to get it to appear in QGC. Thanks
I must be missing a step previous to these but I am not sure what it could possibly be. There don’t seem to be that many steps in this process. I have two operating systems on my laptop, LInux and Windows. I have tried building and flashing in Linux. I also tried building in Linux and flashing on my Windows version of QGC just to try duplicating your process exactly. The new airframe never shows up. The init.d file has a unique name, unique type, unique mixer file. What else am I missing?
Teammate figured it out! I don’t know why, but it was necessary to delete the build folder before running make px4fmu-v2_default. This fresh build included the new init.d file.