qmk-keychron-q3-colemak-dh/keyboards/doodboard/duckboard_r2/keymaps/vial/animation_frames.h
somepin ddfe214e76
Add duckboard with RGB Matrix/VialRGB (#134)
* enable vial with rgb matrix for duckboard

* move rgb matrix config to vial keymap
2022-03-25 23:30:05 -06:00

79 lines
3.9 KiB
C

/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#ifdef OLED_ENABLE
// Enable OLED bitmap compression selectively.
#define USE_OLED_BITMAP_COMPRESSION
#define NUM_IDLE_FRAMES 2
#define NUM_OLED_BYTES 512
#ifdef USE_OLED_BITMAP_COMPRESSION
static const char PROGMEM idle_1_block_map[] = {
0xfc, 0xff, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xf8, 0x7f, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const char PROGMEM idle_2_block_map[] = {
0xfc, 0xff, 0x00, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xf8, 0x7f, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const char PROGMEM idle_1_block_list[] = {
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0x1e, 0x1e, 0xfe, 0xfe, 0xf8, 0x03, 0x03,
0x03, 0x03, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0x9f, 0x9f, 0x87, 0x87, 0x81, 0x81, 0x81, 0x61, 0x61, 0x19, 0x19, 0x07, 0x07, 0x01, 0x01, 0x01,
0x01, 0x61, 0x61, 0x7f, 0x01, 0x01, 0x61, 0x61, 0x7f, 0x01, 0x01
};
static const char PROGMEM idle_2_block_list[] = {
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0, 0xf0, 0x3c, 0x3c, 0xfc, 0xfc, 0xf0, 0x01, 0x01,
0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x3f, 0x3f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0xc3, 0xc3, 0x33, 0x33, 0x0f, 0x0f,
0x03, 0x03, 0x03, 0x03, 0x63, 0x63, 0x7f, 0x03, 0x03, 0x63, 0x63, 0x7f, 0x03, 0x03
};
const char* idle_frames[NUM_IDLE_FRAMES] = {
idle_1_block_list,
idle_2_block_list
};
const char* idle_block_map[NUM_IDLE_FRAMES] = {
idle_1_block_map,
idle_2_block_map
};
#else
static const char PROGMEM idle_frames[NUM_IDLE_FRAMES][NUM_OLED_BYTES] = {
{
0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xf8, 0x1e, 0x1e, 0xfe, 0xfe, 0xf8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0x9f, 0x9f, 0x87, 0x87, 0x81, 0x81, 0x81, 0x61, 0x61, 0x19, 0x19, 0x07, 0x07, 0x01, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x61, 0x61, 0x7f,
0x01, 0x01, 0x61, 0x61, 0x7f, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0, 0xf0, 0x3c, 0x3c, 0xfc, 0xfc, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x3f, 0x3f, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0xc3, 0xc3, 0x33, 0x33, 0x0f, 0x0f, 0x03, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x63, 0x63, 0x7f,
0x03, 0x03, 0x63, 0x63, 0x7f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
};
#endif //USE_BITMAP_COMPRESSION
#endif //OLED_ENABLE