Skip to content

Releases: OpenHD/OpenHD

v2.6.0

24 May 07:41
Compare
Choose a tag to compare

The important stuff:

This release adds support for the following new platforms:

  • OpenHD custom hardware (X20) AIR
  • Radxa Zero 3 W GND
  • Radxa Rock 5 B GND
  • Radxa Rock 5 A GND
  • Radxa CM 3 GND

Most features you know and love from RPI are now also available on those platforms. Additonally,
those platforms are future-proof and faster than rpi.

Should I update my ground station ?
If you want to use the latest and greatest hardware like the X20 (Air) you have to update your
(RPI) Ground Station to one of the SBCs listed above.
Otherwise, we recommend updating only to future-proof your setup.

Compatibility
This version requires a re-flash of air / ground station and
update of QOpenHD app on external devices. We recommend upgrading to everyone who is interested in
the latest and greatest features.

Key updates:

  1. improved handling of intra and non-intra streams (X20, RPI) @peteallenm @Consti10
  2. fixed runaway latency on high RF pollution scenarios @Consti10 & Igor stasenko
  3. Disable video streaming shortly during a few critical operations to free up BW & resources @Consti10
  4. Frequency change using air unit only @Consti10
  5. Fixed bug where a session change could result in a temporary loss of telemetry data @Consti10
  6. Automatically limit tpi to 50 on 40Mhz on Asus @Consti10

Misc:

  1. Refactoring of the internal cam selection script(s) - easier platform integration of cameras @raphaelscholle @Consti10
  2. Infiray thermal cam colorpalette @MarcelEssers @Consti10
  3. Improved default camera parameters @Consti10
  4. Added (USB) audio support @Consti10 @knputyi
  5. Added x86 simple image and improved CIs @raphaelscholle
  6. Added support for zero3w production internal wifi adapter @raphaelscholle
  7. Improved ethernet and wifi forwarding - added QOpenHD UI element that shows count of 'external devices'
    connected to a GCS, simplified ethernet operating types (hotspot, client) @Consti10
  8. Simplify wifi card discovery - use distinctive name(s) for supported wifi drivers @raphaelscholle @Consti10
  9. Low latency video playback on rock platform(s) with simultaneous QOpenHD usage @gehee @Consti10 @peteallenm @raphaelscholle

Dev features:

  1. Filesrc camera (emulate camera with typical uav flight footage) @Consti10
  2. emulated link, more options in hardware.config @Consti10
    Build system:
  3. Ground only build & disable usb cameras for complicated dependency scenarios @buldo @Consti10
  4. Add clang-format check & more build tests @Consti10

Dropped/Deprecated Features:
Removed obsolete mmal interface for CSI cameras on RPI in favour of improved libcamera support

V2.5.3

08 Jan 19:32
Compare
Choose a tag to compare

OpenHD Release Notes - Version 2.5
In this latest OpenHD release, we are excited to introduce several enhancements and new features to elevate your user experience. Here's a summary of the key updates:

  1. Selectable bind phrase in the OpenHD Image Writer: Now you can easily customize the bind phrase during image writing, providing you with increased flexibility and convenience.
  2. Enhanced telemetry security: Telemetry is now always encrypted, ensuring the utmost security. Additionally, video encryption is made optional, granting users more control over their system.
  3. Improved RF Metrics:
    o Foreign PPS tracking
    o Channel analysis enhancements
    o Improved handling of polluted channels and bitrate overshoot by cameras (Throttle)
  4. Betaflight support: OpenHD now includes support for Betaflight, expanding compatibility and functionality.
  5. Inav Mavlink Improvements
    o Improved Inav Mavlink support with enhanced Mavlink sysid handling.
  6. TPI (TX Power Index) improvements:
    o Better handling of TPI (TX power index) for RTL8812AU, optimizing wireless performance.
  7. Frequency and bandwidth improvements:
    o Refined frequency selection with a shift to the standard FPV range, making DJI/Walksnail and analog antennas more usable.
    o Enhanced bandwidth synchronization (20MHz / 40MHz) for improved performance.
  8. Simplified STBC / LDPC Selection: Streamlined selection processes for STBC (Space-Time Block Coding) and LDPC (Low-Density Parity-Check) to enhance the user experience.
  9. Build system and dependency improvements:
    o Optimized build system using CMake and reduced dependencies, contributing to a more efficient and lightweight application.
  10. Air recordings naming enhancement: Improved naming conventions for air recordings for better organization and clarity.
  11. UI enhancements:
    • Improved layouting for a more intuitive user interface.
    • Clearer and more understandable names for various functions.
    • Scaling fixes for a seamless experience across different devices.
    • Improvements on the WebUI
  12. New HUD widgets and features:
    • Introduction of multiple HUD widgets, including performance horizon and rate quick select.
    • New features like auto-hiding of the mouse pointer for a cleaner interface.
  13. Platform expansion: Initial support for new platforms, including Radxa CM3, Radxa Zero 3W, OpenHD X20 and more.*

*Release strategy restructuring: Starting with this release and moving forward, we are adjusting our release plans to ensure a more focused and streamlined approach:
• Initial release on Raspberry Pi platform.
• Subsequent addition of other platforms in subsequent releases, allowing for thorough attention and reduced workload between each release.
Upgrade now to experience the enhanced capabilities and improved performance of OpenHD. Thank you for your continued support and happy flying!

v2.5.0-beta3

13 Aug 14:06
9320435
Compare
Choose a tag to compare
v2.5.0-beta3 Pre-release
Pre-release

developer testing only
Release notes: TODO

v2.4.1

30 Jun 19:54
2faa84d
Compare
Choose a tag to compare

BUGFIX: do not allow metering mode custom - crashes libcamera
BUGFIX: Recordings can be deleted by accident during transcoding & are not shown in webui
libcamera add ev value (Exposure value, can improve image quality)
Improve some openhd param names (NOTE:Requires updating both air and ground unit)
log warning when automatically record video on arm / disarm is disabled
add gpio26 control
QOpenHD: always show mcs

v2.4.0 - beta

23 Jun 15:44
ce339ce
Compare
Choose a tag to compare

New feature - TX power armed / disarmed:
Specify different rtl8812au tx power levels for armed / disarmed state. This avoids overheating on the bench
with high power wifi cards.
https://openhd.gitbook.io/open-hd/software-setup/tx-power

New feature - MCS via RC channel:
Use a special rc channel to control video bitrate / range during flight (like flight modes)
https://openhd.gitbook.io/open-hd/software-setup/mcs-via-rc

New feature - record on arm:
Start / stop air recording when armed / disarmed.
https://openhd.gitbook.io/open-hd/software-setup/recording

New feature - libcamera image quality params:
Change options like awb, metering, exposure, shutter and more via qopenhd (live) on libcamera cameras

Other:
Renamed some parameters for better readability
add 708 configs
automatically demux air recordings from .mkv to .mp4
Fix kernel 6 rpi power / status leds

v2.3.6-release

04 Jun 19:59
94a69b8
Compare
Choose a tag to compare

Backlog v2.3.5:

  • Improved uplink on supported hardware (RC and MAVLink uplink range always >= video range).
  • Better suited default params - Increase defaults for MCS0 and MCS1 a bit.
  • Thermal cameras - Some USB thermal cameras don't produce an image when fps is not explicitly omitted, add "0" as valid res/fps values.
  • Add support for second UDP localhost::port tuple forwarding, primarily for OpenHD web UI.
  • Improved Ethernet Hotspot
  • Added Ground Power Monitoring (INA219)
  • Improved IP-Camera support -> rename enable_ip_camera.sh -> scripts/custom_unmanaged_camera.sh.

v2.3.6:

  • Libcamera: Add hflip, vflip, rotation, brightness and denoise index (latency)
  • Wifi card discovery: Fix more than 1 card not reliably detected on ground (RX diversity), fix no boot of air unit without any wb capable card
    See #904
  • Added passive ethernet forwarding for android & ethernet to usb adapter users
  • Proper mavlink via TCP support for 2nd Ground Control application on GCS.
  • RC joystick - no restart required anymore, new channel mapping
  • Automatically disable wifi hotspot when armed (prevent interference)
  • custom_unmanaged_camera / custom scripting: Better general support, simplification, document.
  • Publish MCS index for future use

Requires updated QOpenHD !

v2.3.4 release candidate

08 Apr 13:32
8a113d7
Compare
Choose a tag to compare
Pre-release

This (OpenHD) release includes a ton of fixes and improvements to QOpenHD, while OpenHD core has stayed mostly stable.

OpenHD core changes:

  1. Fix - illegal instruction on old intel devices due to AVX2 - we now run on pretty much any intel hardware from the last 10years
  2. Improved uplink on supported hardware (RC and mavlink uplink range always >= video range)
  3. Better suited default params - Increase defaults for MCS0 and MCS1 a bit
  4. Thermal cameras - Some usb thermal cameras don't produce an image when fps is not explictly omitted, add "0" as valid res/fps values
  5. Add support for second udp localhost::port tuple forwarding, primary for openhd web ui

Maintainability:
rename openhd::settings::PersistentSettings to openhd::PersistentJsonSettings
Improved packaging

QOpenHD release notes can be found here:
https://github.com/OpenHD/QOpenHD/releases/tag/v2.3.4-candidate

v2.3.3-beta

10 Mar 18:19
fb54618
Compare
Choose a tag to compare

Includes QOpenHD fixes / new features

Bug fixes:

  1. Variable bitrate: Fixed bug where the video bitrate was unneccessarily decreased too much
  2. force_sw_encode not persistent during reboots (usb cam)
  3. in multi camera mode, the curr recomended bitrate reported by the mavlink message(s) is wrong. Internally, the right one is used though.
  4. RPI decode: Fix bug where lower part of the image can be corrupted in some cases
  5. MCS index - only change on air unit (downlink)
  6. Fix RSSI percentage value not shown
  7. Fix flight mode command showing error message (though successfull)

New features:

  1. Improve feedback / visual indication(s) what's going on with the bitrate(s):
    a) Show a message in the HUD if the openhd recommended encoder bitrate changes
    b) If there is a high difference between the set an measured encoder bitrate, the video bitrate widget text is colored red
  2. Expose STBC,LDPC and GI as dynamically changeable params (advanced users only)
  3. add option to force sw encode also for rpicamsrc and libcamerasrc
  4. Add option to show FC message(s) in HUD (default on, can be disabled)
  5. Improved/more documented settings
  6. Improved image quality on arducam lowlight cameras

V2.3.2-beta

25 Feb 11:52
7694657
Compare
Choose a tag to compare
V2.3.2-beta Pre-release
Pre-release

NOTE: This release includes modifcations to quite a lot of essential functionalities (e.g. the video decode on rpi) and changes the default behaviour in regards to video bitrate. It has already been flown successfully, but requires more testing, which is why it is a not a stable release yet.

OpenHD full change list:

  1. Variable bitrate - automatically adjust camera bitrate(s) depending on the selected MCS index / frequency / channel width, automatically reduce bitrate on too many TX errors.
    Only works on recommended cameras & rtl88xxau.
  2. automatically stop recording on the air if the remaining free storage falls below threshold of 300MB
  3. Differentiate between mmal csi camera(s) and mmal csi hdmi adapter to apply dirty "reduce bitrate by 1/2" hack as done in 2.0 to fix incorrect bitrate(s) when using hdmi to csi adapter
  4. We want to eventually perform actions like increase tx power when drone is armed - implement cb that is called with the arming status and log if it changes, for debugging
  5. Include RAM memory usage in system status mavlink message
  6. Fix bug - channel scan reporting 40Mhz channel width even though 20Mhz is set on air
  7. expose wifi cards detected as read-only params
  8. Re-add support for custom camera pipeline/s scripting
  9. Allow enabling / disabling uart out on gnd via serial at run time (without reboot)
  10. Include tag in mavlink log messages
  11. Better cmake / build:
    a) Less dependencies:
    When dealing with different platforms / linux versions outdated pacages can be an issue. Build and statically link spdlog(also gives us fmt::fmt) and nlohmann::json directly in OpenHD - eliminates need to install those packages during compilation / run time and also allows us to specify the exact version number(s).
    b) optimize compile time:
    By reducing the header bloat a bit in ohd_common I was able to reduce the compile time of openhd on x86 in the CI's from about 9min to 4min.
    c) smaller final executable
    Also, as a nice side effect, the final executable when building with release flags is now ~3.2MB only.
    d) CI's
    The ubuntu22 test build CI now also builds the submodules ohd_interface, ohd_telemetry and ohd_video independently - this way we'd see any dependencies added by accident during OpenHD development
  12. Re-add ALLWINNER_CSI
  13. Improve dualcam usage
  14. slightly change QP min / max values for rpi encoding, improves but does not fix "encoder ignores set bitrate" issue

QOpenHD changes can be found here:
https://github.com/OpenHD/QOpenHD/releases/tag/v2.3.2-alpha2

Hotfix for 2.3.1-evo-beta

06 Feb 22:16
Compare
Choose a tag to compare

Fixes "lost persistence" bug:

The /boot/ directory on rpi seems to be really perceptible to corruption / errors when un-powering the pi by connecting / disconnecting power.
This can result in loosing all persistent settings (including camera, link frequency,...) when re-powering the pi as described above.
Fix: change the "openhd settings path" back to /usr/local/share/openhd from /boot/openhd
Also, move curr_pri_cam_config to ohd_video settings directory.

We'l update the .img from the image flasher, or you can update manually (after connecting to the internet) by updating the openhd package.
After a successfull update, the version number of openhd (can be fetched in QOpenHD) should be 2.3.1-evo-hotfix1