Skip to content

Conversation

@thtexpert
Copy link
Owner

No description provided.

digitalentity and others added 30 commits December 30, 2018 10:50
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
…aders

Add script to scan target header files for #define's.
Add support for 512 character fonts on MAX7456, add boot logo
Display "Autolaunch" as system message when Auto Launch mode is active
DzikuVx and others added 28 commits February 14, 2019 21:50
* 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
Fixed PWM mapping and timers for KFC32F3_INAV
@thtexpert thtexpert merged commit ab17729 into thtexpert:master Mar 11, 2019
thtexpert pushed a commit that referenced this pull request Jul 14, 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.