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

Band edges with or information or probihition of transmission #13

Open
wants to merge 349 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
349 commits
Select commit Hold shift + click to select a range
70153f7
Add morse menu playback to setup
rnighting Jan 22, 2020
814b646
Shuffle CW menu a bit, and reduce lots of menu name string lengths so…
rnighting Jan 22, 2020
1b89661
Send audio for 'Exit' menu option correctly
rnighting Jan 22, 2020
20a4577
Merge pull request #4 from reedbn/knob-acceleration
reedbn Jan 25, 2020
6dae08e
Merge branch 'master' into morse-menu
rnighting Jan 25, 2020
0c575d2
Add a way to terminate playback
rnighting Jan 25, 2020
a8910e1
Auto-update sideband mode based on keyed-in frequency
rnighting Jan 25, 2020
54e4d4b
When sideband mode is changed, immediately update tuning
rnighting Jan 25, 2020
68b85e6
Add a brief pause before continuing to play the actual characters
rnighting Jan 25, 2020
c6b21bf
Instead of fast tuning, play back the current frequency upon selection
rnighting Jan 25, 2020
9635d40
Add morseBool function
rnighting Jan 26, 2020
1175d1f
Add morseBool to main screen buttons
rnighting Jan 26, 2020
e88ee18
Remove unused variables and set default values for colors
rnighting Jan 26, 2020
2ac24eb
Minor whitespace adjustment, and remove unused variables
rnighting Jan 26, 2020
b65e5eb
un-name unused variable
rnighting Jan 26, 2020
f54320e
Match unsigned with unsigned
rnighting Jan 26, 2020
6dd4b37
analogRead technically returns an int, but it only can be 0-1023, so …
rnighting Jan 26, 2020
c384605
A number of explicit casts, initializations, and type adjustments to …
rnighting Jan 26, 2020
fea7b8d
Move string to PROGMEM, and remove unused return value
rnighting Jan 26, 2020
fe9f04d
Remove unused static
rnighting Jan 26, 2020
1505936
Remove unused variable
rnighting Jan 26, 2020
298bb47
Explicit cast to prevent integer overflow
rnighting Jan 26, 2020
bbe34da
Merge pull request #5 from reedbn/warning-cleanup
reedbn Jan 26, 2020
b0b11a9
Merge warning fixes, and fix 'new' warnings
rnighting Jan 26, 2020
953a59f
Don't play bools if morseMenu is off
rnighting Jan 26, 2020
fe1b8cf
Merge branch 'master' into band-handling-updates
rnighting Jan 26, 2020
95ea5b0
Use unsigned ints for frequency
rnighting Jan 26, 2020
e35a2ad
Merge pull request #6 from reedbn/band-handling-updates
reedbn Jan 26, 2020
e67885d
disable delay before starting CW, allow straight key values through t…
rnighting Jan 26, 2020
8db6401
Remove delay entirely. active_delay delays 10ms even when asked for 0
rnighting Jan 28, 2020
13f4bdb
Add version string to bottom right corner
rnighting Jan 28, 2020
c013281
Merge pull request #7 from reedbn/version-display
reedbn Jan 28, 2020
0417907
Add justification option for text rendering
rnighting Jan 28, 2020
ceec8e2
Push CW settings text to left, version to right
rnighting Jan 28, 2020
03c159b
Render menus to the left, rather than center
rnighting Jan 28, 2020
21736fc
Forgot to add version files to the project. Silly me.
rnighting Jan 28, 2020
015afb5
First pass at menu icon
rnighting Jan 28, 2020
14d19eb
Bigger settings icon
rnighting Jan 28, 2020
04d836a
Removed unused function
rnighting Jan 28, 2020
1115441
Use gear icon for menu button
rnighting Jan 28, 2020
6313aa5
Add two spacer characters
rnighting Jan 28, 2020
6ddd46a
Add spacers to keep frequency display a fixed width
rnighting Jan 28, 2020
2d48b58
Force a fix frequency width when possible
rnighting Jan 28, 2020
fbc718b
Merge pull request #8 from reedbn/cw-tx-issues
reedbn Jan 29, 2020
40c2391
Add space between colon and frequency output
rnighting Jan 29, 2020
87cf184
Merge pull request #9 from reedbn/fixed-width-freqs
reedbn Jan 29, 2020
0ad20ca
Merge master into text-justification
rnighting Jan 29, 2020
8045461
Merge pull request #10 from reedbn/text-justification
reedbn Jan 29, 2020
0a880fe
Merge master into morse-menu
rnighting Jan 29, 2020
13fa83d
Update reported version
rnighting Jan 29, 2020
d440be6
Rename INO file, so that it matches the repo name, and thus doesn't c…
rnighting Jan 30, 2020
bc5c393
Fix inter-element timing
rnighting Jan 31, 2020
03406f6
Merge branch 'master' into morse-menu
rnighting Jan 31, 2020
225464c
Remove TX offset in CW mode, and refactor frequency setting code so t…
rnighting Feb 2, 2020
94aae2f
Merge pull request #12 from reedbn/morse-menu
reedbn Feb 5, 2020
1c60b8b
Merge pull request #11 from reedbn/cw-transmit-at-displayed-freq
reedbn Feb 5, 2020
e35a9ee
Move LIMIT macro to utils
rnighting Feb 8, 2020
b805761
Start building a menu 'class'
rnighting Feb 9, 2020
801b1b0
Rough out the main menu
rnighting Feb 9, 2020
21eb897
Add selection
rnighting Feb 9, 2020
f42ad2b
Move button definition
rnighting Feb 9, 2020
a7a2655
Give readTouch a standard type
rnighting Feb 9, 2020
8faa9c5
Make function inputs const, and fix some compiler errors
rnighting Feb 9, 2020
5fb4718
Add definition for movePuck
rnighting Feb 9, 2020
e2249af
Move color definitions to their own file
rnighting Feb 9, 2020
49c5607
Move menu utils to their own file
rnighting Feb 10, 2020
e42b21f
Add touch button finding util
rnighting Feb 10, 2020
66a9d82
Set size variable for main menu button array
rnighting Feb 10, 2020
79a3762
Play morse when selecting
rnighting Feb 10, 2020
5a12a63
Make button aware of it's types
rnighting Feb 10, 2020
9e21faa
morseText should take a const char*
rnighting Feb 10, 2020
5e30551
Move selector logic to menu_utils
rnighting Feb 10, 2020
d9667d6
Add some debugging lines for now
rnighting Feb 10, 2020
bd616ca
Have touch functions read to passed pointer
rnighting Feb 10, 2020
e50857f
Have checkTouch support ButtonPress_e
rnighting Feb 10, 2020
b29bd95
Swap loop logic for new menu logic
rnighting Feb 10, 2020
72fc92b
Add classes for button timing variables and point
rnighting Feb 10, 2020
9476245
Move touch functions to their own files
rnighting Feb 10, 2020
26c670c
Include new point location
rnighting Feb 10, 2020
a92fdc7
Update to use new touch functions
rnighting Feb 10, 2020
4483852
Fix includes
rnighting Feb 10, 2020
d4867ac
Partial move of main menu buttons
rnighting Feb 10, 2020
9541c00
Extract progmem variables, and fix LIMITing on menu selection
rnighting Feb 10, 2020
5c04e23
Show puck on first selection
rnighting Feb 10, 2020
cc763a0
Add endSelector util
rnighting Feb 10, 2020
ecc3b9c
Add an init routine to the menu struct
rnighting Feb 10, 2020
bafe61d
Update button struct to provide more functionality
rnighting Feb 10, 2020
7a149a9
Add some comments to button and move char to the end
rnighting Feb 10, 2020
bc1e546
const the size
rnighting Feb 10, 2020
6dacc47
Copy size of the actual object
rnighting Feb 10, 2020
c4e9d3c
Add function stub for drawing buttons
rnighting Feb 10, 2020
dc51043
Start converting buttons. Not expected to compile
rnighting Feb 10, 2020
846c59e
Update more buttons
rnighting Feb 10, 2020
1869e20
Add some band utility functions for later use
rnighting Feb 7, 2020
254b60d
More button conversion
rnighting Feb 10, 2020
1077b0b
First pass on main menu button conversion complete. Not expected to c…
rnighting Feb 10, 2020
fa62b11
Update morse playback to use new version of button
rnighting Feb 10, 2020
5c0ecb0
Comment out submenus for now
rnighting Feb 10, 2020
61b79ba
Move formatFreq to utils
rnighting Feb 10, 2020
90d550a
Prevent multi-include problems
rnighting Feb 10, 2020
51288f1
Define types for formatFreq
rnighting Feb 10, 2020
2f9a0a3
Fix compile errors
rnighting Feb 10, 2020
8bd9d59
Displaying text should accept const char*
rnighting Feb 10, 2020
55096c9
Fix most compiler errors
rnighting Feb 10, 2020
4583288
Update functions to use new button array
rnighting Feb 10, 2020
25d5f3a
Move most of the button stuff to a separate file
rnighting Feb 10, 2020
8239761
Move button declarations together, declaring rather than defining req…
rnighting Feb 10, 2020
2826dfd
First pass at button drawing implementation
rnighting Feb 10, 2020
2722b43
Update include annotation
rnighting Feb 10, 2020
efd3bfc
Add color distinction to button drawing
rnighting Feb 10, 2020
c727d87
Fix button drawing routine
rnighting Feb 12, 2020
2ff1d0d
Fix types and expose some buttons
rnighting Feb 12, 2020
6686f19
Unpack progmem fully
rnighting Feb 12, 2020
2c20483
Fix extraction in menu_utils
rnighting Feb 12, 2020
c176604
Use pointer passed in for work space
rnighting Feb 12, 2020
3b932d5
Actually activate buttons!
rnighting Feb 12, 2020
4a27962
Save settings on VFO change or sideband change
rnighting Feb 12, 2020
70a1025
Fix progmem extraction
rnighting Feb 12, 2020
405df5a
Add method to update band buttons
rnighting Feb 12, 2020
77fffcc
update band buttons when tuning
rnighting Feb 12, 2020
23ecb4e
Upcast to uint64 to avoid overflow
rnighting Feb 12, 2020
5721e06
Instantly update tuning when changing modes
rnighting Feb 12, 2020
423246f
Add audio feedback for when entering/exiting bands
rnighting Feb 12, 2020
2d3cc48
Play current frequency when VFO is selected
rnighting Feb 13, 2020
4a0b0ec
First pass at making numpad buttons
rnighting Feb 15, 2020
d42571f
Start building out numpad menu
rnighting Feb 15, 2020
04560ef
Add numpad functionality to main menu
rnighting Feb 15, 2020
2f964b3
Remove unused function
rnighting Feb 15, 2020
f47c451
Add actual menu running functions
rnighting Feb 15, 2020
bba1255
Change rendering of the input frequency
rnighting Feb 15, 2020
4582521
Play current frequency on entering
rnighting Feb 15, 2020
72e4a71
First pass at splitting runSetting into Menu_t-compatible functions
rnighting Feb 15, 2020
c8a90ef
First pass at making menu selector run like a Menu_t
rnighting Feb 15, 2020
e9e1340
Create a root menu for setup
rnighting Feb 15, 2020
3dcbb8a
Small whitespace change
rnighting Feb 15, 2020
0b96cfb
Simplification of setting extraction, and setting menu running
rnighting Feb 15, 2020
2bfa976
Fix compiler errors
rnighting Feb 15, 2020
98adba2
Have a high level function in charge of finding the active submenu
rnighting Feb 15, 2020
cad3c3c
Add an enterSubmenu routine to centralize that behavior
rnighting Feb 15, 2020
6481812
Link in the setup menu. Exceeds available space :(
rnighting Feb 15, 2020
f7229eb
Save 406 bytes by refactoring the touch calibration routine
rnighting Feb 16, 2020
b909f4d
Remove active delay
rnighting Feb 16, 2020
3438bef
Clean up types a bit
rnighting Feb 16, 2020
b116be8
Remove redundant check
rnighting Feb 16, 2020
b2e1754
Remove more redundant checks
rnighting Feb 16, 2020
1e66731
Remove unnecessary file
rnighting Apr 13, 2020
f113551
Use beginTransaction for spi, since it's surprisingly less additional…
rnighting Apr 22, 2020
f090a75
Add dedicated scratch-space header so that we can track where these a…
rnighting Apr 22, 2020
b87ef75
Move tuning functions to a single file
rnighting Apr 22, 2020
7d84ab7
Remove include
rnighting Apr 22, 2020
0091a1e
Update includes, and make VFO switch explicit
rnighting Apr 22, 2020
ff4cc62
Update includes and pin names
rnighting Apr 22, 2020
f5f914a
Update includes
rnighting Apr 22, 2020
363ea02
Update includes and pin names
rnighting Apr 22, 2020
5217858
Update includes and pin names
rnighting Apr 22, 2020
e593e0a
Update includes
rnighting Apr 22, 2020
6face82
Update includes and pin names
rnighting Apr 22, 2020
67d34a3
Update includes and pin names
rnighting Apr 22, 2020
4a96027
Update includes
rnighting Apr 22, 2020
1622d0e
Update includes
rnighting Apr 22, 2020
a2eae89
Remove code that was moved to tuner, update includes and pin names
rnighting Apr 22, 2020
1766386
Update pin names
rnighting Apr 22, 2020
cc013e5
stub out some functions that still need to be removed or refactored
rnighting Apr 22, 2020
1ee39ec
Update includes, and disable numpad for space reasons for now
rnighting Apr 22, 2020
40a13f1
Re-enable frequency entering
rnighting Apr 22, 2020
98e62a6
Switch to using a tiny but terrible looking font for size reasons
rnighting Apr 22, 2020
80494b6
Try a couple other fonts. None are great.
rnighting Apr 22, 2020
91776fd
Clean up pin descriptions a bit
rnighting Apr 25, 2020
5596c0c
Remove function declarations from pin definition file
rnighting Apr 25, 2020
8af59b0
Move button pressing logic to it's own file
rnighting Apr 25, 2020
f66a173
Get LSB and USB buttons to update properly
rnighting Apr 25, 2020
0f45a2f
Fix out-of-band midpoint selection
rnighting Apr 25, 2020
fdd2afc
Fix auto-selection of sideband mode when tuning
rnighting Apr 25, 2020
2db9899
Move SI5351 driver stuff into it's own header
rnighting Apr 25, 2020
1f97be3
Rough pass at button grids
rnighting Apr 26, 2020
9b9a161
Revert "Rough pass at button grids"
rnighting Apr 26, 2020
4e7d171
Re-add version to main display, add callsign display, and re-enable T…
rnighting Apr 26, 2020
85ea714
Show current setting on setting screen
rnighting Apr 26, 2020
1f5f3a1
Use safer copy
rnighting Apr 26, 2020
06fa0e9
Update README
rnighting Apr 26, 2020
2a8ff5e
Replace fastest line routines with fillRect to save ~300 bytes
rnighting Apr 26, 2020
0fe54d0
Add toneAC2 library
rnighting Apr 26, 2020
da45643
Remove secondary pin from library
rnighting Apr 26, 2020
7a788b6
Proxy the tone library so that it builds
rnighting Apr 26, 2020
2c4448f
Replace calls to the default Arduino Tone library to toneAC2, saving …
rnighting Apr 26, 2020
c45a824
Switch back to nicer font
rnighting Apr 26, 2020
bd1ff23
Add comment about toneAC2 library license
rnighting Apr 26, 2020
e85db67
Use same color for version and callsign for better callsign visibility
rnighting Apr 26, 2020
6cd72a5
Update sideband selection graphic on band switch
rnighting Apr 26, 2020
b1e4466
Remove ornamental borders on setup page
rnighting Apr 26, 2020
f9907ce
Add icons for numpad and star
rnighting Apr 26, 2020
8cc272b
Use numpad icon
rnighting Apr 26, 2020
94be10f
Justify RIT text left so that it doesn't interfere with the TX text
rnighting Apr 26, 2020
0467223
If RIT is on, turn it off before switching VFO
rnighting Apr 26, 2020
e980cff
Remove brackets from callsign
rnighting Apr 27, 2020
cd3364c
Update version
rnighting Apr 27, 2020
b49b616
Add quick list to EEPROM settings
rnighting Apr 27, 2020
fafc9ac
Create quicklist menu
rnighting Apr 27, 2020
aa7e682
Add quicklist to main menu, but disable numpad temporarily for size r…
rnighting Apr 27, 2020
77b1bd2
Save ~100 bytes by combining these two functions
rnighting Apr 27, 2020
61c2247
Slim down some of the setup text
rnighting Apr 27, 2020
ab8ba66
Reuse menu running code between quicklist and numpad
rnighting Apr 27, 2020
55822da
Give min/max frequency variable names
rnighting Apr 27, 2020
a9b9b62
Use driver-specified min/max frequencies
rnighting Apr 27, 2020
501205e
Save ~100 bytes by rolling up the frequency parser
rnighting Apr 27, 2020
4e961bd
Give indicies names, so that it's easier to tell what's being extract…
rnighting May 3, 2020
e8c80a8
Replace 'byte' with 'uint8_t'
rnighting May 3, 2020
18a0546
Simplify timeout logic, saving nearly 100 bytes
rnighting May 3, 2020
8aa80bd
Rename processing function, remove trailing spaces
rnighting May 3, 2020
a3b9f70
Replace more indicies with enums
rnighting May 3, 2020
8e4adbf
Add enums for a bunch of commands
rnighting May 3, 2020
c6d83be
Use enums instead of hardcoded numbers
rnighting May 4, 2020
53a39b0
Revise switch to use a single Serial.write, based on switched changes
rnighting May 4, 2020
eba70c6
Swap EEPROM virtualization hardcoding for multi-byte reading using enums
rnighting May 4, 2020
8045b9b
Remove explicit 0 sets
rnighting May 4, 2020
2505e54
Remove unused cases
rnighting May 4, 2020
ce0fac9
Remove unused and fixed-output cases
rnighting May 4, 2020
2e74193
Give 0xBB a name
rnighting May 4, 2020
97d8253
Re-enable numpad, now that we have some more space
rnighting May 4, 2020
7a32c8e
Bump version number
rnighting May 4, 2020
e770230
CAT debug stuff added
rnighting May 4, 2020
e809b37
Invert split value from what Yaesu's documentation says, because haml…
rnighting May 4, 2020
a7cbf50
Fix comment based on reviewing hamlib code
rnighting May 4, 2020
6a6dc2a
Remove debug drawing
rnighting May 4, 2020
4cf8f7a
Use ACK/RACK, and set default response length to 1 so that it usually…
rnighting May 4, 2020
a138490
Change decision making in main menu loop to ensure display consistenc…
rnighting May 5, 2020
2a412fd
Force frequency change after recall. Unfortunately, this puts us just…
rnighting May 5, 2020
0b65559
Revert the previous commit
rnighting May 5, 2020
e3f23ae
Slight tweak to how frequencies are changed so that quicklist changes…
rnighting May 5, 2020
e168a4d
Bump version
rnighting May 5, 2020
e7748d2
Switch colors from defines to consts
rnighting May 5, 2020
f541ff8
Get rid of do-nothing functions
rnighting May 5, 2020
c323cec
Update readme with lots of information for other prospective developers
rnighting May 5, 2020
488e462
Debugging checkpoint
rnighting May 6, 2020
f76b50f
Update commented out debug print, and remove black screen draw at the…
rnighting May 6, 2020
d282062
Force redraw after setupTouch is called so that menu is on screen
rnighting May 6, 2020
b3a7e34
Replace 16-bit read style with slower, but apparently more reliable 8…
rnighting May 6, 2020
e6fa6f9
Fix zraw assignment issue that was preventing touch press-and-hold fr…
rnighting May 6, 2020
71e5f87
Add touch cancellation option
rnighting May 6, 2020
740e881
Update readme due to new feature
rnighting May 6, 2020
84f47b0
Bump version
rnighting May 6, 2020
c11c8bf
Remove bands that aren't on dial from band lookup struct
rnighting Jul 19, 2020
c62eaab
Update readme with compiler info
rnighting Jul 19, 2020
ab678f3
Merge pull request #13 from reedbn/ide_1_8_13-size-fixes
reedbn Jul 19, 2020
a4f5f4b
Update displayed version
rnighting Jul 19, 2020
b136f5e
Add parentheses to force correct addition operation. Thanks to Barry …
Dec 13, 2020
50381da
Adjust keyer behavior to always run PTT button as if in KEYER_STRAIGH…
Dec 14, 2020
4eecda1
Add size to comment
Dec 14, 2020
4918670
Save 12 bytes by adjusting math, inspried by Jack Purdum
Dec 14, 2020
6c9e759
Add user manual link to readme
reedbn Apr 12, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
225 changes: 225 additions & 0 deletions PDQ_MinLib/FreeSansBold9pt7b.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
const uint8_t FreeSansBold9pt7bBitmaps[] PROGMEM = {
0xFF, 0xFF, 0xFE, 0x48, 0x7E, 0xEF, 0xDF, 0xBF, 0x74, 0x40, 0x19, 0x86,
0x67, 0xFD, 0xFF, 0x33, 0x0C, 0xC3, 0x33, 0xFE, 0xFF, 0x99, 0x86, 0x61,
0x90, 0x10, 0x1F, 0x1F, 0xDE, 0xFF, 0x3F, 0x83, 0xC0, 0xFC, 0x1F, 0x09,
0xFC, 0xFE, 0xF7, 0xF1, 0xE0, 0x40, 0x38, 0x10, 0x7C, 0x30, 0xC6, 0x20,
0xC6, 0x40, 0xC6, 0x40, 0x7C, 0x80, 0x39, 0x9C, 0x01, 0x3E, 0x03, 0x63,
0x02, 0x63, 0x04, 0x63, 0x0C, 0x3E, 0x08, 0x1C, 0x0E, 0x01, 0xF8, 0x3B,
0x83, 0xB8, 0x3F, 0x01, 0xE0, 0x3E, 0x67, 0x76, 0xE3, 0xEE, 0x1C, 0xF3,
0xC7, 0xFE, 0x3F, 0x70, 0xFF, 0xF4, 0x18, 0x63, 0x1C, 0x73, 0x8E, 0x38,
0xE3, 0x8E, 0x18, 0x70, 0xC3, 0x06, 0x08, 0x61, 0x83, 0x0E, 0x38, 0x71,
0xC7, 0x1C, 0x71, 0xC6, 0x38, 0xE3, 0x18, 0x40, 0x21, 0x3E, 0x45, 0x28,
0x38, 0x70, 0xE7, 0xFF, 0xE7, 0x0E, 0x1C, 0xFC, 0x9C, 0xFF, 0xC0, 0xFC,
0x08, 0xC4, 0x23, 0x10, 0x84, 0x62, 0x11, 0x88, 0x00, 0x3E, 0x3F, 0x9D,
0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xDD, 0xCF, 0xE3, 0xE0,
0x08, 0xFF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x80, 0x3E, 0x3F, 0xB8,
0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0F, 0xF7, 0xF8,
0x3C, 0x7F, 0xE7, 0xE7, 0x07, 0x0C, 0x0E, 0x07, 0x07, 0xE7, 0xE7, 0x7E,
0x3C, 0x0E, 0x1E, 0x1E, 0x2E, 0x2E, 0x4E, 0x4E, 0x8E, 0xFF, 0xFF, 0x0E,
0x0E, 0x0E, 0x7F, 0x3F, 0x90, 0x18, 0x0D, 0xE7, 0xFB, 0x9E, 0x07, 0x03,
0x81, 0xF1, 0xFF, 0xE7, 0xC0, 0x3E, 0x3F, 0x9C, 0xFC, 0x0E, 0xE7, 0xFB,
0xDF, 0xC7, 0xE3, 0xF1, 0xDD, 0xEF, 0xE3, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0,
0xE0, 0x60, 0x70, 0x30, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x80, 0x3F,
0x1F, 0xEE, 0x3F, 0x87, 0xE3, 0xCF, 0xC7, 0xFB, 0xCF, 0xE1, 0xF8, 0x7F,
0x3D, 0xFE, 0x3F, 0x00, 0x3E, 0x3F, 0xBD, 0xDC, 0x7E, 0x3F, 0x1F, 0xDE,
0xFF, 0x3B, 0x81, 0xF9, 0xCF, 0xE3, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0xFC,
0x00, 0x07, 0xE5, 0xE0, 0x00, 0x83, 0xC7, 0xDF, 0x0C, 0x07, 0x80, 0xF8,
0x1F, 0x01, 0x80, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x70,
0x3F, 0x03, 0xE0, 0x38, 0x7D, 0xF1, 0xE0, 0x80, 0x00, 0x3E, 0x3F, 0xB8,
0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x0E, 0x00, 0x03, 0x81, 0xC0,
0x03, 0xF0, 0x0F, 0xFC, 0x1E, 0x0E, 0x38, 0x02, 0x70, 0xE9, 0x63, 0x19,
0xC2, 0x19, 0xC6, 0x11, 0xC6, 0x33, 0xC6, 0x32, 0x63, 0xFE, 0x73, 0xDC,
0x3C, 0x00, 0x1F, 0xF8, 0x07, 0xF0, 0x07, 0x00, 0xF0, 0x0F, 0x80, 0xF8,
0x1D, 0x81, 0x9C, 0x19, 0xC3, 0x8C, 0x3F, 0xE7, 0xFE, 0x70, 0x66, 0x07,
0xE0, 0x70, 0xFF, 0x9F, 0xFB, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0x3F, 0xF7,
0x06, 0xE0, 0xFC, 0x1F, 0x83, 0xFF, 0xEF, 0xF8, 0x1F, 0x83, 0xFE, 0x78,
0xE7, 0x07, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x07, 0x07, 0x78,
0xF3, 0xFE, 0x1F, 0x80, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0x7E,
0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x0E, 0xE0, 0xEF, 0xFC, 0xFF, 0x80,
0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, 0xE0, 0x70, 0x38,
0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0,
0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x00, 0x0F, 0x87, 0xF9, 0xE3, 0xB8, 0x3E,
0x01, 0xC0, 0x38, 0xFF, 0x1F, 0xE0, 0x6E, 0x0D, 0xE3, 0x9F, 0xD0, 0xF2,
0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0xFF, 0xFF, 0x07, 0xE0,
0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE7, 0xE7, 0xE7, 0x7E, 0x3C,
0xE0, 0xEE, 0x1C, 0xE3, 0x8E, 0x70, 0xEE, 0x0F, 0xC0, 0xFE, 0x0F, 0x70,
0xE7, 0x0E, 0x38, 0xE1, 0xCE, 0x0E, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0xE1,
0xFF, 0x87, 0xFE, 0x1F, 0xEC, 0x7F, 0xB3, 0x7E, 0xCD, 0xFB, 0x37, 0xEC,
0xDF, 0x9E, 0x7E, 0x79, 0xF9, 0xE7, 0xE7, 0x9C, 0xE0, 0xFE, 0x1F, 0xC3,
0xFC, 0x7F, 0xCF, 0xD9, 0xFB, 0xBF, 0x37, 0xE7, 0xFC, 0x7F, 0x87, 0xF0,
0xFE, 0x0E, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, 0xEE, 0x03, 0xF0, 0x1F,
0x80, 0xFC, 0x07, 0xE0, 0x3B, 0x83, 0x9E, 0x3C, 0x7F, 0xC0, 0xF8, 0x00,
0xFF, 0x9F, 0xFB, 0x87, 0xF0, 0x7E, 0x0F, 0xC3, 0xFF, 0xF7, 0xFC, 0xE0,
0x1C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0,
0xEE, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE1, 0xBB, 0x8F, 0x9E, 0x3C,
0x7F, 0xE0, 0xFB, 0x80, 0x08, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0,
0xEE, 0x0E, 0xFF, 0xCF, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0xEE, 0x0E, 0xE0,
0xF0, 0x3F, 0x0F, 0xFB, 0xC7, 0xF0, 0x7E, 0x01, 0xFC, 0x1F, 0xF0, 0x3F,
0x00, 0xFC, 0x1D, 0xC7, 0xBF, 0xE1, 0xF8, 0xFF, 0xFF, 0xC7, 0x03, 0x81,
0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0xFC,
0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F,
0xC7, 0xBF, 0xE1, 0xF0, 0x60, 0x67, 0x0E, 0x70, 0xE3, 0x0C, 0x30, 0xC3,
0x9C, 0x19, 0x81, 0x98, 0x1F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x06, 0x00,
0x61, 0xC3, 0xB8, 0xE1, 0x9C, 0x70, 0xCE, 0x3C, 0xE3, 0x36, 0x71, 0x9B,
0x30, 0xED, 0x98, 0x36, 0x7C, 0x1B, 0x3C, 0x0F, 0x1E, 0x07, 0x8F, 0x01,
0xC3, 0x80, 0xE1, 0x80, 0x70, 0xE7, 0x8E, 0x39, 0xC1, 0xF8, 0x1F, 0x80,
0xF0, 0x07, 0x00, 0xF0, 0x1F, 0x81, 0x9C, 0x39, 0xC7, 0x0E, 0x70, 0xE0,
0xE0, 0xFC, 0x39, 0xC7, 0x18, 0xC3, 0xB8, 0x36, 0x07, 0xC0, 0x70, 0x0E,
0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, 0xE0, 0xF0,
0x70, 0x70, 0x70, 0x78, 0x38, 0x38, 0x1F, 0xFF, 0xF8, 0xFF, 0xEE, 0xEE,
0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xF0, 0x86, 0x10, 0x86, 0x10, 0x84, 0x30,
0x84, 0x30, 0x80, 0xFF, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F, 0xF0,
0x18, 0x1C, 0x3C, 0x3E, 0x36, 0x66, 0x63, 0xC3, 0xFF, 0xC0, 0xCC, 0x3F,
0x1F, 0xEE, 0x38, 0x0E, 0x3F, 0x9E, 0xEE, 0x3B, 0x9E, 0xFF, 0x9E, 0xE0,
0xE0, 0x38, 0x0E, 0x03, 0xBC, 0xFF, 0xBC, 0xEE, 0x1F, 0x87, 0xE1, 0xF8,
0x7F, 0x3B, 0xFE, 0xEF, 0x00, 0x1F, 0x3F, 0xDC, 0x7C, 0x0E, 0x07, 0x03,
0x80, 0xE3, 0x7F, 0x8F, 0x00, 0x03, 0x81, 0xC0, 0xE7, 0x77, 0xFB, 0xBF,
0x8F, 0xC7, 0xE3, 0xF1, 0xFD, 0xEF, 0xF3, 0xB8, 0x3E, 0x3F, 0x9C, 0xDC,
0x3F, 0xFF, 0xFF, 0x81, 0xC3, 0x7F, 0x8F, 0x00, 0x3B, 0xDD, 0xFF, 0xB9,
0xCE, 0x73, 0x9C, 0xE7, 0x00, 0x3B, 0xBF, 0xDD, 0xFC, 0x7E, 0x3F, 0x1F,
0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xFC, 0x77, 0xF1, 0xF0, 0xE0, 0x70, 0x38,
0x1D, 0xEF, 0xFF, 0x9F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 0x38,
0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0x77, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77,
0x7F, 0xE0, 0xE0, 0x70, 0x38, 0x1C, 0x7E, 0x77, 0x73, 0xF1, 0xF8, 0xFE,
0x77, 0x39, 0xDC, 0x6E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0x7B,
0xFF, 0xFE, 0x39, 0xF8, 0xE7, 0xE3, 0x9F, 0x8E, 0x7E, 0x39, 0xF8, 0xE7,
0xE3, 0x9F, 0x8E, 0x70, 0xEF, 0x7F, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F,
0xC7, 0xE3, 0xF1, 0xC0, 0x1E, 0x1F, 0xE7, 0x3B, 0x87, 0xE1, 0xF8, 0x7E,
0x1D, 0xCE, 0x7F, 0x87, 0x80, 0xEF, 0x3F, 0xEF, 0x3B, 0x87, 0xE1, 0xF8,
0x7E, 0x1F, 0xCE, 0xFF, 0xBB, 0xCE, 0x03, 0x80, 0xE0, 0x38, 0x00, 0x3B,
0xBF, 0xFD, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xE0,
0x70, 0x38, 0x1C, 0xEF, 0xFF, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x80, 0x3E,
0x3F, 0xB8, 0xFC, 0x0F, 0xC3, 0xFC, 0x3F, 0xC7, 0xFF, 0x1F, 0x00, 0x73,
0xBF, 0xF7, 0x39, 0xCE, 0x73, 0x9E, 0x70, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E,
0x3F, 0x1F, 0x8F, 0xC7, 0xFF, 0xBD, 0xC0, 0xE1, 0x98, 0x67, 0x39, 0xCC,
0x33, 0x0D, 0xC3, 0xE0, 0x78, 0x1E, 0x07, 0x00, 0xE3, 0x1D, 0x9E, 0x66,
0x79, 0x99, 0xE6, 0x77, 0xB8, 0xD2, 0xC3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0,
0x73, 0x80, 0x73, 0x9C, 0xE3, 0xF0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xFC,
0x73, 0x9C, 0xE0, 0xE1, 0xD8, 0x67, 0x39, 0xCE, 0x33, 0x0E, 0xC3, 0xE0,
0x78, 0x1E, 0x03, 0x00, 0xC0, 0x70, 0x38, 0x0E, 0x00, 0xFE, 0xFE, 0x0E,
0x1C, 0x38, 0x38, 0x70, 0xE0, 0xFF, 0xFF, 0x37, 0x66, 0x66, 0x6E, 0xE6,
0x66, 0x66, 0x67, 0x30, 0xFF, 0xFF, 0x80, 0xCE, 0x66, 0x66, 0x67, 0x76,
0x66, 0x66, 0x6E, 0xC0, 0x71, 0x8E, 0x0C, 0x00, 0xF0, 0x00, 0x8F, 0x10,
0x1C, 0xF3, 0x83, 0xFF, 0xFC, 0x7F, 0xFF, 0xE3, 0xF0, 0xFE, 0x1E, 0x07,
0xC1, 0xC0, 0x38, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x01, 0xFF, 0x80,
0x1F, 0x1C, 0x03, 0x81, 0xE0, 0x78, 0x3F, 0x0F, 0xC7, 0xFF, 0xFE, 0x3F,
0xFF, 0xC3, 0xCF, 0x38, 0x08, 0xF1, 0x00, 0x0F, 0x00, 0x00, 0xEE, 0xFD,
0xDF, 0xBB, 0x80, 0x0E, 0xEF, 0xDD, 0xFB, 0xB8, 0x00, 0xEE, 0xFD, 0xDF,
0xBB, 0x80, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x00, 0x01, 0x00, 0x02, 0x00,
0x0E, 0x00, 0x1C, 0x00, 0x38, 0x1F, 0xFF, 0xDF, 0xFF, 0x0F, 0xF8, 0x0F,
0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x01, 0xEF, 0x03, 0x06, 0x04, 0x04,
0x00
};

const GFXglyph FreeSansBold9pt7bGlyphs[] PROGMEM = {
{ 0, 0, 0, 5, 0, 1 }, // 0x20 ' '
{ 0, 3, 13, 6, 2, -12 }, // 0x21 '!'
{ 5, 7, 5, 9, 1, -12 }, // 0x22 '"'
{ 10, 10, 12, 10, 0, -11 }, // 0x23 '#'
{ 25, 9, 15, 10, 1, -13 }, // 0x24 '$'
{ 42, 16, 13, 16, 0, -12 }, // 0x25 '%'
{ 68, 12, 13, 13, 1, -12 }, // 0x26 '&'
{ 88, 3, 5, 5, 1, -12 }, // 0x27 '''
{ 90, 6, 17, 6, 1, -12 }, // 0x28 '('
{ 103, 6, 17, 6, 0, -12 }, // 0x29 ')'
{ 116, 5, 6, 7, 1, -12 }, // 0x2A '*'
{ 120, 7, 8, 11, 2, -7 }, // 0x2B '+'
{ 127, 3, 5, 4, 1, -1 }, // 0x2C ','
{ 129, 5, 2, 6, 0, -5 }, // 0x2D '-'
{ 131, 3, 2, 4, 1, -1 }, // 0x2E '.'
{ 132, 5, 13, 5, 0, -12 }, // 0x2F '/'
{ 141, 9, 13, 10, 1, -12 }, // 0x30 '0'
{ 156, 5, 13, 10, 2, -12 }, // 0x31 '1'
{ 165, 9, 13, 10, 1, -12 }, // 0x32 '2'
{ 180, 8, 13, 10, 1, -12 }, // 0x33 '3'
{ 193, 8, 13, 10, 2, -12 }, // 0x34 '4'
{ 206, 9, 13, 10, 1, -12 }, // 0x35 '5'
{ 221, 9, 13, 10, 1, -12 }, // 0x36 '6'
{ 236, 9, 13, 10, 0, -12 }, // 0x37 '7'
{ 251, 10, 13, 10, 0, -12 }, // 0x38 '8'
{ 268, 9, 13, 10, 1, -12 }, // 0x39 '9'
{ 283, 3, 9, 4, 1, -8 }, // 0x3A ':'
{ 287, 3, 12, 4, 1, -8 }, // 0x3B ';'
{ 292, 9, 9, 11, 1, -8 }, // 0x3C '<'
{ 303, 9, 6, 11, 1, -6 }, // 0x3D '='
{ 310, 9, 9, 11, 1, -8 }, // 0x3E '>'
{ 321, 9, 13, 11, 1, -12 }, // 0x3F '?'
{ 336, 16, 15, 18, 0, -12 }, // 0x40 '@'
{ 366, 12, 13, 13, 0, -12 }, // 0x41 'A'
{ 386, 11, 13, 13, 1, -12 }, // 0x42 'B'
{ 404, 12, 13, 13, 1, -12 }, // 0x43 'C'
{ 424, 12, 13, 13, 1, -12 }, // 0x44 'D'
{ 444, 9, 13, 12, 1, -12 }, // 0x45 'E'
{ 459, 9, 13, 11, 1, -12 }, // 0x46 'F'
{ 474, 11, 13, 14, 1, -12 }, // 0x47 'G'
{ 492, 11, 13, 13, 1, -12 }, // 0x48 'H'
{ 510, 3, 13, 6, 1, -12 }, // 0x49 'I'
{ 515, 8, 13, 10, 1, -12 }, // 0x4A 'J'
{ 528, 12, 13, 13, 1, -12 }, // 0x4B 'K'
{ 548, 8, 13, 11, 1, -12 }, // 0x4C 'L'
{ 561, 14, 13, 16, 1, -12 }, // 0x4D 'M'
{ 584, 11, 13, 14, 1, -12 }, // 0x4E 'N'
{ 602, 13, 13, 14, 1, -12 }, // 0x4F 'O'
{ 624, 11, 13, 12, 1, -12 }, // 0x50 'P'
{ 642, 13, 14, 14, 1, -12 }, // 0x51 'Q'
{ 665, 12, 13, 13, 1, -12 }, // 0x52 'R'
{ 685, 11, 13, 12, 1, -12 }, // 0x53 'S'
{ 703, 9, 13, 12, 2, -12 }, // 0x54 'T'
{ 718, 11, 13, 13, 1, -12 }, // 0x55 'U'
{ 736, 12, 13, 12, 0, -12 }, // 0x56 'V'
{ 756, 17, 13, 17, 0, -12 }, // 0x57 'W'
{ 784, 12, 13, 12, 0, -12 }, // 0x58 'X'
{ 804, 11, 13, 12, 1, -12 }, // 0x59 'Y'
{ 822, 9, 13, 11, 1, -12 }, // 0x5A 'Z'
{ 837, 4, 17, 6, 1, -12 }, // 0x5B '['
{ 846, 5, 13, 5, 0, -12 }, // 0x5C '\'
{ 855, 4, 17, 6, 0, -12 }, // 0x5D ']'
{ 864, 8, 8, 11, 1, -12 }, // 0x5E '^'
{ 872, 10, 1, 10, 0, 4 }, // 0x5F '_'
{ 874, 3, 2, 5, 0, -12 }, // 0x60 '`'
{ 875, 10, 10, 10, 1, -9 }, // 0x61 'a'
{ 888, 10, 13, 11, 1, -12 }, // 0x62 'b'
{ 905, 9, 10, 10, 1, -9 }, // 0x63 'c'
{ 917, 9, 13, 11, 1, -12 }, // 0x64 'd'
{ 932, 9, 10, 10, 1, -9 }, // 0x65 'e'
{ 944, 5, 13, 6, 1, -12 }, // 0x66 'f'
{ 953, 9, 14, 11, 1, -9 }, // 0x67 'g'
{ 969, 9, 13, 11, 1, -12 }, // 0x68 'h'
{ 984, 3, 13, 5, 1, -12 }, // 0x69 'i'
{ 989, 4, 17, 5, 0, -12 }, // 0x6A 'j'
{ 998, 9, 13, 10, 1, -12 }, // 0x6B 'k'
{ 1013, 3, 13, 5, 1, -12 }, // 0x6C 'l'
{ 1018, 14, 10, 16, 1, -9 }, // 0x6D 'm'
{ 1036, 9, 10, 11, 1, -9 }, // 0x6E 'n'
{ 1048, 10, 10, 11, 1, -9 }, // 0x6F 'o'
{ 1061, 10, 14, 11, 1, -9 }, // 0x70 'p'
{ 1079, 9, 14, 11, 1, -9 }, // 0x71 'q'
{ 1095, 6, 10, 7, 1, -9 }, // 0x72 'r'
{ 1103, 9, 10, 10, 1, -9 }, // 0x73 's'
{ 1115, 5, 12, 6, 1, -11 }, // 0x74 't'
{ 1123, 9, 10, 11, 1, -9 }, // 0x75 'u'
{ 1135, 10, 10, 10, 0, -9 }, // 0x76 'v'
{ 1148, 14, 10, 14, 0, -9 }, // 0x77 'w'
{ 1166, 10, 10, 10, 0, -9 }, // 0x78 'x'
{ 1179, 10, 14, 10, 0, -9 }, // 0x79 'y'
{ 1197, 8, 10, 9, 1, -9 }, // 0x7A 'z'
{ 1207, 4, 17, 7, 1, -12 }, // 0x7B '{'
{ 1216, 1, 17, 5, 2, -12 }, // 0x7C '|'
{ 1219, 4, 17, 7, 2, -12 }, // 0x7D '}'
{ 1228, 8, 2, 9, 0, -4 }, // 0x7E '~'
{ 1231, 20, 20, 22, 1, -12 }, // 0x7F gear icon
{ 1231, 0, 0, 10, 0, 1 }, // 0x80 10px space to match numbers
{ 1231, 0, 0, 4, 0, 1 }, // 0x81 4px space to match period
{ 1282, 11, 15, 13, 1, -10 }, // 0x82 numpad icon
{ 1304, 15, 15, 17, 1, -10 }, // 0x83 star icon
};

const GFXfont FreeSansBold9pt7b PROGMEM = {
(uint8_t *)FreeSansBold9pt7bBitmaps,
(GFXglyph *)FreeSansBold9pt7bGlyphs,
0x20, //first character
0x83, //last character
22 //yAdvance (newline)
};
Loading