Developer guide - ShikOfTheRa/scarab-osd GitHub Wiki

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 compile 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.6.5 Newer releases ususually provide smaller optimised code. Consider a benefit.

Testing Travis build checks are in place for commonly used functions Please ensure there is a minimum of 100 bytes free stack memory after running with a flight controller that supports GPS. Use Arduino 1.6.5 and # define debug 4 in config.h 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 enthusiastic individuals. It is what it is far from ideal. Until such time that it is cleansed:

Typos: These are accepted from Shikra in text areas only because he is dickslexic. Especially the word "teh".

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 have 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. That's good and cool. Practically it can make it difficult for humans who are code less frequently. MWOSD relies on those guys a lot. Personally I like it - but only because it looks cool.... And its OK for "for loops" and where I use it :)

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. It is now a dead project. I don’t want MWOSD to end up the same. developement will slow as its reached maturity, however improvements expecte dto continue of time. 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.