Made major changes to OLED
- now I understand how the system works I can make my own fonts/graphics - overhauled the 32x128 OLED screen display. Will still tweak it
This commit is contained in:
		
							parent
							
								
									1822862388
								
							
						
					
					
						commit
						7013d39810
					
				
					 5 changed files with 397 additions and 46 deletions
				
			
		| 
						 | 
				
			
			@ -8,7 +8,8 @@
 | 
			
		|||
 | 
			
		||||
//Clear variables we plan to use that might be set elsewhere
 | 
			
		||||
#undef OLED_TIMEOUT
 | 
			
		||||
 | 
			
		||||
#undef OLED_FONT_H
 | 
			
		||||
 | 
			
		||||
//Set common configuration for all keyboards
 | 
			
		||||
#define OLED_TIMEOUT 60000 //1 min
 | 
			
		||||
#define OLED_TIMEOUT 60000 //1 min
 | 
			
		||||
#define OLED_FONT_H "./lib/font.c"
 | 
			
		||||
| 
						 | 
				
			
			@ -20,8 +20,6 @@ void render_qmk_logo(void) {
 | 
			
		|||
 | 
			
		||||
void render_default_layer_state(void) {
 | 
			
		||||
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYOUT_NAME), false);
 | 
			
		||||
 | 
			
		||||
  switch (get_highest_layer(default_layer_state)) {
 | 
			
		||||
 | 
			
		||||
    case _QWERTY:
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +31,7 @@ void render_default_layer_state(void) {
 | 
			
		|||
      break;
 | 
			
		||||
 | 
			
		||||
    case _GAME:
 | 
			
		||||
      oled_write_P(PSTR(OLED_RENDER_LAYOUT_GAME), false);
 | 
			
		||||
      oled_write_ln_P(PSTR(OLED_RENDER_LAYOUT_GAME), false);
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -43,23 +41,49 @@ void render_default_layer_state(void) {
 | 
			
		|||
 | 
			
		||||
void render_layer_state(void) {
 | 
			
		||||
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_NAME),       false);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_BASE),       get_highest_layer(layer_state) == FIRST_DEFAULT_LAYER);  
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_NAVIGATION), get_highest_layer(layer_state) == _NAVIGATION);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_NUMBER),     get_highest_layer(layer_state) == _NUMBER);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_SYMBOL),     get_highest_layer(layer_state) == _SYMBOL);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_CONFIG),     get_highest_layer(layer_state) == _CONFIG);
 | 
			
		||||
  switch (get_highest_layer(layer_state)) {
 | 
			
		||||
    case _NAVIGATION:
 | 
			
		||||
      oled_write_ln_P(PSTR(OLED_RENDER_LAYER_NAVIGATION), false);
 | 
			
		||||
      break;
 | 
			
		||||
    case _NUMBER:
 | 
			
		||||
      oled_write_ln_P(PSTR(OLED_RENDER_LAYER_NUMBER), false);
 | 
			
		||||
      break;
 | 
			
		||||
    case _SYMBOL:
 | 
			
		||||
      oled_write_ln_P(PSTR(OLED_RENDER_LAYER_SYMBOL), false);
 | 
			
		||||
      break;
 | 
			
		||||
    case _CONFIG:
 | 
			
		||||
      oled_write_ln_P(PSTR(OLED_RENDER_LAYER_CONFIG), false);
 | 
			
		||||
      break;
 | 
			
		||||
    default:
 | 
			
		||||
      oled_write_ln_P(PSTR(OLED_RENDER_LAYER_BASE), false);
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void render_keylock_status(void) {
 | 
			
		||||
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_KEYLOCK_NAME), false);
 | 
			
		||||
  oled_write_ln_P(PSTR(OLED_RENDER_KEYLOCK_NAME), false);
 | 
			
		||||
  oled_write_P(PSTR(" "), false);
 | 
			
		||||
  oled_write_P(PSTR("N"), host_keyboard_led_state().num_lock);
 | 
			
		||||
  oled_write_P(PSTR("C"), host_keyboard_led_state().caps_lock || is_caps_word_on() );
 | 
			
		||||
  oled_write_ln_P(PSTR("S"), host_keyboard_led_state().scroll_lock );
 | 
			
		||||
 | 
			
		||||
  if( host_keyboard_led_state().num_lock ) {
 | 
			
		||||
    oled_write_P(num_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_P(num_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if( host_keyboard_led_state().caps_lock || is_caps_word_on() ) {
 | 
			
		||||
    oled_write_P(caps_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_P(caps_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if( host_keyboard_led_state().scroll_lock ) {
 | 
			
		||||
    oled_write_ln_P(scroll_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_ln_P(scroll_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -69,18 +93,72 @@ void render_mod_status(void) {
 | 
			
		|||
  uint8_t current_mod = get_mods();
 | 
			
		||||
  uint8_t current_osm = get_oneshot_mods();
 | 
			
		||||
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_MODS_NAME), false);
 | 
			
		||||
  oled_write_ln_P(PSTR(OLED_RENDER_MODS_NAME), false);
 | 
			
		||||
  oled_write_P(PSTR(" "), false);
 | 
			
		||||
 | 
			
		||||
  bool isShift = (current_mod | current_osm) & MOD_MASK_SHIFT;
 | 
			
		||||
  bool isCtrl  = (current_mod | current_osm) & MOD_MASK_CTRL;
 | 
			
		||||
  bool isAlt   = (current_mod | current_osm) & MOD_MASK_ALT;
 | 
			
		||||
  bool isGUI   = (current_mod | current_osm) & MOD_MASK_GUI;
 | 
			
		||||
  if( (current_mod | current_osm) & MOD_MASK_SHIFT ) {
 | 
			
		||||
    oled_write_P(shift_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_P(shift_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  oled_write_P(PSTR("S"), isShift );
 | 
			
		||||
  oled_write_P(PSTR("C"), isCtrl );
 | 
			
		||||
  oled_write_P(PSTR("A"), isAlt );
 | 
			
		||||
  oled_write_P(PSTR("G"), isGUI );  
 | 
			
		||||
  if( (current_mod | current_osm) & MOD_MASK_CTRL ) {
 | 
			
		||||
    oled_write_P(ctrl_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_P(ctrl_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if( (current_mod | current_osm) & MOD_MASK_ALT ) {
 | 
			
		||||
    oled_write_P(alt_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_P(alt_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if( (current_mod | current_osm) & MOD_MASK_GUI ) {
 | 
			
		||||
    oled_write_P(gui_on, false );
 | 
			
		||||
  }else {
 | 
			
		||||
    oled_write_P(gui_off, false );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void render_feature_status(void) {
 | 
			
		||||
 | 
			
		||||
oled_write_ln_P(PSTR(OLED_RENDER_FEATURE_NAME), false);
 | 
			
		||||
 | 
			
		||||
#if defined(RGB_MATRIX_ENABLE)
 | 
			
		||||
  if (rgb_matrix_is_enabled()) { 
 | 
			
		||||
    oled_write_P(rgb_on, false);
 | 
			
		||||
  } else {
 | 
			
		||||
    oled_write_P(rgb_off, false);
 | 
			
		||||
  }
 | 
			
		||||
#else
 | 
			
		||||
  oled_write_P(rgb_off, false);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
oled_write_P(PSTR(" "), false);
 | 
			
		||||
 | 
			
		||||
#if defined(AUDIO_ENABLE)
 | 
			
		||||
  if (is_audio_on()) { 
 | 
			
		||||
    oled_write_P(audio_on, false);
 | 
			
		||||
  } else {
 | 
			
		||||
    oled_write_P(audio_off, false);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
  oled_write_P(audio_off, false);
 | 
			
		||||
#endif //AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
#if defined(HAPTIC_ENABLE)
 | 
			
		||||
  if (haptic_get_enable()) { 
 | 
			
		||||
    oled_write_P(haptic_on, false);
 | 
			
		||||
  } else {
 | 
			
		||||
    oled_write_P(haptic_off, false);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
  oled_write_P(haptic_off, false);
 | 
			
		||||
#endif //AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -88,9 +166,16 @@ void render_mod_status(void) {
 | 
			
		|||
void render_oled_main(void) {
 | 
			
		||||
 | 
			
		||||
  render_default_layer_state();
 | 
			
		||||
  render_keylock_status();
 | 
			
		||||
  render_mod_status();
 | 
			
		||||
  render_layer_state();
 | 
			
		||||
  
 | 
			
		||||
  oled_write_ln_P(PSTR(" "), false);
 | 
			
		||||
  render_keylock_status();
 | 
			
		||||
 | 
			
		||||
  oled_write_ln_P(PSTR(" "), false);
 | 
			
		||||
  render_mod_status();
 | 
			
		||||
 | 
			
		||||
  oled_write_ln_P(PSTR(" "), false);
 | 
			
		||||
  render_feature_status();
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -119,14 +204,12 @@ bool oled_task_user(void) {
 | 
			
		|||
 | 
			
		||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
 | 
			
		||||
 | 
			
		||||
#if defined(KEYBOARD_klor_2040)
 | 
			
		||||
  return OLED_ROTATION_0;
 | 
			
		||||
#else
 | 
			
		||||
#if !defined(KEYBOARD_klor_2040)
 | 
			
		||||
  if (is_keyboard_master()) {
 | 
			
		||||
    return OLED_ROTATION_270;
 | 
			
		||||
  } else {
 | 
			
		||||
    return OLED_ROTATION_0;   
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
  return OLED_ROTATION_0;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,20 +2,20 @@
 | 
			
		|||
 | 
			
		||||
#include "t4corun.h"
 | 
			
		||||
 | 
			
		||||
#define OLED_RENDER_KEYLOCK_NAME      "Lock:"
 | 
			
		||||
#define OLED_RENDER_MODS_NAME         "Mods:"
 | 
			
		||||
 | 
			
		||||
#define OLED_RENDER_LAYOUT_NAME       "Lyout"
 | 
			
		||||
#define OLED_RENDER_LAYOUT_QWERTY     " qrty"
 | 
			
		||||
#define OLED_RENDER_LAYOUT_COLEMAK_DH " cmDH"
 | 
			
		||||
#define OLED_RENDER_LAYOUT_GAME       " Game"
 | 
			
		||||
#define OLED_RENDER_KEYLOCK_NAME      "Lock"
 | 
			
		||||
#define OLED_RENDER_MODS_NAME         "Mods"
 | 
			
		||||
#define OLED_RENDER_FEATURE_NAME      "Feat"
 | 
			
		||||
 | 
			
		||||
#define OLED_RENDER_LAYER_NAME        "Layer"
 | 
			
		||||
#define OLED_RENDER_LAYER_BASE        " Def "
 | 
			
		||||
#define OLED_RENDER_LAYER_NAVIGATION  " Nav "
 | 
			
		||||
#define OLED_RENDER_LAYER_NUMBER      " Num "
 | 
			
		||||
#define OLED_RENDER_LAYER_SYMBOL      " Sym "
 | 
			
		||||
#define OLED_RENDER_LAYER_CONFIG      " Cfg "
 | 
			
		||||
#define OLED_RENDER_LAYOUT_QWERTY     "QWRTY"
 | 
			
		||||
#define OLED_RENDER_LAYOUT_COLEMAK_DH "CLMAK"
 | 
			
		||||
#define OLED_RENDER_LAYOUT_GAME       "GAME"
 | 
			
		||||
 | 
			
		||||
#define OLED_RENDER_LAYER_BASE        " Def"
 | 
			
		||||
#define OLED_RENDER_LAYER_NAVIGATION  " Nav"
 | 
			
		||||
#define OLED_RENDER_LAYER_NUMBER      " Num"
 | 
			
		||||
#define OLED_RENDER_LAYER_SYMBOL      " Sym"
 | 
			
		||||
#define OLED_RENDER_LAYER_CONFIG      " Cfg"
 | 
			
		||||
 | 
			
		||||
void              render_crkbd_logo(void);
 | 
			
		||||
void              render_rollow_logo(void);
 | 
			
		||||
| 
						 | 
				
			
			@ -24,10 +24,44 @@ void              render_default_layer_state(void);
 | 
			
		|||
void              render_layer_state(void);
 | 
			
		||||
void              render_keylock_status(void);
 | 
			
		||||
void              render_mod_status(void);
 | 
			
		||||
void              render_feature_status(void);
 | 
			
		||||
void              render_oled_main(void);
 | 
			
		||||
bool              oled_task_user(void);
 | 
			
		||||
oled_rotation_t   oled_init_user(oled_rotation_t rotation);
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM sep_v32[]    = {0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM num_on[]     = {0x91, 0};
 | 
			
		||||
static const char PROGMEM num_off[]    = {0xDC, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM caps_on[]    = {0x93, 0};
 | 
			
		||||
static const char PROGMEM caps_off[]   = {0xD9, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM scroll_on[]  = {0x8F, 0};
 | 
			
		||||
static const char PROGMEM scroll_off[] = {0xD8, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM shift_on[]   = {0x8F, 0};
 | 
			
		||||
static const char PROGMEM shift_off[]  = {0xD8, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM ctrl_on[]    = {0x93, 0};
 | 
			
		||||
static const char PROGMEM ctrl_off[]   = {0xD9, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM alt_on[]     = {0xD6, 0};
 | 
			
		||||
static const char PROGMEM alt_off[]    = {0xDA, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM gui_on[]     = {0xD7, 0};
 | 
			
		||||
static const char PROGMEM gui_off[]    = {0xDB, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM rgb_on[]     = {0xD4, 0xD5, 0};
 | 
			
		||||
static const char PROGMEM rgb_off[]    = {0xDD, 0xDE, 0};-
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM audio_on[]   = {0xAF, 0xB0, 0};
 | 
			
		||||
static const char PROGMEM audio_off[]  = {0xCF, 0xD0, 0};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM haptic_on[]  = {0xB1, 0xB2, 0};
 | 
			
		||||
static const char PROGMEM haptic_off[] = {0xB3, 0xB4, 0};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM crkbd_logo[] = {
 | 
			
		||||
  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
 | 
			
		||||
  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										234
									
								
								users/t4corun/lib/font.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										234
									
								
								users/t4corun/lib/font.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,234 @@
 | 
			
		|||
// This is the KLOR font file modified
 | 
			
		||||
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
 | 
			
		||||
// See gfxfont.h for newer custom bitmap font info.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "progmem.h"
 | 
			
		||||
 | 
			
		||||
static const unsigned char PROGMEM font[] = {
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
 | 
			
		||||
    0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
 | 
			
		||||
    0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
 | 
			
		||||
    0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
 | 
			
		||||
    0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
 | 
			
		||||
    0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
 | 
			
		||||
    0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
 | 
			
		||||
    0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
 | 
			
		||||
    0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
 | 
			
		||||
    0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
 | 
			
		||||
    0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
 | 
			
		||||
    0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
 | 
			
		||||
    0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
 | 
			
		||||
    0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
 | 
			
		||||
    0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
 | 
			
		||||
    0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
 | 
			
		||||
    0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
 | 
			
		||||
    0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
 | 
			
		||||
    0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
 | 
			
		||||
    0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
 | 
			
		||||
    0x94, 0xB6, 0xFF, 0xB6, 0x94, 0x00,
 | 
			
		||||
    0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00,
 | 
			
		||||
    0x10, 0x30, 0x7E, 0x30, 0x10, 0x00,
 | 
			
		||||
    0x08, 0x08, 0x3E, 0x1C, 0x08, 0x00,
 | 
			
		||||
    0x08, 0x1C, 0x3E, 0x08, 0x08, 0x00,
 | 
			
		||||
    0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
 | 
			
		||||
    0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
 | 
			
		||||
    0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
 | 
			
		||||
    0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
 | 
			
		||||
    0x14, 0x3E, 0x14, 0x3E, 0x14, 0x00,
 | 
			
		||||
    0x2E, 0x2A, 0x7F, 0x2A, 0x3A, 0x00,
 | 
			
		||||
    0x20, 0x12, 0x08, 0x24, 0x02, 0x00,
 | 
			
		||||
    0x37, 0x49, 0x49, 0x37, 0x50, 0x00,
 | 
			
		||||
    0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
 | 
			
		||||
    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
 | 
			
		||||
    0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
 | 
			
		||||
    0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
 | 
			
		||||
    0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
 | 
			
		||||
    0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
 | 
			
		||||
    0x7F, 0x51, 0x49, 0x45, 0x7F, 0x00,
 | 
			
		||||
    0x08, 0x04, 0x02, 0x7F, 0x00, 0x00,
 | 
			
		||||
    0x71, 0x49, 0x49, 0x49, 0x4F, 0x00,
 | 
			
		||||
    0x41, 0x41, 0x49, 0x49, 0x77, 0x00,
 | 
			
		||||
    0x0F, 0x10, 0x10, 0x10, 0x7F, 0x00,
 | 
			
		||||
    0x4F, 0x49, 0x49, 0x49, 0x71, 0x00,
 | 
			
		||||
    0x7E, 0x49, 0x49, 0x49, 0x70, 0x00,
 | 
			
		||||
    0x01, 0x01, 0x71, 0x09, 0x07, 0x00,
 | 
			
		||||
    0x77, 0x49, 0x49, 0x49, 0x77, 0x00,
 | 
			
		||||
    0x07, 0x49, 0x49, 0x49, 0x3F, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
 | 
			
		||||
    0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
 | 
			
		||||
    0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
 | 
			
		||||
    0x01, 0x01, 0x59, 0x09, 0x0F, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x5D, 0x59, 0x4F, 0x00,
 | 
			
		||||
    0x7F, 0x09, 0x09, 0x09, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x49, 0x49, 0x49, 0x76, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x41, 0x41, 0x41, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x41, 0x41, 0x7E, 0x00,
 | 
			
		||||
    0x7F, 0x49, 0x49, 0x49, 0x49, 0x00,
 | 
			
		||||
    0x7F, 0x09, 0x09, 0x09, 0x09, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x41, 0x49, 0x7B, 0x00,
 | 
			
		||||
    0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x7F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x70, 0x40, 0x40, 0x40, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x08, 0x08, 0x08, 0x77, 0x00,
 | 
			
		||||
    0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
 | 
			
		||||
    0x7F, 0x01, 0x1F, 0x01, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x09, 0x09, 0x09, 0x0F, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x71, 0x41, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x09, 0x09, 0x19, 0x6F, 0x00,
 | 
			
		||||
    0x47, 0x49, 0x49, 0x49, 0x79, 0x00,
 | 
			
		||||
    0x01, 0x01, 0x7F, 0x01, 0x01, 0x00,
 | 
			
		||||
    0x7F, 0x40, 0x40, 0x40, 0x7F, 0x00,
 | 
			
		||||
    0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
 | 
			
		||||
    0x7F, 0x40, 0x7F, 0x40, 0x7F, 0x00,
 | 
			
		||||
    0x77, 0x08, 0x08, 0x08, 0x77, 0x00,
 | 
			
		||||
    0x4F, 0x48, 0x48, 0x48, 0x7F, 0x00,
 | 
			
		||||
    0x61, 0x51, 0x49, 0x45, 0x43, 0x00,
 | 
			
		||||
    0x00, 0x7F, 0x41, 0x41, 0x00, 0x00,
 | 
			
		||||
    0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
 | 
			
		||||
    0x00, 0x41, 0x41, 0x7F, 0x00, 0x00,
 | 
			
		||||
    0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
 | 
			
		||||
    0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x07, 0x08, 0x00, 0x00,
 | 
			
		||||
    0x60, 0x54, 0x54, 0x54, 0x7C, 0x00,
 | 
			
		||||
    0x7F, 0x44, 0x44, 0x44, 0x78, 0x00,
 | 
			
		||||
    0x7C, 0x44, 0x44, 0x44, 0x44, 0x00,
 | 
			
		||||
    0x78, 0x44, 0x44, 0x44, 0x7F, 0x00,
 | 
			
		||||
    0x7C, 0x54, 0x54, 0x54, 0x5C, 0x00,
 | 
			
		||||
    0x08, 0x7F, 0x09, 0x09, 0x09, 0x00,
 | 
			
		||||
    0x38, 0xA4, 0xA4, 0xA4, 0xFC, 0x00,
 | 
			
		||||
    0x7F, 0x04, 0x04, 0x04, 0x78, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x7D, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x70, 0x40, 0x40, 0x7D, 0x00, 0x00,
 | 
			
		||||
    0x7F, 0x08, 0x08, 0x08, 0x76, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x7F, 0x40, 0x00, 0x00,
 | 
			
		||||
    0x7C, 0x04, 0x7C, 0x04, 0x7C, 0x00,
 | 
			
		||||
    0x7C, 0x04, 0x04, 0x04, 0x78, 0x00,
 | 
			
		||||
    0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00,
 | 
			
		||||
    0xFC, 0x24, 0x24, 0x24, 0x38, 0x00,
 | 
			
		||||
    0x38, 0x24, 0x24, 0x24, 0xFC, 0x00,
 | 
			
		||||
    0x7C, 0x04, 0x04, 0x04, 0x04, 0x00,
 | 
			
		||||
    0x5C, 0x54, 0x54, 0x54, 0x74, 0x00,
 | 
			
		||||
    0x04, 0x04, 0x7F, 0x04, 0x04, 0x00,
 | 
			
		||||
    0x7C, 0x40, 0x40, 0x40, 0x7C, 0x00,
 | 
			
		||||
    0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
 | 
			
		||||
    0x7C, 0x40, 0x7C, 0x40, 0x7C, 0x00,
 | 
			
		||||
    0x6C, 0x10, 0x10, 0x10, 0x6C, 0x00,
 | 
			
		||||
    0xBC, 0xA0, 0xA0, 0xA0, 0xFC, 0x00,
 | 
			
		||||
    0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
 | 
			
		||||
    0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
 | 
			
		||||
    0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
 | 
			
		||||
    0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
 | 
			
		||||
    0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0,
 | 
			
		||||
    0xF0, 0xFE, 0xFF, 0x9F, 0x0F, 0x0F,
 | 
			
		||||
    0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F,
 | 
			
		||||
    0x0F, 0x0F, 0x9F, 0xFF, 0xFE, 0xF0,
 | 
			
		||||
    0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xE0, 0x10, 0x08, 0x04, 0x02, 0x02,
 | 
			
		||||
    0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
 | 
			
		||||
    0x01, 0x02, 0x02, 0x02, 0x04, 0x08,
 | 
			
		||||
    0x10, 0xE0, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0x01, 0x01, 0x01, 0x01, 0x01,
 | 
			
		||||
    0x01, 0x01, 0x01, 0x01, 0x01, 0xFF,
 | 
			
		||||
    0x7F, 0x51, 0x55, 0x55, 0x45, 0x7F,
 | 
			
		||||
    0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x7B, 0x77, 0x41, 0x7F,
 | 
			
		||||
    0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x5D, 0x5D, 0x5D, 0x7F,
 | 
			
		||||
    0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00,
 | 
			
		||||
    0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0,
 | 
			
		||||
    0xE6, 0xF7, 0xF3, 0xF0, 0x60, 0x00,
 | 
			
		||||
    0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00,
 | 
			
		||||
    0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00,
 | 
			
		||||
    0xF8, 0x1C, 0xDE, 0x1F, 0xFF, 0xFF,
 | 
			
		||||
    0xFF, 0x1F, 0xDE, 0x1C, 0xF8, 0x00,
 | 
			
		||||
    0xC0, 0xE2, 0xB4, 0xF8, 0xF8, 0xF8,
 | 
			
		||||
    0xF8, 0xF8, 0xB4, 0xE2, 0xC0, 0x00,
 | 
			
		||||
    0x7F, 0x7F, 0x7F, 0x6B, 0x49, 0x08,
 | 
			
		||||
    0x49, 0x6B, 0x7F, 0x7F, 0x7F, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F,
 | 
			
		||||
    0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F,
 | 
			
		||||
    0x87, 0xE1, 0xF9, 0xF9, 0xE1, 0x87,
 | 
			
		||||
    0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
 | 
			
		||||
    0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0x00, 0x00, 0xC0, 0x30, 0x0C,
 | 
			
		||||
    0x33, 0xC0, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
 | 
			
		||||
    0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xFF, 0x08, 0x08, 0x08, 0x08, 0x08,
 | 
			
		||||
    0x08, 0x38, 0xC8, 0x08, 0x08, 0x0F,
 | 
			
		||||
    0x7F, 0x43, 0x7F, 0x41, 0x7F, 0x47,
 | 
			
		||||
    0x7F, 0x43, 0x7F, 0x47, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x5B, 0x5B, 0x6D, 0x6D, 0x5B,
 | 
			
		||||
    0x5B, 0x6D, 0x6D, 0x5B, 0x7F, 0x00,
 | 
			
		||||
    0x00, 0x24, 0x24, 0x24, 0x24, 0x24,
 | 
			
		||||
    0x24, 0x24, 0x24, 0x24, 0x00, 0x00,
 | 
			
		||||
    0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x3F,
 | 
			
		||||
    0x3F, 0x7F, 0x7F, 0x38, 0x10, 0x00,
 | 
			
		||||
    0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00,
 | 
			
		||||
    0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00,
 | 
			
		||||
    0x0F, 0x14, 0x21, 0x40, 0x45, 0x41,
 | 
			
		||||
    0x45, 0x40, 0x21, 0x14, 0x0F, 0x00,
 | 
			
		||||
    0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D,
 | 
			
		||||
    0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x14, 0x36, 0x77,
 | 
			
		||||
    0x36, 0x14, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x3F, 0x0C, 0x03, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x03, 0x0C, 0x30, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x3F, 0x20, 0x20,
 | 
			
		||||
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
 | 
			
		||||
    0x01, 0x02, 0x04, 0x08, 0x10, 0x10,
 | 
			
		||||
    0x10, 0x20, 0x20, 0x20, 0x20, 0x20,
 | 
			
		||||
    0x20, 0x10, 0x10, 0x10, 0x08, 0x04,
 | 
			
		||||
    0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x03, 0x0C, 0x30,
 | 
			
		||||
    0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
 | 
			
		||||
    0x00, 0x30, 0x00, 0x30, 0x00, 0x00,
 | 
			
		||||
    0x1C, 0x3E, 0x3E, 0x3E, 0x1C, 0x00,
 | 
			
		||||
    0x3E, 0x1C, 0x1C, 0x08, 0x08, 0x00,
 | 
			
		||||
    0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x00,
 | 
			
		||||
    0x7F, 0x41, 0x5F, 0x7F, 0x41, 0x55,
 | 
			
		||||
    0x7F, 0x41, 0x5D, 0x63, 0x7F, 0x00,
 | 
			
		||||
    0x7F, 0x43, 0x75, 0x75, 0x43, 0x7F,
 | 
			
		||||
    0x7F, 0x41, 0x5D, 0x55, 0x45, 0x7F,
 | 
			
		||||
    0x00, 0x2E, 0x2A, 0x2A, 0x3A, 0x00,
 | 
			
		||||
    0x00, 0x3E, 0x22, 0x22, 0x22, 0x00,
 | 
			
		||||
    0x00, 0x3C, 0x0A, 0x0A, 0x3C, 0x00,
 | 
			
		||||
    0x00, 0x3E, 0x22, 0x2A, 0x3A, 0x00,
 | 
			
		||||
    0x00, 0x3E, 0x04, 0x08, 0x3E, 0x00,
 | 
			
		||||
    0x00, 0x3E, 0x20, 0x00, 0x3E, 0x2A,
 | 
			
		||||
    0x22, 0x00, 0x3E, 0x22, 0x1C, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -4,8 +4,7 @@ static uint8_t current_base_layer = _DEFAULT_LAYER_1;
 | 
			
		|||
 | 
			
		||||
layer_state_t layer_state_set_user(layer_state_t  state) {
 | 
			
		||||
 | 
			
		||||
  state = update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL);
 | 
			
		||||
  return state;
 | 
			
		||||
  return update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL);;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue