Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Notes v0.20.0 #84

Closed
stylesuxx opened this issue Apr 1, 2023 · 1 comment
Closed

Release Notes v0.20.0 #84

stylesuxx opened this issue Apr 1, 2023 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation
Milestone

Comments

@stylesuxx
Copy link
Contributor

stylesuxx commented Apr 1, 2023

This time so many things happened, I would like to add some more details to the release instead of just the summary of the PRs.

Quality of life improvements

Safety features

  • EDT safety arm ensures that the ESC will only arm after a valid EDT handshake. This will only work with flight controller firmware that support EDT functionality.
  • Temp protection is disabled by default: Since temp protection has effectively not been working for a long time (probably ever), the default is no to be disabled to prevent users from running into issues where they are "losing power". If temp protection is enabled, make sure that the "power rating" setting is set correctly and best verify via EDT and temperature readout on Betaflight, that the Temperature values are in a sane range (around 50):

Bugfixes

Misc

Findings

A lot of the planned features for 0.20 needed to be postponed to a later release since they are not working in a satisfactory way:

  • Dynamic and variable PWM has been somewhat successful but not fully satisfactory to us. It is wasting a lot of CPU cycles, CPU cycles we do not have
  • The current dithering implementation is eating up a lot of CPU cycles and is a bit flawed since it is only applied to every DSHOT package instead of every PWM cycle. Testing has shown that there is little to no difference in having vs. not having dithering in the current implementation. We might in the future ditch dithering in favor of gaining some CPU cycles to get some other - for us - more important features implemented
  • In process of experimenting with dynamic PWM we came to the conclusion that 96kHz mode is pretty much useless and we might get rid of it in the future. The resolution on 96kHz is 256 steps in the best case. Considering deadtime, (which needs to be subtracted) - having high dead times reduces this even further.

OLD Draft for 0.20 - will probably be part of 0.21 and later versions

PWM baked in

PWM is now a setting that can be changed on the fly, no re-flashing of the ESCs is required anymore. Users can chose between 24kHz (Default), 48kHz, 96kHz and dynamic PWM.

Dynamic PWM

PWM is being changed dynamically during flight. Thresholds can be set by the user via configurator. PWM is being change between 24kHz, 48kHz and 96kHz

Min/Max startup power

Min/Max startup power needs to be adjusted in such a way, that the motors start spinning when armed. On smaller quads this means you will likely have to increase the values, on bigger ones, decrease. Be aware that the correct values are highly depended on the dead time of your ESCs and the selected PWM.

Improved commutation

Commutation has been improved massively, resulting in motors that run much cleaner - you can even hear it. Additionally with EDT this now allows to log the "stress" of a motor in flight.

Improved stall protection

The ESCs are now more capable than ever to detect stalls and act accordingly, this ensures less motor and ESC damage in situations where the motor would be blocke from spinning up, for example after a crash.

Safety features

EDT safety arm ensures that the ESC will only arm after a valid EDT handshake. This will only work with flight controller firmware that support EDT functionality.

Bugfixes

  • 3D mode is now back to working again after we broke it in 0.17.x
  • Timer 3 now uses it's own overflow bit to track for timer overflows instead of checking this manually

Quality of life improvements

  • Massive code refactoring, everything has been refactored into smaller, more readable modules

Postponed

The following features have first apperared in 0.20.0 but have been postponed to a later version for one reason or another

RC filtering/smoothing. As a fallback for bad tunes RC signal filtering has been implemented, this ensures that quick changes in RC signal extremes are smoothed out, prevents motors getting hot and ultimately frying. If you are not using highly experimental tunes the recommendation is to leave filters disabled as it might interfere with what you are expecting from your tune.

@stylesuxx stylesuxx added the documentation Improvements or additions to documentation label Apr 1, 2023
@stylesuxx stylesuxx added this to the v0.20.0 milestone Apr 1, 2023
@damosvil
Copy link
Contributor

damosvil commented Apr 2, 2023

In Dynamic PWM section:
PWM is not a setting -> PWM is now a setting?

In Inproved Commutation:
motros -> motors

@stylesuxx stylesuxx self-assigned this Apr 2, 2023
@stylesuxx stylesuxx changed the title Release Notes Release Notes v0.20.0 Jun 9, 2023
@stylesuxx stylesuxx pinned this issue Jun 30, 2023
@damosvil damosvil unpinned this issue Jul 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants