Skip to content
ShikOfTheRa edited this page Feb 27, 2017 · 4 revisions

MW OSD developer notes:

Key principle is to maintain a codebase that anyone who is willing to learn a little to be able to tweak themselves or follow the code. To that end, it must complie in Arduino without the need of installing fully blown development environments, toolchains etc. etc.

Arduino version: MWOSD must be able to compile with Arduino 1.0.6 and 1.6 Newer releases ususually provide smaller optimised code. Consider a benefit.

Processing version: MWOSD GUI must be able to compile with Processing 2.0.3.

Testing Please ensure code compiles with the following as minimum: CLEANFLIGHT FIXEDWING_BF GPSOSD Please ensure there is a minimum of 100 bytes free stack memory after running with a flight controller that supports GPS. Use MEMCHECK and debug3 to verify...

Code style: It is what it is. MWOSD is a mix of styles and etiquette. It has been built by many talented and also less talented but very enthusastic individuals. It is what it is far from ideal. Until such time that it is cleansed:

Anything goes, but with the exception of.... Terse programming style. In my experience... wankers who are not team players and think they are better than others, are not open to change, keep knowledge to themselves and hove no realisation of how others perceive them or their impact on the wider team. Not someone you would invite to a party :). Many do get to that stage and experiment with it. Thats good and cool. Practically it can make it difficult for humans who are code less frequently. MWOSD relies on those guys a lot. (Quote from our software dev mgr!) Personally I like it - but only because it looks cool....

For preference, this is preferred coding style. It is not mandatory at this stage. https://github.com/multiwii/baseflight/wiki/CodingStyle


Development environment for MWOSD.

Firstly – it would be my personal preference to move away from Arduino to a better environment like eclipse etc. This may seem to hinder any advance, however the environment is to remain Arduino.

This is my reasoning: Overriding factor – most users / contributors are not professionals and Arduino brings a certain ease of installation and ability to amend. MultiWii moved – and code contributions all but stopped. It is now a dead project. KVOSD similarly moved and is in a similar position. I don’t want MWOSD to remain the same. I like that people can use this project also as a way of learning and start hacking / tweaking and ultimately contributing

If this were STM with enough memory where we could compile a single hex file and use a GUI /CLI like baseflight / cleanflight etc. then that would create a different answer. Apologies to the frustrated developers for this statement. I am impacted too… however I wish this project to remain open to all for modification. AND I don’t want a gazillion emails asking how to set up eclipse or some other environment.