Hello guys!
I'm very happy to tell you that the MinimOSD is now in stock in the DIY Drones store!
And more: It goes with a nice customized CharSet and an open source OSD firmware already flashed! ;)
The firmware is Arduino compatible and it uses the original APM MAVLink messages to bring out with some nice features.
Here you can see the Artificial Horizon being tested on HIL side by side with the XPlane AH gauge.
Let me talk a bit more about the firmware that goes flashed on the board:
The current open sourced OSD implementation is part of the ArduCAM OSD project which has support from all the DIYD Dev Team.
The requested APM MAVLink messages are grabbed, translated and it's displayed pretty fast.
But... why it supposed to be fast?
Firstly, the OSD class descends from BetterStream from Mike Smith, which turns it able to format and print better than the Arduino's avr-libc variant does.
Second, the CharSet was rearranged to match the ASCII table. It eliminates the need for a "translation" layer.
There is also a smart way to write individual panels with less SPI transactions (that is conventionally used only to write the full screen at once).
The MAVLink parsing uses a reduced number of buffers, which fits better m328p's resources.
Those things above improves considerably the OSD job.
Our friend Jani already wrote the EEPROM routines to make it configurable. So, it has the base for an external configuration tool.
There is much more work to be done for adding functions and improve it.
We're pretty sure that it will be improved a lot in the hands of the awesome DIYD comunity.
Well, let's talk about features:
MinimOSD is able to work attached to the ArduPilot telemetry port in two modes:
1 - as master i.e. requesting rates of all required messages from APM (both TX and RX from OSD board are connected);
2 - as "sniffer" i.e. just listening to all the messages requested from the GCS (only TX from OSD board is connected).
The firmware auto-detects PAL or NTSC and adjusts the panels.
Until now it has this panels:
- MAVBeats pulse
- Altitude
- Speed
- Battery voltage
- Battery Remaining
- Throttle
- Number of Visible Satellites
- GPS Fix data
- Latitude
- Longitude
- Artificial Horizon
- Heading (0-360)
- Compass (N,E,S,W)
- Pitch
- Roll
- Distance to home*
- Direction to home*
*Based on spherical coords with geographic distortion corrected;
The hard work continues... but, the fun is already granted, of course!
Grab yours right now and happy flights! ;)
Comments
@George: Nice work! I'll take a look at this soon to track that compiling error.
We're talking about move to MAVLink 1.0 on next weeks. There we have a special message for all the analog inputs (including the A8, that we've reserved to RSSI).
Probably we'll enable it as well as other requested OSD features. I just need few more days of rest due I'm recovering from a surgery. I'm not 100% yet, though getting there. =)
@Diego: No isn't a good solution. You can use it to update m328's firmware on SPI port as well as to upload de bootloader. But it doesn't work as the FTDI. You need an FTDI adapter to work around the ArduCAM Config tool.
My humble advice would be to just use Arduino 0023. I couldn't find a workable patch.
Hi.
I am trying to get me the ground+airspeed as well.
Using Arduino 1.0 - I replaced references to the deprecated Wprogram library with :
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
Still, when compiling - I get:
In file included from ArduCAM_OSD.cpp:77:0:
ArduCam_Max7456.h:97:18: error: conflicting return type specified for ‘virtual void OSD::write(uint8_t)’
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error: overriding ‘virtual size_t Print::write(uint8_t)’
Why ?
Hi Sandro
I know you guys are always busy, and I understand if your not interested at this time, but I was hoping to get some advise if you get a chance.
What I have been doing is just mucking around with the Minim code to try and implement RSSI from a Dragonlink Rx to display on Minim. Before I go to far, I will confess that I am not a coder by any stretch of the imagination! :) All I saw was that you had made provision for RSSI in the code, and I just started stumbling along from there.
I tried to post here what I was up to, but I don't know how to bracket code to display properly and it looked a mess so I offer this link to where I posted the same info for a mate to look at.
Attempt at code changes for RSSI
It obviously isn't working ATM but any advice you can offer would be greatly appreciated
Cheers mate,
George
Is it possible to update/program/configure MinimOSD using a USBasp AVR Programming Device (http://www.hobbyking.com/hobbycity/store/uh_viewItem.asp?idProduct=...) instead of using an FTDI cable?
Thanks,
Diego
@Martins: Great that it's working for you now.
Thanks by your feedback.
tnx Sandro Benigno , problem solved ,the parameters of serial port 3 was inncorrect ,
Thank you, Sandro
@Yves: there is two ways to test your MinimOSD virtualy:
1 - using HIL and XPlane with MinimOSD connected;
2 - using OSD Config resource to send a telemetry log. Please, look at the end of this wiki page
Note: Remzibi has not support to MAVLink. His board concept is different. It means using external sensors.