Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The purpose of the change is to allow the end user to define a custom string that will be displayed briefly (for the default 4 seconds) on the startup screen as the keyer is powered up or reset.
The custom string is defined in keyer_settings.h
The option OPTION_PERSONALIZED_STARTUP_SCREEN is in keyer_features_and_options.h
The code changes in the main sketch check if the display is specified to have just two lines. If so then saying 'hi' takes precedence on the second line and we do not display the custom string, so if we are not saying 'hi' then we can display the custom text on the second line.
If the display is specified to have three lines then we will display the custom text on the third line (we can still say 'hi' on the second line) and if we have four or more lines then we also display the code version on the fourth line.
No string length checking is performed (although it would be easy to add in) and the onus is on the end user to take care that the string length does not exceed the number of columns on the display.
Different displays behave differently with oversized strings. Some will scroll right and the leading characters get dropped off the left hand side, other displays simply will not display any more characters than the number of columns that the display has and excess characters don't appear.