FPV cam

I had to hack on the code to fix rotation switching, and added instructions for others who want to build themselves since it took me a little bit to figure it out.

If you are using Plane, can you test this build to make sure I didn't break anything while removing dead code and cleaning all compilation warnings?

https://github.com/marcmerlin/MinimOSD-Extra/blob/remove_ms_rot/Released/FW%20%26%20Char/MinimOSD_Extra_Plane_R808.hex

If that one doesn't work, or you are really attached to the original APM mode switch, try release 807 instead, but 808's switch rotation support ought to work on the mode switch too, so no reason to have 2 sets of code, which I why I deleted the mode switch rotation code:

https://github.com/marcmerlin/MinimOSD-Extra/blob/remove_ms_rot/Released/FW%20%26%20Char/MinimOSD_Extra_Plane_R807.hex

Blog post:

http://marc.merlins.org/perso/rc/post_2015-12-20_Hacking-MinimOSD-Extras-to-do-what-I-needed-thanks-to-OSS_-Mode-Rotation-with-Channel-Toggle.html

Changelog:

R808 - 2015/12/20 - Marc MERLIN <marc_soft@merlins.org>--------------------------------------------------------------------------------Mode switch rotate code removed. Please use toggle switch rotate and assign to mode
switch channel (this saves space without removing functionality).
No new functionality, cleanups and removed all compiler warnings (not flight tested):
- chan_raw changed to an array to save program space
- all %f variables sent to printf are cast to double
- glide != 'inf' not valid C, likely a bug. Changed to glide != INFINITY
- TODO: remove this? if(rssiraw_on == 9) rssi = chan_raw[8];
- removed warnings on missing {} in if if else.
- All "string" cast to (char *)"string"
- Removed unused variables in OSD_Vars.h

Binary sketch size: 30,532 bytes (of a 30,720 byte maximum)


R807 - 2015/12/19 - Marc MERLIN <marc_soft@merlins.org>
--------------------------------------------------------------------------------
Previous rotation switch didn't quite work as well as I was hoping. This new
one will rotate OSD if you flip to any other position more than 200ms away from
the current one, and come back within less than 1 second.
This should work with all switches and positions and allows you to use
another switch and activate a function you don't want, but only for
a fraction for a second, come back, and generate an OSD flip in the
process.

Binary sketch size: 30,718 bytes (of a 30,720 byte maximum) (pfew :) )


R806 - 2015/12/13 - Marc MERLIN <marc_soft@merlins.org>
--------------------------------------------------------------------------------
Rotation switching only rotates when switch changes states between low/mid/high.
This allows reusing a switch that has another function for OSD rotation.
You can rotate the OSD by flipping the switch to any other state and leaving it
there or coming back to the original location within 2 seconds.

Binary sketch size: 30,656 bytes (of a 30,720 byte maximum)
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • wonderful. I am short of three position switches on my RC.

  • Swift: https://www.google.com/webhp?q=minimosd%20rotation%20switching :)

    With my new code, you configure a switch for rotation switching. Basically you can rotate through the 3 OSD screens with a quick flip and back from your switch from any position to any other position

    Google
    Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're lo…
  • 100KM
    Well done, thank you
  • hi marc, do u have link to the source code in arduino. the link above takes me to the hex file. also I am new to github. how do I download the hex file from the link  you have.

This reply was deleted.