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 INAV 2.1 #4410

Merged
merged 486 commits into from
Feb 25, 2019
Merged

Release INAV 2.1 #4410

merged 486 commits into from
Feb 25, 2019

Conversation

digitalentity
Copy link
Member

No description provided.

digitalentity and others added 30 commits December 29, 2018 19:56
DMA fixes for F7 ADC & Timer; Enable DSHOT on MATEKF722
Fix incorrect comment for MATEKF722 DMA map
Enable DSHOT on OmnibusF4 and ASGARD boards
* OSD symbols cleanup
* Update osd.c
Instead of hardcoding the number of bits in both settings.c and
settings.rb, make the latter output a constant to the
settings_generated.h file.
Rename max7456Lock var to max7455Mutex. Add max7456Lock(),
max7456Unlock() and max7456TryLock().
Add max7456Character_t, which represents the data for character a
single MAX7456 character.
Use max7456Character_t to read and pass character data around.
Change max7456WriteNvm() to accept a 2-byte character address.
Change MSP handler for MSP_OSD_CHAR_WRITE to accept 2 byte character
addresses. To keep backwards compatibility, check wether the caller
sent 55 or 56 bytes.
Add max7456ReadNvm() to read a character from the MAX7456 NVM, which
will eventually be used for font metadata.
Restore the previous behavior of rebooting after uploading characters,
but add a comment explaining why it needs to be done.
Change display(Read|Write)Char* functions to use an uint16_t
character. This lets callers which need characters > 255 use these
functions, while keeping most strings in ASCII to save memory (
the string based functions still take a cosnt char *).

Change display drivers to support 16 bit characters when writing
a single character. Note that some drivers might silently truncate
the character, it's the responsability of the caller to check
wether the display supports characters > 255 (API will follow in
the next commit).

Refactor and cleanup the MAX7456 driver:

- Move global state to a struct, for better encapsulation
- Make max7456DrawScreenPartial() static, expose instead the new
function max7456Update(), which calls max7456StallCheck() and
max7456DrawScreenPartial() instead of doing all the work on
a single function.
- Rewrite max7456RefreshAll() to use HW based screen clearing, then
leverage max7456DrawScreenPartial() to redraw only non-blank
characters. This should make full screen redraws faster while
reducing complexity and flash usage (we no longer have 2 paths
for drawing).
- Support writing characters > 255, switching to 8bit mode on
demand.
Also, add boot logo on OSD when the font supports it. If the font
is invalid or out of date, show an "INVALID FONT" message.
Otherwise the display initialization might call methods on the
max7456 driver on an uninitialized device
Code was not checking for the Loss-of-Sync bit, causing it to
detect PAL too early in some cases.
- Cleanup init sequence to perform as much initialization as
possible in max7456Init().
- Initialize the OSD as soon as video sync is detected. If no
video sync is detected at 1.5s, start as PAL but then continue
probing until we find a valid video signal.
- Wait for the software reset to finish during initialization.
- Remove extern variable for maxScreenSize, replace it with
max7456GetScreenSize().
- Make sure that when disabling the OSD for reading/writing to
NVM we only enable it again if it was enabled before.
- Rewrite prototypes in the header file to use the same style and
formatting as the rest of the code.
- Delay call to millis() in max7456StallCheck() to avoid calling
it when it's not strictly needed.
Since OSD_FLYMODE is 4 characters and the display is 30 characters,
to center it we should place it on the 13th instead of the 12th.
Align OSD_FLYMODE to 13th column by default
[GPS] Improve handling of SBAS and GALILEO supportability; Increase GPS failure timeout
shellixyz and others added 27 commits February 14, 2019 12:24
* Remove mention of the rxfail command
* Fix grammar
…ease_targets

Add MATEKF722_HEXSERVO to release targets
CLI doc: specify fw_min_throttle_down_pitch units
* Add OMNIBUSF4V6 target
* Update Display documentation

The feature name for enabling the display is not DISPLAY it is DASHBOARD

* Fix controls documentation
[IMU] Decouple Mag/CoG; Prefer MAG if available, if not - use CoG
- Added #define USE_DSHOT to SPRACINGF7DUAL target.h
[ACC] Accept up to 5% variance in accelerometer readings when calibrating
Added DSHOT to SPRACINGF7DUAL target
Fixed an issue where motor 2 would not spin up.
Pitch only goes from -90° to 90°
Prevent unexpected takeoff in RTH LANDED state.
* Add symbols for OSD temperature sensor values

* Add OSD setting to chose temperature sensor label alignment

* Update temperature sensor documentation

* Fix buffer overflow in osdDisplayTemperature

* Skip temperature sensor OSD elements if USE_TEMPERATURE_SENSOR is not defined
@digitalentity digitalentity added this to the 2.1 milestone Feb 25, 2019
@digitalentity digitalentity merged commit 65b0ec1 into master Feb 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.