|
From: James T. <zak...@ma...> - 2015-12-08 12:41:43
|
> On 5 Dec 2015, at 14:09, Edward d'Auvergne <tru...@gm...> wrote: > > I would like to propose the restoration of the compilation of UIUC, > LaRCsim, and special purpose FDMs into the shipped FlightGear > binaries. The change is pretty simple: > > https://sourceforge.net/u/edauvergne/flightgear/ci/acea7c422b609ca8d503a731985184f937376ae7/ > > This follows from the fixes I made to the UIUC FDM back in April this > year to make this FDM functional again. The main reason for this > change is that we ship UIUC aircraft on the download pages, but these > are not usable for most users. The most interesting of these is the > very unique ornithopter: > > http://wiki.flightgear.org/UTIAS_Ornithopter_No.1 > http://www.ornithopter.net/MediaGallery/flightgear_e.html > > The change partly reverts a section of this commit by James from 2011: > > https://sourceforge.net/p/flightgear/flightgear/ci/e819a4aaa44da6be816460fe719b1f65e0a2db3c/ > > Another reason for reactivating all these FDMs is to help to avoid > bit-rot. It will ensure that the FDMs can always be compiled, thanks > to Jenkins, and it will mean that the FDMs are tested by a wider > audience. This is why the LaRCsim and special purpose FDMs have also > been reactivated. If this change is reasonable, I have set up a merge > request for easy integration: > > https://sourceforge.net/p/flightgear/flightgear/merge-requests/24/ > > Cheers, Just to point, there is a Jenkins job which already compiles the FDMs, so bit rot is not an issue. Personally I think the quality / documentation / maintenance of these FDMs is low enough that excluding them (and the accompanying aircraft) is a better choice to avoid confusing novice users; my feeling is there are research / academic FDMs which are useful to the people who created them but not the vast majority of users. From a code quality perspective, the LarcSim and UIUC code is pretty horrible, with gigantic structures being allocated, it reminds me of Fortran code that’s been ported to C++. There’s no test coverage (at least, included within FlightGear) so refactoring it would be almost guaranteed to break it, which again means my personal opinion is it should be disabled or even removed until someone who knows the code steps up to modernise and maintain it. But, this is just my opinion, I understand that from the perspective of someone who likes flying the ornithopter, complaining about how ugly the C++ code looks is meaningless. Kind regards, James |