Thread Tools
Jan 13, 2015, 07:49 PM
Registered User
Thread OP
Discussion

MinimOSDng (new firmware)


UPDATE:
This project is on hold at least until I finish the new OSD board for APM/PX4 (mavlink).

More info on that one here: http://alceosd.dyndns.org

-------------
-------------

Hi everyone,
First post, long time reader!

I want to share what I've been doing lately: a new firmware for the minimOSD board.

You now may ask: why bother?
1) Personally I don't like how the existing firmwares (minimosd and minimosd-extra) are written. The code is a bit messy and it's using all the atmega328p memory (meaning no more features).
2) I like to code

If you want to know more, try it or even contribute to the code please read the README.md file in the git repository (I'm trying to keep it updated).


What does it do that minimosd-extra can't?
- Any number of tabs (called screens in minimosd[-extra])
- Any number of widgets (called panels in minimosd[-extra]) in any tab
- Adding a widget is as simple as a "hello world" program.
- The most important: More widgets! I've implemented most of the minimosd-extra "panels" and there is still plenty of memory for a lot more.


What's missing that minimosd-extra has (at the time of this post writting)?
- Most important: a configuration tool for windows/linux. At the moment I have a very rudimentary tool just for font uploading and all the widgets config is done directly in the code (in the config.c file)
- A very small number of minimosd panels are not ported yet (efficiency panel, warnings and shouldn't be much left...)


I fly a plane and been using MinimOSDng for the last days. It working pretty well.

In attach there are a few pictures captured with vlc at home using the one of my last tlog's.

If for some crazy reason you decide to use it, all you need to setup is located in the config.h file.

Project location:
https://github.com/minimosd-ng/minimosd-ng

Bugs, enhancements, issues and even general discussion is welcome at:
https://github.com/minimosd-ng/minimosd-ng/issues

I plan to properly create a wiki at:
https://github.com/minimosd-ng/minimosd-ng/wiki

Regards,
Luis
Last edited by ljalves; Feb 14, 2015 at 12:39 PM.
Sign up now
to remove ads between posts
Jan 14, 2015, 12:58 PM
Registered User
Can this firmware show the RSSI from a Devo-M (in a Walkera QR X350 pro)?
The hardware part can be found in this post:
https://www.rcgroups.com/forums/show...postcount=9276
Last edited by Papa Echo; Jan 14, 2015 at 01:10 PM.
Jan 16, 2015, 03:37 AM
Registered User
subscribed!
Jan 16, 2015, 05:25 AM
phoanglong's Avatar
subscribed!
Jan 16, 2015, 04:44 PM
Registered User
ttabbal's Avatar
I like the idea of this. I'll have to check out the code and see what's what.

Can the existing code handle RSSI from an OSD ADC pin and get the rest of the data from MavLink?
Jan 17, 2015, 07:57 PM
Registered User
ttabbal's Avatar
So, can't build it...

src/max7456.c:53: error: 'PD6' undeclared (first use in this function)

I just pointed at avr-gcc in the arduino package using PATH. It seems like the proper includes are there..
Jan 22, 2015, 10:24 AM
lja
lja
Registered User
Quote:
Originally Posted by ttabbal
I like the idea of this. I'll have to check out the code and see what's what.

Can the existing code handle RSSI from an OSD ADC pin and get the rest of the data from MavLink?

Yes, althouth I still didn't test it.

The RSSI widget has the following default config:

Code:
/* rssi config */
#define CONF_RSSI_SOURCE        (RSSI_SOURCE_RSSI)
#define CONF_RSSI_MIN           (0)
#define CONF_RSSI_MAX           (255)
#define CONF_RSSI_UNITS         (RSSI_PERCENT)
/* channel is useless if source is mavlink rssi) */
#define CONF_RSSI_CH            (RSSI_CH1)
The SOURCE can be:
Code:
  RSSI_SOURCE_RSSI,
  RSSI_SOURCE_CHANNEL,
  RSSI_SOURCE_ADC
The UNITS can be:
Code:
  RSSI_PERCENT,
  RSSI_RAW,
The MAX and MIN define the limits in PERCENT mode.

When source is RSSI, the value is taken from mavlink RSSI.

When SOURCE is ADC the CH can be:
Code:
  RSSI_ADC0
  RSSI_ADC1
  RSSI_ADC2
  RSSI_ADC3
  RSSI_ADC4
  RSSI_ADC5
  RSSI_ADC6
  RSSI_ADC7
When SOURCE is CHANNEL the CH can be:
Code:
  RSSI_CH1
  RSSI_CH2
  RSSI_CH3
  RSSI_CH4
  RSSI_CH5
  RSSI_CH6
  RSSI_CH7
  RSSI_CH8


(sorry for the late reply, this project development slowed down because I'm also working on the hardware of a completely new OSD for APM/pixhawk (mavlink) with nice graphics and cheap hardware).
Jan 22, 2015, 10:28 AM
lja
lja
Registered User
Quote:
Originally Posted by ttabbal
So, can't build it...

src/max7456.c:53: error: 'PD6' undeclared (first use in this function)

I just pointed at avr-gcc in the arduino package using PATH. It seems like the proper includes are there..
Where you able to build and try it?
I don't use arduino, just plain gcc-avr and avr-libc packages.

Ubuntu typical install:
Code:
sudo apt-get install gcc-avr avr-libc
Jan 22, 2015, 10:37 AM
phoanglong's Avatar
I will definitely get it. When do u think it will be come available to public? What is the price range do u have in mind?
Jan 22, 2015, 11:51 AM
lja
lja
Registered User
Quote:
Originally Posted by phoanglong
I will definitely get it. When do u think it will be come available to public? What is the price range do u have in mind?
I guess you are talking about the new osd board I'm working on.
I expect to keep it in the $20 -$30 range (the less the better).
Right now I'm prototyping it and first I want to make sure that a nice graphical OSD can be done at low cost (current specs are 400x230 resolution with 3 colors - white black and gray).

The max7456 (used in the minimOSD) is good for text, but not as nice as having a full graphical OSD...

Anyway, the code base for the new board will be basically the same, just the OSD driver will change (and then add cool graphical widgets!)

I'll keep posting updates!
Jan 22, 2015, 11:55 AM
lja
lja
Registered User
Quote:
Originally Posted by Papa Echo
Can this firmware show the RSSI from a Devo-M (in a Walkera QR X350 pro)?
The hardware part can be found in this post:
https://www.rcgroups.com/forums/show...postcount=9276
Missed this one...
Reading that post I see that the RSSI will be available in the mavlink message so the answer is yes and its the default config.
Jan 22, 2015, 12:24 PM
Registered User
ttabbal's Avatar
Quote:
Originally Posted by lja
Where you able to build and try it?
I don't use arduino, just plain gcc-avr and avr-libc packages.

Ubuntu typical install:
Code:
sudo apt-get install gcc-avr avr-libc

Nope, haven't tried since then. I'll try installing the standalone compiler tools. Maybe spin up a VM, as my primary machine is OSX and I can't seem to locate a binary distribution for them that seems to be maintained for that platform.

The new OSD sounds interesting.
Feb 02, 2015, 01:30 PM
FPV in Hawaii
iskess's Avatar

MinimOSDng (new firmware)


Is all the extra space over the -Extra project coming from more efficient code, or are there some sacrifices? After being told that every last byte has been used for the last couple years, I'm surprised that you have so much free space to create new features.



Looking at your screen shot, it appears you used old "panels" to base your "widgets" after. Due to excess screen clutter, most of the labels have been eliminated unless needed to prevent confusion. For example, everyone knows that Lat comes before Long, so we don't need character labels. Does voltage need a VA character when it also has the units as V? Same for current. Does the Mode need a "Mod" icon so we know that the following text is the Mode? Etc...

Here is a thread I started years ago that is dedicated to reducing the clutter of the MinimOSD. https://www.rcgroups.com/forums/show....php?t=1830845
Our little "Movement" had some influence on the MinimOSD-Extra project which evolved to be much less cluttered and redundant. I see we have a little clean up to do to get to where the -Extra project left off, but clearly we will now have so much new headroom to grow.

I love what you are doing here, thank you for sharing your talent and hard work.
Last edited by iskess; Feb 02, 2015 at 01:33 PM. Reason: Forgot link to thread
Feb 02, 2015, 02:12 PM
Registered User
j0bro's Avatar
Subscribed for sure!

Edit: saw a small typo in your first screenshot: "Celsius" should be the correct spelling Filed an issue for that on Github.
Last edited by j0bro; Feb 02, 2015 at 04:21 PM.
Feb 02, 2015, 11:32 PM
Registered User
ljalves, it's great to see action with mininosd again. The apm and pixhawk controllers need a more stable and sophisticated OSD so thank you for your work so far, I'll be watching with interest as this develops.


Quick Reply
Message:

Thread Tools