add bitmap conversion from aseprite ico, add boot animation
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
#include "bitmaps.h"
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
/* 84x48: boot_logo */
|
||||
// ····················································································
|
||||
// ·····································································████████·······
|
||||
// ························································█████████████····█···██·····
|
||||
// ···················█·······························█████····█·███·····███······█····
|
||||
// ······█·█····································██████···██·█████··███████·········█···
|
||||
// ·······█······························███████····██·█████·█·······███··········█····
|
||||
// ······█·█······················███████·····███·███████··██···················██·····
|
||||
// ···························██████·██·███·███·███████████·████·············███·······
|
||||
// ······················████████████·██··███··█████████·█████·············██·██·······
|
||||
// ··················█████·██·████···█·████···███████·███·············█████···██·······
|
||||
// ·············███████████·█████████████···██·······█············█████··█·█·█·██······
|
||||
// ············██████████·██████████··███████·················█████··█·██·█···███······
|
||||
// ·········██████··█··████·██·███···████·█···············████···█··███··█······██·····
|
||||
// ······███·████████████████████··██················█████··█···█·█·█···········█·█····
|
||||
// ···███████····················██··············████·█····█·····█················█····
|
||||
// ····██··························█·············█···█····██······················█····
|
||||
// ··██·····························█·······█·█·█···█····██·······················█····
|
||||
// ·█······························█·······█·█·█···█·█····························█····
|
||||
// ·█····························██·······█·█·█·····█····················█········█····
|
||||
// ··██······················████·█·█·█··█·······························█······█··█···
|
||||
// ····████···················█··█·█·█··█································█······█··█···
|
||||
// ·······█···················██·█·██··························█·········█······█··█···
|
||||
// ·······█····················█·██······█·····················█··········█·····█··█···
|
||||
// ·······█····················█·█········█··········█··········█·········█·····███····
|
||||
// ········█···················█··········█···········█·········█·····██████████·······
|
||||
// ········█····················█·········█············█·········█·███·················
|
||||
// ········█····················█··········█···········█·······████····················
|
||||
// ········█·····················█·········█············█·█████························
|
||||
// ········█······················█·········█·········████·····························
|
||||
// ········█·······················█········█····█████···██················█·█·········
|
||||
// ·········█······················█·········█·██···························█··········
|
||||
// ·········█······················█·······████····························█·█·········
|
||||
// ·········█······················█····███·····················█······················
|
||||
// ·········█·······················████·······················███·····················
|
||||
// ·········█·····················███···························█······················
|
||||
// ·········█········██████████████····················································
|
||||
// ··········█·██████·····························································█····
|
||||
// ···········█····························································█······█····
|
||||
// ··························································█············█·······█····
|
||||
// ··████·································█··················█······██····█··█····█····
|
||||
// ··█···█···██████···█████████····█·····███████···███████···█·····█··█····█·██····█···
|
||||
// ··█···█··██·····█·█·█··········█·█······█····█·█·█·······█·····█····█···█··█····█···
|
||||
// ··████····█·····██··█··········█·█······█····█···██████··█·····█····█···█··█····█···
|
||||
// ··█···█···██████··███████·····█···█·····█···█··███·······█·····█···█·····█·██···█···
|
||||
// ··█····█··██········█········███████····█··█·····█·······█······█·█······█·█·█·█····
|
||||
// ··█···█···█·██······█·····██··█····█··█████······█········█████··█········█···█·····
|
||||
// ██████····█···███····█████···█·····██············█··································
|
||||
// ··········█·····█···································································
|
||||
static const uint8_t G_BOOT_LOGO_BYTES[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0x40, 0xc0, 0xa0, 0xa0, 0x20, 0xa0, 0xa0, 0xe0, 0x60, 0xd0, 0x90, 0xd0, 0xd0, 0xf0, 0xf0, 0xc8, 0xe8, 0xe8, 0xb8, 0xb8, 0x64, 0xd4, 0xb4, 0x94, 0x9c, 0x14, 0x0c, 0x0c, 0x1c, 0x14, 0x34, 0x34, 0x34, 0x12, 0x1a, 0x0a, 0x0a, 0x06, 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x50, 0x30, 0x30, 0x38, 0x3c, 0x3c, 0x2c, 0x2c, 0x3c, 0x2e, 0x2e, 0x3e, 0x3e, 0x37, 0x3d, 0x2b, 0x3f, 0x3d, 0x2f, 0x3f, 0x3f, 0x5f, 0x4d, 0xad, 0x25, 0x16, 0x1d, 0x1f, 0x1e, 0x0a, 0x1b, 0x09, 0x0d, 0x04, 0x02, 0x03, 0x03, 0xc3, 0x43, 0x43, 0x43, 0xa5, 0x63, 0x23, 0x22, 0x21, 0x91, 0xd1, 0x31, 0x11, 0x08, 0x08, 0x28, 0x58, 0x2c, 0x04, 0x34, 0x1c, 0x16, 0x0a, 0x0a, 0x16, 0x0a, 0x05, 0x01, 0x04, 0x0b, 0x0f, 0x3c, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x09, 0x10, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x38, 0xe8, 0x08, 0xf4, 0x4c, 0x32, 0x29, 0x10, 0x08, 0x00, 0x10, 0x48, 0x84, 0x02, 0x05, 0x02, 0x05, 0x02, 0x01, 0x00, 0x00, 0x02, 0x05, 0x82, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x80, 0x87, 0x78, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x06, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8c, 0xb0, 0xc0, 0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x11, 0x16, 0x18, 0x30, 0x28, 0x08, 0x08, 0x08, 0x08, 0x04, 0x05, 0x06, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0xa1, 0x41, 0xa1, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0c, 0x05, 0x06, 0x02, 0x02, 0x02, 0x01, 0x01, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x02, 0x07, 0x02, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x44, 0x44, 0x44, 0x2b, 0x10, 0x00, 0x02, 0xff, 0x19, 0x29, 0x29, 0x49, 0x49, 0xc6, 0x04, 0x0a, 0x09, 0x3f, 0x49, 0x49, 0x49, 0x49, 0x41, 0x21, 0x21, 0x00, 0x50, 0x38, 0x16, 0x11, 0x16, 0x18, 0x70, 0x40, 0x00, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x11, 0x09, 0x06, 0x00, 0x0a, 0x09, 0x7f, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x1e, 0x21, 0x20, 0x20, 0x20, 0x20, 0x0e, 0x11, 0x20, 0x10, 0x09, 0x06, 0x00, 0x00, 0x00, 0x07, 0x18, 0x21, 0x1f, 0x08, 0x10, 0x20, 0x10, 0x0f, 0x00, 0x00, 0x00 };
|
||||
|
||||
static const struct BitmapImage bitmaps[] = {
|
||||
{ .name="boot_logo", .width=84, .height=48, .bytes=G_BOOT_LOGO_BYTES },
|
||||
{}
|
||||
};
|
||||
|
||||
const struct BitmapImage *Bitmap_Get(const char *name) {
|
||||
const struct BitmapImage *ptr = &bitmaps[0];
|
||||
while (ptr->name) {
|
||||
if (0 == strcmp(ptr->name, name)) {
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* TODO file description
|
||||
*
|
||||
* Created on 2020/01/05.
|
||||
*/
|
||||
|
||||
#ifndef BITMAPS_H
|
||||
#define BITMAPS_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct BitmapImage {
|
||||
const char *name;
|
||||
uint8_t width;
|
||||
uint8_t height;
|
||||
const uint8_t* bytes;
|
||||
};
|
||||
|
||||
const struct BitmapImage *Bitmap_Get(const char *name);
|
||||
|
||||
#endif //BITMAPS_H
|
||||
@@ -282,12 +282,10 @@ void LCD_setStrEx(const char *dString, int x, int y, enum Color bw, uint8_t styl
|
||||
// This function will draw an array over the screen. (For now) the
|
||||
// array must be the same size as the screen, covering the entirety
|
||||
// of the display.
|
||||
// Also, the array must reside in FLASH and declared with PROGMEM.
|
||||
void LCD_setBitmap(const char *bitArray)
|
||||
void LCD_setBitmap(const uint8_t *bitArray)
|
||||
{
|
||||
for (int i = 0; i < (LCD_WIDTH * LCD_HEIGHT / 8); i++) {
|
||||
char c = bitArray[i];
|
||||
LCD_displayMap[i] = c;
|
||||
LCD_displayMap[i] = bitArray[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
* Created on 2020/01/05.
|
||||
*/
|
||||
|
||||
#ifndef REFLOWER_DRAWING_H
|
||||
#define REFLOWER_DRAWING_H
|
||||
#ifndef LCD_DRAWING_H
|
||||
#define LCD_DRAWING_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
@@ -34,6 +34,8 @@ void LCD_setRect(int x0, int y0, int x1, int y1, bool fill, enum Color bw);
|
||||
// thickness ranging from 1 to the radius of the circle.
|
||||
void LCD_setCircle (int x0, int y0, int radius, enum Color bw, int lineThickness);
|
||||
|
||||
void LCD_setBitmap(const uint8_t *bitArray);
|
||||
|
||||
/*
|
||||
FONT FUNCTIONS
|
||||
size = 1 ... normal
|
||||
@@ -72,4 +74,4 @@ void LCD_clearDisplay(enum Color bw);
|
||||
/* Invert colors (hard change in data; does NOT send to display immediately) */
|
||||
void LCD_invertDisplayData();
|
||||
|
||||
#endif //REFLOWER_DRAWING_H
|
||||
#endif //LCD_DRAWING_H
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
* Driver for Nokia 5110 SPI LCD display
|
||||
*/
|
||||
|
||||
#ifndef GFX_NOKIA
|
||||
#define GFX_NOKIA
|
||||
#ifndef GFX_NOKIA_H
|
||||
#define GFX_NOKIA_H
|
||||
|
||||
/* Pin definitions:
|
||||
Most of these pins can be moved to any digital or analog pin.
|
||||
@@ -36,4 +36,4 @@ void LCD_invertDisplay(bool invert);
|
||||
//This sends the magical commands to the PCD8544
|
||||
void LCD_setup(void);
|
||||
|
||||
#endif // GFX_NOKIA
|
||||
#endif // GFX_NOKIA_H
|
||||
|
||||
Reference in New Issue
Block a user