26 lines
558 B
C++
26 lines
558 B
C++
/*
|
|
* logo.c
|
|
*
|
|
* Created on: 29 May 2020
|
|
* Author: Ralim
|
|
*/
|
|
|
|
#include "BSP.h"
|
|
#include "OLED.hpp"
|
|
|
|
static uint8_t logo_page[1024] __attribute__((section(".logo_page")));
|
|
|
|
// Logo header signature.
|
|
#define LOGO_HEADER_VALUE 0xF00DAA55
|
|
|
|
uint8_t showBootLogoIfavailable() {
|
|
// Do not show logo data if signature is not found.
|
|
if (LOGO_HEADER_VALUE != *(reinterpret_cast<const uint32_t *>(logo_page))) {
|
|
return 0;
|
|
}
|
|
|
|
OLED::drawAreaSwapped(0, 0, 96, 16, (uint8_t *)(logo_page + 4));
|
|
OLED::refresh();
|
|
return 1;
|
|
}
|