Merge branch 'develop' into docker-actions

# Conflicts:
#	.github/workflows/main.yml
#	docker/Dockerfile
This commit is contained in:
Jean-François Milants 2022-05-14 21:56:03 +02:00
commit 9d1c1bfa59
149 changed files with 951 additions and 9011 deletions

34
.github/workflows/format.yml vendored Normal file
View File

@ -0,0 +1,34 @@
name: Code formatting
on:
pull_request:
branches: [ master, develop ]
jobs:
test-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1000
- name: Configure git
run: |
git config --global user.email "-"
git config --global user.name "Autoformatter"
git fetch origin "$GITHUB_BASE_REF":"$GITHUB_BASE_REF" --depth=1000
- name: Install clang-format
run: |
sudo apt-get update
sudo apt-get -y install clang-format-12
- name: Check formatting
run: tests/test-format.sh "$GITHUB_BASE_REF"
- name: Upload patches
uses: actions/upload-artifact@v3
if: failure()
with:
name: Patches
path: ./*.patch

View File

@ -6,9 +6,9 @@ name: Build PineTime LVGL Simulator
# When to run this Workflow...
on:
# Run on all branches
# Run this Workflow when files are updated (Pushed) in the "master" and "develop" Branch
push:
branches: []
branches: [ master, develop ]
# Also run this Workflow when a Pull Request is created or updated in the "master" and "develop" Branch
pull_request:
@ -34,6 +34,10 @@ jobs:
sudo apt-get update
sudo apt-get -y install libsdl2-dev
- name: Install lv_font_conv
run:
npm i -g lv_font_conv@1.5.2
#########################################################################################
# Checkout

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.10)
project(pinetime VERSION 1.8.0 LANGUAGES C CXX ASM)
project(pinetime VERSION 1.9.0 LANGUAGES C CXX ASM)
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 14)

View File

@ -15,7 +15,7 @@ Fast open-source firmware for the [PineTime smartwatch](https://www.pine64.org/p
- [Gadgetbridge](https://gadgetbridge.org/) (Android)
- [AmazFish](https://openrepos.net/content/piggz/amazfish/) (SailfishOS)
- [Siglo](https://github.com/alexr4535/siglo) (Linux)
- [InfiniLink](https://github.com/xan-m/InfiniLink) **[Experimental]** (iOS)
- [InfiniLink](https://github.com/InfiniTimeOrg/InfiniLink) **[Experimental]** **[Unmaintained, looking for developers/maintainers]** (iOS)
- [ITD](https://gitea.arsenm.dev/Arsen6331/itd) (Linux)
## Development

View File

@ -12,6 +12,11 @@ To build this project, you'll need:
python -m pip install -r tools/mcuboot/requirements.txt
```
- A reasonably recent version of CMake (I use 3.16.5)
- lv_font_conv, to generate the font .c files
- see [lv_font_conv](https://github.com/lvgl/lv_font_conv#install-the-script)
- install npm (commonly done via the package manager)
- install lv_font_conv: `npm i lv_font_conv -g`
- if installed non-globally, make sure `lv_font_conv` is in the PATH
## Build steps
### Clone the repo

View File

@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq \
@ -11,15 +11,19 @@ RUN apt-get update -qq \
make \
python3 \
python3-pip \
python-is-python3 \
tar \
unzip \
wget \
# aarch64 packages
wget \
curl \
# aarch64 packages
libffi-dev \
libssl-dev \
python3-dev \
python \
git \
apt-utils \
&& curl -sL https://deb.nodesource.com/setup_18.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/cache/apt/* /var/lib/apt/lists/*;
# Git needed for PROJECT_GIT_COMMIT_HASH variable setting
@ -27,6 +31,7 @@ RUN apt-get update -qq \
RUN pip3 install adafruit-nrfutil
RUN pip3 install -Iv cryptography==3.3
RUN pip3 install cbor
RUN npm i lv_font_conv@1.5.2 -g
# build.sh knows how to compile
COPY build.sh /opt/

View File

@ -367,36 +367,13 @@ set(QCBOR_SRC
)
list(APPEND IMAGE_FILES
displayapp/icons/battery/os_battery_error.c
displayapp/icons/battery/os_battery_100.c
displayapp/icons/battery/os_battery_090.c
displayapp/icons/battery/os_battery_080.c
displayapp/icons/battery/os_battery_070.c
displayapp/icons/battery/os_battery_060.c
displayapp/icons/battery/os_battery_050.c
displayapp/icons/battery/os_battery_040.c
displayapp/icons/battery/os_battery_030.c
displayapp/icons/battery/os_battery_020.c
displayapp/icons/battery/os_battery_010.c
displayapp/icons/battery/os_battery_005.c
displayapp/icons/battery/os_batterycharging_100.c
displayapp/icons/battery/os_batterycharging_090.c
displayapp/icons/battery/os_batterycharging_080.c
displayapp/icons/battery/os_batterycharging_070.c
displayapp/icons/battery/os_batterycharging_060.c
displayapp/icons/battery/os_batterycharging_050.c
displayapp/icons/battery/os_batterycharging_040.c
displayapp/icons/battery/os_batterycharging_030.c
displayapp/icons/battery/os_batterycharging_020.c
displayapp/icons/battery/os_batterycharging_010.c
displayapp/icons/battery/os_batterycharging_005.c
displayapp/icons/battery/batteryicon.c
displayapp/icons/bluetooth/os_bt_connected.c
displayapp/icons/bluetooth/os_bt_disconnected.c
)
include(displayapp/fonts/CMakeLists.txt)
list(APPEND SOURCE_FILES
BootloaderVersion.cpp
logging/NrfLogger.cpp
@ -449,14 +426,14 @@ list(APPEND SOURCE_FILES
displayapp/screens/settings/SettingSetTime.cpp
displayapp/screens/settings/SettingChimes.cpp
displayapp/screens/settings/SettingShakeThreshold.cpp
displayapp/screens/settings/SettingAirplaneMode.cpp
displayapp/screens/settings/SettingBluetooth.cpp
## Watch faces
displayapp/icons/bg_clock.c
displayapp/screens/WatchFaceAnalog.cpp
displayapp/screens/WatchFaceDigital.cpp
displayapp/screens/WatchFaceTerminal.cpp
displayapp/screens/PineTimeStyle.cpp
displayapp/screens/WatchFacePineTimeStyle.cpp
##
@ -920,7 +897,6 @@ add_custom_command(TARGET ${EXECUTABLE_NAME}
COMMAND ${CMAKE_OBJCOPY} -O ihex ${EXECUTABLE_FILE_NAME}.out "${EXECUTABLE_FILE_NAME}.hex"
COMMENT "post build steps for ${EXECUTABLE_FILE_NAME}")
# Build binary intended to be used by bootloader
set(EXECUTABLE_MCUBOOT_NAME "pinetime-mcuboot-app")
set(EXECUTABLE_MCUBOOT_FILE_NAME ${EXECUTABLE_MCUBOOT_NAME}-${pinetime_VERSION_MAJOR}.${pinetime_VERSION_MINOR}.${pinetime_VERSION_PATCH})

View File

@ -93,7 +93,7 @@
/* Software timer definitions. */
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY (0)
#define configTIMER_TASK_PRIORITY (1)
#define configTIMER_QUEUE_LENGTH 32
#define configTIMER_TASK_STACK_DEPTH (300)

View File

@ -54,7 +54,8 @@ void AlarmController::ScheduleAlarm() {
auto now = dateTimeController.CurrentDateTime();
alarmTime = now;
time_t ttAlarmTime = std::chrono::system_clock::to_time_t(alarmTime);
time_t ttAlarmTime = std::chrono::system_clock::to_time_t(
std::chrono::time_point_cast<std::chrono::system_clock::duration>(alarmTime));
tm* tmAlarmTime = std::localtime(&ttAlarmTime);
// If the time being set has already passed today,the alarm should be set for tomorrow

View File

@ -17,6 +17,7 @@
*/
#include "components/ble/MusicService.h"
#include "systemtask/SystemTask.h"
#include <cstring>
namespace {
// 0000yyxx-78fc-48fe-8e23-433b3a1942d0
@ -47,6 +48,8 @@ namespace {
constexpr ble_uuid128_t msRepeatCharUuid {CharUuid(0x0b, 0x00)};
constexpr ble_uuid128_t msShuffleCharUuid {CharUuid(0x0c, 0x00)};
constexpr uint8_t MaxStringSize {40};
int MusicCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg) {
return static_cast<Pinetime::Controllers::MusicService*>(arg)->OnCommand(conn_handle, attr_handle, ctxt);
}
@ -125,9 +128,21 @@ void Pinetime::Controllers::MusicService::Init() {
int Pinetime::Controllers::MusicService::OnCommand(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt) {
if (ctxt->op == BLE_GATT_ACCESS_OP_WRITE_CHR) {
size_t notifSize = OS_MBUF_PKTLEN(ctxt->om);
char data[notifSize + 1];
data[notifSize] = '\0';
os_mbuf_copydata(ctxt->om, 0, notifSize, data);
size_t bufferSize = notifSize;
if (notifSize > MaxStringSize) {
bufferSize = MaxStringSize;
}
char data[bufferSize + 1];
os_mbuf_copydata(ctxt->om, 0, bufferSize, data);
if (notifSize > bufferSize) {
data[bufferSize-1] = '.';
data[bufferSize-2] = '.';
data[bufferSize-3] = '.';
}
data[bufferSize] = '\0';
char* s = &data[0];
if (ble_uuid_cmp(ctxt->chr->uuid, &msArtistCharUuid.u) == 0) {
artistName = s;
@ -137,12 +152,20 @@ int Pinetime::Controllers::MusicService::OnCommand(uint16_t conn_handle, uint16_
albumName = s;
} else if (ble_uuid_cmp(ctxt->chr->uuid, &msStatusCharUuid.u) == 0) {
playing = s[0];
// These variables need to be updated, because the progress may not be updated immediately,
// leading to getProgress() returning an incorrect position.
if (playing) {
trackProgressUpdateTime = xTaskGetTickCount();
} else {
trackProgress += static_cast<int>((static_cast<float>(xTaskGetTickCount() - trackProgressUpdateTime) / 1024.0f) * getPlaybackSpeed());
}
} else if (ble_uuid_cmp(ctxt->chr->uuid, &msRepeatCharUuid.u) == 0) {
repeat = s[0];
} else if (ble_uuid_cmp(ctxt->chr->uuid, &msShuffleCharUuid.u) == 0) {
shuffle = s[0];
} else if (ble_uuid_cmp(ctxt->chr->uuid, &msPositionCharUuid.u) == 0) {
trackProgress = (s[0] << 24) | (s[1] << 16) | (s[2] << 8) | s[3];
trackProgressUpdateTime = xTaskGetTickCount();
} else if (ble_uuid_cmp(ctxt->chr->uuid, &msTotalLengthCharUuid.u) == 0) {
trackLength = (s[0] << 24) | (s[1] << 16) | (s[2] << 8) | s[3];
} else if (ble_uuid_cmp(ctxt->chr->uuid, &msTrackNumberCharUuid.u) == 0) {
@ -177,6 +200,9 @@ float Pinetime::Controllers::MusicService::getPlaybackSpeed() const {
}
int Pinetime::Controllers::MusicService::getProgress() const {
if (isPlaying()) {
return trackProgress + static_cast<int>((static_cast<float>(xTaskGetTickCount() - trackProgressUpdateTime) / 1024.0f) * getPlaybackSpeed());
}
return trackProgress;
}

View File

@ -81,6 +81,7 @@ namespace Pinetime {
int trackLength {0};
int trackNumber {};
int tracksTotal {};
TickType_t trackProgressUpdateTime {0};
float playbackSpeed {1.0f};

View File

@ -35,7 +35,6 @@ NimbleController::NimbleController(Pinetime::System::SystemTask& systemTask,
: systemTask {systemTask},
bleController {bleController},
dateTimeController {dateTimeController},
notificationManager {notificationManager},
spiNorFlash {spiNorFlash},
fs {fs},
dfuService {systemTask, bleController, spiNorFlash},
@ -77,6 +76,7 @@ int GAPEventCallback(struct ble_gap_event* event, void* arg) {
void NimbleController::Init() {
while (!ble_hs_synced()) {
vTaskDelay(10);
}
nptr = this;

View File

@ -86,7 +86,6 @@ namespace Pinetime {
Pinetime::System::SystemTask& systemTask;
Ble& bleController;
DateTime& dateTimeController;
NotificationManager& notificationManager;
Pinetime::Drivers::SpiNorFlash& spiNorFlash;
FS& fs;
DfuService dfuService;

View File

@ -237,7 +237,7 @@ namespace Pinetime {
uint8_t appMenu = 0;
uint8_t settingsMenu = 0;
/* airplaneMode is intentionally not saved with the other watch settings and initialized
/* ble state is intentionally not saved with the other watch settings and initialized
* to off (false) on every boot because we always want ble to be enabled on startup
*/
bool bleRadioEnabled = true;

View File

@ -1,69 +1,39 @@
//
// Created by florian on 16.05.21.
//
#include "components/timer/TimerController.h"
#include "systemtask/SystemTask.h"
#include "app_timer.h"
#include "task.h"
using namespace Pinetime::Controllers;
APP_TIMER_DEF(timerAppTimer);
namespace {
void TimerEnd(void* p_context) {
auto* controller = static_cast<Pinetime::Controllers::TimerController*> (p_context);
if(controller != nullptr)
controller->OnTimerEnd();
}
void TimerCallback(TimerHandle_t xTimer) {
auto* controller = static_cast<TimerController*>(pvTimerGetTimerID(xTimer));
controller->OnTimerEnd();
}
void TimerController::Init() {
app_timer_create(&timerAppTimer, APP_TIMER_MODE_SINGLE_SHOT, TimerEnd);
void TimerController::Init(Pinetime::System::SystemTask* systemTask) {
this->systemTask = systemTask;
timer = xTimerCreate("Timer", 0, pdFALSE, this, TimerCallback);
}
void TimerController::StartTimer(uint32_t duration) {
app_timer_stop(timerAppTimer);
auto currentTicks = xTaskGetTickCount();
app_timer_start(timerAppTimer, APP_TIMER_TICKS(duration), this);
endTicks = currentTicks + APP_TIMER_TICKS(duration);
timerRunning = true;
xTimerChangePeriod(timer, pdMS_TO_TICKS(duration), 0);
xTimerStart(timer, 0);
}
uint32_t TimerController::GetTimeRemaining() {
if (!timerRunning) {
return 0;
if (IsRunning()) {
TickType_t remainingTime = xTimerGetExpiryTime(timer) - xTaskGetTickCount();
return (remainingTime * 1000 / configTICK_RATE_HZ);
}
auto currentTicks = xTaskGetTickCount();
TickType_t deltaTicks = 0;
if (currentTicks > endTicks) {
deltaTicks = 0xffffffff - currentTicks;
deltaTicks += (endTicks + 1);
} else {
deltaTicks = endTicks - currentTicks;
}
return (static_cast<TickType_t>(deltaTicks) / static_cast<TickType_t>(configTICK_RATE_HZ)) * 1000;
return 0;
}
void TimerController::StopTimer() {
app_timer_stop(timerAppTimer);
timerRunning = false;
xTimerStop(timer, 0);
}
bool TimerController::IsRunning() {
return timerRunning;
}
void TimerController::OnTimerEnd() {
timerRunning = false;
if(systemTask != nullptr)
systemTask->PushMessage(System::Messages::OnTimerDone);
return (xTimerIsTimerActive(timer) == pdTRUE);
}
void TimerController::Register(Pinetime::System::SystemTask* systemTask) {
this->systemTask = systemTask;
void TimerController::OnTimerEnd() {
systemTask->PushMessage(System::Messages::OnTimerDone);
}

View File

@ -1,37 +1,33 @@
#pragma once
#include <cstdint>
#include "app_timer.h"
#include "portmacro_cmsis.h"
#include <FreeRTOS.h>
#include <timers.h>
namespace Pinetime {
namespace System {
class SystemTask;
}
namespace Controllers {
class TimerController {
public:
TimerController() = default;
void Init();
void Init(System::SystemTask* systemTask);
void StartTimer(uint32_t duration);
void StopTimer();
uint32_t GetTimeRemaining();
bool IsRunning();
void OnTimerEnd();
void Register(System::SystemTask* systemTask);
private:
System::SystemTask* systemTask = nullptr;
TickType_t endTicks;
bool timerRunning = false;
TimerHandle_t timer;
};
}
}
}

View File

@ -38,7 +38,7 @@ namespace Pinetime {
SettingSetTime,
SettingChimes,
SettingShakeThreshold,
SettingAirplaneMode,
SettingBluetooth,
Error
};
}

View File

@ -10,17 +10,17 @@ lv_color_t Pinetime::Applications::Convert(Pinetime::Controllers::Settings::Colo
case Pinetime::Controllers::Settings::Colors::Gray: return LV_COLOR_GRAY;
case Pinetime::Controllers::Settings::Colors::Black: return LV_COLOR_BLACK;
case Pinetime::Controllers::Settings::Colors::Red: return LV_COLOR_RED;
case Pinetime::Controllers::Settings::Colors::Maroon: return LV_COLOR_MAROON;
case Pinetime::Controllers::Settings::Colors::Maroon: return LV_COLOR_MAKE(0xb0, 0x0, 0x0);
case Pinetime::Controllers::Settings::Colors::Yellow: return LV_COLOR_YELLOW;
case Pinetime::Controllers::Settings::Colors::Olive: return LV_COLOR_OLIVE;
case Pinetime::Controllers::Settings::Colors::Olive: return LV_COLOR_MAKE(0xb0, 0xb0, 0x0);
case Pinetime::Controllers::Settings::Colors::Lime: return LV_COLOR_LIME;
case Pinetime::Controllers::Settings::Colors::Green: return LV_COLOR_GREEN;
case Pinetime::Controllers::Settings::Colors::Green: return LV_COLOR_MAKE(0x0, 0xb0, 0x0);
case Pinetime::Controllers::Settings::Colors::Cyan: return LV_COLOR_CYAN;
case Pinetime::Controllers::Settings::Colors::Teal: return LV_COLOR_TEAL;
case Pinetime::Controllers::Settings::Colors::Teal: return LV_COLOR_MAKE(0x0, 0xb0, 0xb0);
case Pinetime::Controllers::Settings::Colors::Blue: return LV_COLOR_BLUE;
case Pinetime::Controllers::Settings::Colors::Navy: return LV_COLOR_NAVY;
case Pinetime::Controllers::Settings::Colors::Navy: return LV_COLOR_MAKE(0x0, 0x0, 0xb0);
case Pinetime::Controllers::Settings::Colors::Magenta: return LV_COLOR_MAGENTA;
case Pinetime::Controllers::Settings::Colors::Purple: return LV_COLOR_PURPLE;
case Pinetime::Controllers::Settings::Colors::Purple: return LV_COLOR_MAKE(0xb0, 0x0, 0xb0);
case Pinetime::Controllers::Settings::Colors::Orange: return LV_COLOR_ORANGE;
default: return LV_COLOR_WHITE;
}

View File

@ -49,7 +49,7 @@
#include "displayapp/screens/settings/SettingSetTime.h"
#include "displayapp/screens/settings/SettingChimes.h"
#include "displayapp/screens/settings/SettingShakeThreshold.h"
#include "displayapp/screens/settings/SettingAirplaneMode.h"
#include "displayapp/screens/settings/SettingBluetooth.h"
#include "libs/lv_conf.h"
@ -60,28 +60,6 @@ namespace {
static inline bool in_isr(void) {
return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) != 0;
}
TouchEvents ConvertGesture(Pinetime::Drivers::Cst816S::Gestures gesture) {
switch (gesture) {
case Pinetime::Drivers::Cst816S::Gestures::SingleTap:
return TouchEvents::Tap;
case Pinetime::Drivers::Cst816S::Gestures::LongPress:
return TouchEvents::LongTap;
case Pinetime::Drivers::Cst816S::Gestures::DoubleTap:
return TouchEvents::DoubleTap;
case Pinetime::Drivers::Cst816S::Gestures::SlideRight:
return TouchEvents::SwipeRight;
case Pinetime::Drivers::Cst816S::Gestures::SlideLeft:
return TouchEvents::SwipeLeft;
case Pinetime::Drivers::Cst816S::Gestures::SlideDown:
return TouchEvents::SwipeDown;
case Pinetime::Drivers::Cst816S::Gestures::SlideUp:
return TouchEvents::SwipeUp;
case Pinetime::Drivers::Cst816S::Gestures::None:
default:
return TouchEvents::None;
}
}
}
DisplayApp::DisplayApp(Drivers::St7789& lcd,
@ -185,12 +163,10 @@ void DisplayApp::Refresh() {
brightnessController.Lower();
vTaskDelay(100);
}
lcd.DisplayOff();
PushMessageToSystemTask(Pinetime::System::Messages::OnDisplayTaskSleeping);
state = States::Idle;
break;
case Messages::GoToRunning:
lcd.DisplayOn();
brightnessController.Restore();
state = States::Running;
break;
@ -207,7 +183,7 @@ void DisplayApp::Refresh() {
case Messages::TimerDone:
if (currentApp == Apps::Timer) {
auto* timer = static_cast<Screens::Timer*>(currentScreen.get());
timer->setDone();
timer->SetDone();
} else {
LoadApp(Apps::Timer, DisplayApp::FullRefreshDirections::Down);
}
@ -227,7 +203,7 @@ void DisplayApp::Refresh() {
if (state != States::Running) {
break;
}
auto gesture = ConvertGesture(touchHandler.GestureGet());
auto gesture = touchHandler.GestureGet();
if (gesture == TouchEvents::None) {
break;
}
@ -306,14 +282,14 @@ void DisplayApp::Refresh() {
}
}
if (touchHandler.IsTouching()) {
currentScreen->OnTouchEvent(touchHandler.GetX(), touchHandler.GetY());
}
if (nextApp != Apps::None) {
LoadApp(nextApp, nextDirection);
nextApp = Apps::None;
}
if (touchHandler.IsTouching()) {
currentScreen->OnTouchEvent(touchHandler.GetX(), touchHandler.GetY());
}
}
void DisplayApp::StartApp(Apps app, DisplayApp::FullRefreshDirections direction) {
@ -434,8 +410,8 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
currentScreen = std::make_unique<Screens::SettingShakeThreshold>(this, settingsController, motionController, *systemTask);
ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
break;
case Apps::SettingAirplaneMode:
currentScreen = std::make_unique<Screens::SettingAirplaneMode>(this, settingsController);
case Apps::SettingBluetooth:
currentScreen = std::make_unique<Screens::SettingBluetooth>(this, settingsController);
ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown);
break;
case Apps::BatteryInfo:

View File

@ -16,14 +16,22 @@ static void disp_flush(lv_disp_drv_t* disp_drv, const lv_area_t* area, lv_color_
lvgl->FlushDisplay(area, color_p);
}
static void rounder(lv_disp_drv_t* disp_drv, lv_area_t* area) {
auto* lvgl = static_cast<LittleVgl*>(disp_drv->user_data);
if (lvgl->GetFullRefresh()) {
area->x1 = 0;
area->x2 = LV_HOR_RES - 1;
area->y1 = 0;
area->y2 = LV_VER_RES - 1;
}
}
bool touchpad_read(lv_indev_drv_t* indev_drv, lv_indev_data_t* data) {
auto* lvgl = static_cast<LittleVgl*>(indev_drv->user_data);
return lvgl->GetTouchPadInfo(data);
}
LittleVgl::LittleVgl(Pinetime::Drivers::St7789& lcd, Pinetime::Drivers::Cst816S& touchPanel)
: lcd {lcd}, touchPanel {touchPanel}, previousClick {0, 0} {
LittleVgl::LittleVgl(Pinetime::Drivers::St7789& lcd, Pinetime::Drivers::Cst816S& touchPanel) : lcd {lcd}, touchPanel {touchPanel} {
}
void LittleVgl::Init() {
@ -48,6 +56,7 @@ void LittleVgl::InitDisplay() {
/*Set a display buffer*/
disp_drv.buffer = &disp_buf_2;
disp_drv.user_data = this;
disp_drv.rounder_cb = rounder;
/*Finally register the driver*/
lv_disp_drv_register(&disp_drv);
@ -78,6 +87,7 @@ void LittleVgl::SetFullRefresh(FullRefreshDirections direction) {
lv_disp_set_direction(lv_disp_get_default(), 4);
}
}
fullRefresh = true;
}
void LittleVgl::FlushDisplay(const lv_area_t* area, lv_color_t* color_p) {

View File

@ -26,6 +26,14 @@ namespace Pinetime {
void SetFullRefresh(FullRefreshDirections direction);
void SetNewTouchPoint(uint16_t x, uint16_t y, bool contact);
bool GetFullRefresh() {
bool returnValue = fullRefresh;
if (fullRefresh) {
fullRefresh = false;
}
return returnValue;
}
private:
void InitDisplay();
void InitTouchpad();
@ -39,9 +47,8 @@ namespace Pinetime {
lv_color_t buf2_2[LV_HOR_RES_MAX * 4];
lv_disp_drv_t disp_drv;
lv_point_t previousClick;
bool firstTouch = true;
bool fullRefresh = false;
static constexpr uint8_t nbWriteLines = 4;
static constexpr uint16_t totalNbLines = 320;
static constexpr uint16_t visibleNbLines = 240;

View File

@ -0,0 +1,19 @@
cmake_minimum_required(VERSION 3.10)
set(FONTS jetbrains_mono_42 jetbrains_mono_76 jetbrains_mono_bold_20
jetbrains_mono_extrabold_compressed lv_font_navi_80 lv_font_sys_48
open_sans_light)
find_program(LV_FONT_CONV "lv_font_conv" NO_CACHE REQUIRED)
configure_file(${CMAKE_CURRENT_LIST_DIR}/jetbrains_mono_bold_20.c_zero.patch
displayapp/fonts/jetbrains_mono_bold_20.c_zero.patch COPYONLY)
foreach(FONT ${FONTS})
set_source_files_properties(displayapp/fonts/${FONT}.c
PROPERTIES GENERATED TRUE)
add_custom_command(OUTPUT displayapp/fonts/${FONT}.c
COMMAND python ${CMAKE_CURRENT_LIST_DIR}/generate.py
-f ${FONT} ${CMAKE_CURRENT_LIST_DIR}/fonts.json
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/fonts.json
WORKING_DIRECTORY displayapp/fonts
)
endforeach()

View File

@ -4,17 +4,10 @@
* [Awesome font from LVGL](https://lvgl.io/assets/others/FontAwesome5-Solid+Brands+Regular.woff)
* [Open Sans Light from Google](https://fonts.google.com/specimen/Open+Sans)
## Generate the fonts:
* Open the [LVGL font converter](https://lvgl.io/tools/fontconverter)
* Enter the settings for the font that you wish to convert
* Click on Convert, download the file and place it in `src/DisplayApp/Fonts`
### How to add new symbols:
* Browse [this cheatsheet](https://fontawesome.com/cheatsheet/free/solid) and pick symbols
* For each symbol, add its hex code (0xf641 for the 'Ad' icon, for example) to the *Range* list (Remember to keep this
readme updated with newest range list)
* For each symbol, add its hex code (0xf641 for the 'Ad' icon, for example) to the *Range* list (or the symbol list when its simple enough) in the `fonts.json` file
* Convert this hex value into a UTF-8 code
using [this site](http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=f185&mode=hex)
* Define the new symbols in `src/displayapp/screens/Symbols.h`:
@ -23,77 +16,17 @@
static constexpr const char* newSymbol = "\xEF\x86\x85";
```
### Small font
### the config file format:
* Name: jetbrains_mono_bold_20
* Size: 20
* Bpp: 1 bit-per-pixel
* Do not enable font compression or horizontal subpixel rendering
* Load the file `JetBrainsMono-Bold.tff` (use the file in this repo to ensure the version matches) and specify the following range: `0x20-0x7e, 0x410-0x44f`
* Add a 2nd font, load the file `FontAwesome5-Solid+Brands+Regular.woff` and specify the following
range: `0xf293, 0xf294, 0xf244, 0xf240, 0xf242, 0xf243, 0xf241, 0xf54b, 0xf21e, 0xf1e6, 0xf54b, 0xf017, 0xf129, 0xf03a, 0xf185, 0xf560, 0xf001, 0xf3fd, 0xf069, 0xf1fc, 0xf45d, 0xf59f, 0xf5a0, 0xf029, 0xf027, 0xf028, 0xf6a9, 0xf04b, 0xf04c, 0xf048, 0xf051, 0xf095, 0xf3dd, 0xf04d, 0xf2f2, 0xf024, 0xf252, 0xf569, 0xf201, 0xf06e, 0xf015, 0xf072`
* Fix an error in the font conversion.
Replace the following:
/* U+0030 "0" */
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7f,
0xdf, 0xf7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
0x8f, 0xc0,
with
/* U+0030 "0" */
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
0x8f, 0xc0,
(there are two changes: 7f -> 7e and f7 -> b7)
### Medium font
* Name: jetbrains_mono_42
* Size: 42
* Bpp: 1 bit-per-pixel
* Do not enable font compression or horizontal subpixel rendering
* Load the file `JetBrainsMono-Regular.tff` (use the file in this repo to ensure the version matches) and specify the following range: `0x25, 0x30-0x3a`
### Large font
* Name: jetbrains_mono_76
* Size: 76
* Bpp: 1 bit-per-pixel
* Do not enable font compression or horizontal subpixel rendering
* Load the file `JetBrainsMono-Regular.tff` (use the file in this repo to ensure the version matches) and specify the following range: `0x25, 0x2D, 0x2F, 0x30-0x3a`
### Digital watchface font
* Name: jetbrains_mono_extrabold_compressed
* Size: 80
* Bpp: 1 bit-per-pixel
* Do not enable font compression or horizontal subpixel rendering
* Load the file `JetBrainsMono-ExtraBold.tff` (use the file in this repo to ensure the version matches) and specify the following range: `0x30-0x3a`
### PineTimeStyle font
* Name: open_sans_light
* Size: 150
* Bpp: 1 bit-per-pixel
* Do not enable font compression or horizontal subpixel rendering
* Load the file `open_sans_light.tff` (use the file in this repo to ensure the version matches) and specify the following symbols: `0123456789`
### Symbols font (Used in QuickSettings for example)
* Name: lv_font_sys_48
* Size: 48
* Bpp: 1 bit-per-pixel
* Do not enable font compression or horizontal subpixel rendering
* Load the file `icons_sys_48.tff` and specify the following range: `0xe902, 0xe904-0xe907, 0xe90b-0xe90c`
inside `fonts`, there is a dictionary of fonts,
and for each font there is:
* sources - list of file,range(,symbols) wanted (as a dictionary of those)
* bpp - bits per pixel.
* size - size.
* patches - list of extra "patches" to run: a path to a .patch file. (may be relative)
* compress - optional. default disabled. add `"compress": true` to enable
### Navigation font
`navigtion.ttf` is created with the web app [icomoon](https://icomoon.io/app) by importing the svg files from `src/displayapp/icons/navigation/unique` and generating the font. `lv_font_navi_80.json` is a project file for the site, which you can import to add or remove icons.
This font must be generated with the `lv_font_conv` tool, which has additional options not available in the online converter.
`lv_font_conv --font navigation.ttf -r '0xe900-0xe929' --size 80 --format lvgl --bpp 2 -o lv_font_navi_80.c`

View File

@ -0,0 +1,78 @@
{
"jetbrains_mono_bold_20": {
"sources": [
{
"file": "JetBrainsMono-Bold.ttf",
"range": "0x20-0x7e, 0x410-0x44f"
},
{
"file": "FontAwesome5-Solid+Brands+Regular.woff",
"range": "0xf293, 0xf294, 0xf244, 0xf240, 0xf242, 0xf243, 0xf241, 0xf54b, 0xf21e, 0xf1e6, 0xf54b, 0xf017, 0xf129, 0xf03a, 0xf185, 0xf560, 0xf001, 0xf3fd, 0xf069, 0xf1fc, 0xf45d, 0xf59f, 0xf5a0, 0xf029, 0xf027, 0xf028, 0xf6a9, 0xf04b, 0xf04c, 0xf048, 0xf051, 0xf095, 0xf3dd, 0xf04d, 0xf2f2, 0xf024, 0xf252, 0xf569, 0xf201, 0xf06e, 0xf015"
}
],
"bpp": 1,
"size": 20,
"patches": ["jetbrains_mono_bold_20.c_zero.patch"]
},
"jetbrains_mono_42": {
"sources": [
{
"file": "JetBrainsMono-Regular.ttf",
"range": "0x25, 0x30-0x3a"
}
],
"bpp": 1,
"size": 42
},
"jetbrains_mono_76": {
"sources": [
{
"file": "JetBrainsMono-Regular.ttf",
"range": "0x25, 0x2D, 0x2F, 0x30-0x3a"
}
],
"bpp": 1,
"size": 76
},
"jetbrains_mono_extrabold_compressed": {
"sources": [
{
"file": "JetBrainsMono-ExtraBold.ttf",
"range": "0x30-0x3a"
}
],
"bpp": 1,
"size": 80
},
"open_sans_light": {
"sources": [
{
"file": "open_sans_light.ttf",
"symbols": "0123456789"
}
],
"bpp": 1,
"size": 150
},
"lv_font_sys_48": {
"sources": [
{
"file": "icons_sys_48.ttf",
"range": "0xe902, 0xe904-0xe907, 0xe90b-0xe90c"
}
],
"bpp": 1,
"size": 48
},
"lv_font_navi_80": {
"sources": [
{
"file": "navigation.ttf",
"range": "0xe900-0xe929"
}
],
"bpp": 2,
"size": 80,
"compress": true
}
}

View File

@ -0,0 +1,74 @@
#!/usr/bin/env python
import io
import sys
import json
import shutil
import typing
import os.path
import argparse
import subprocess
class Source(object):
def __init__(self, d):
self.file = d['file']
if not os.path.exists(self.file):
self.file = os.path.join(os.path.dirname(sys.argv[0]), self.file)
self.range = d.get('range')
self.symbols = d.get('symbols')
def gen_lvconv_line(dest: str, size: int, bpp: int, sources: typing.List[Source], compress:bool=False):
args = ['lv_font_conv', '--size', str(size), '--output', dest, '--bpp', str(bpp), '--format', 'lvgl']
if not compress:
args.append('--no-compress')
for source in sources:
args.extend(['--font', source.file])
if source.range:
args.extend(['--range', source.range])
if source.symbols:
args.extend(['--symbols', source.symbols])
return args
def main():
ap = argparse.ArgumentParser(description='auto generate LVGL font files from fonts')
ap.add_argument('config', type=str, help='config file to use')
ap.add_argument('-f', '--font', type=str, action='append', help='Choose specific fonts to generate (default: all)', default=[])
args = ap.parse_args()
if not shutil.which('lv_font_conv'):
sys.exit(f'Missing lv_font_conv. (make sure it is installed and in PATH)')
if not os.path.exists(args.config):
sys.exit(f'Error: the config file {args.config} does not exist.')
if not os.access(args.config, os.R_OK):
sys.exit(f'Error: the config file {args.config} is not accessable (permissions?).')
with open(args.config, 'r') as fd:
data = json.load(fd)
fonts_to_run = set(data.keys())
if args.font:
enabled_fonts = set()
for font in args.font:
enabled_fonts.add(font[:-2] if font.endswith('.c') else font)
d = enabled_fonts.difference(fonts_to_run)
if d:
print(f'Warning: requested font{"s" if len(d)>1 else ""} missing: {" ".join(d)}')
fonts_to_run = fonts_to_run.intersection(enabled_fonts)
for name in fonts_to_run:
font = data[name]
sources = font.pop('sources')
patches = font.pop('patches') if 'patches' in font else []
font['sources'] = [Source(thing) for thing in sources]
line = gen_lvconv_line(f'{name}.c', **font)
subprocess.check_call(line)
if patches:
for patch in patches:
subprocess.check_call(['/usr/bin/patch', name+'.c', patch])
if __name__ == '__main__':
main()

View File

@ -1,258 +0,0 @@
/*******************************************************************************
* Size: 42 px
* Bpp: 1
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef JETBRAINS_MONO_42
#define JETBRAINS_MONO_42 1
#endif
#if JETBRAINS_MONO_42
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0025 "%" */
0x1f, 0x80, 0x7, 0x3f, 0xc0, 0xe, 0x7f, 0xe0,
0x1c, 0xf0, 0xf0, 0x1c, 0xe0, 0x70, 0x38, 0xe0,
0x70, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x70, 0xe0,
0xe0, 0x71, 0xc0, 0xe0, 0x71, 0xc0, 0xf0, 0xf3,
0x80, 0x7f, 0xe7, 0x0, 0x3f, 0xc7, 0x0, 0x1f,
0x8e, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x3c, 0x0,
0x0, 0x38, 0x0, 0x0, 0x71, 0xf8, 0x0, 0xe3,
0xfc, 0x0, 0xe7, 0xfe, 0x1, 0xcf, 0xf, 0x3,
0x8e, 0x7, 0x3, 0x8e, 0x7, 0x7, 0xe, 0x7,
0xe, 0xe, 0x7, 0xe, 0xe, 0x7, 0x1c, 0xe,
0x7, 0x38, 0xf, 0xf, 0x38, 0x7, 0xfe, 0x70,
0x3, 0xfc, 0xe0, 0x1, 0xf8,
/* U+0030 "0" */
0x3, 0xf8, 0x1, 0xff, 0xc0, 0xff, 0xfe, 0x1f,
0x7, 0xc7, 0xc0, 0x7c, 0xf0, 0x7, 0xbc, 0x0,
0x7f, 0x80, 0xf, 0xf0, 0x1, 0xfe, 0x0, 0x3f,
0xc0, 0x7, 0xf8, 0x0, 0xff, 0xe, 0x1f, 0xe3,
0xe3, 0xfc, 0x7c, 0x7f, 0x8f, 0x8f, 0xf0, 0xe1,
0xfe, 0x0, 0x3f, 0xc0, 0x7, 0xf8, 0x0, 0xff,
0x0, 0x1f, 0xe0, 0x3, 0xfc, 0x0, 0x7f, 0x80,
0xf, 0xf0, 0x1, 0xef, 0x0, 0x79, 0xf0, 0x1f,
0x1f, 0x7, 0xc3, 0xff, 0xf8, 0x1f, 0xfc, 0x0,
0xfe, 0x0,
/* U+0031 "1" */
0x3, 0xf0, 0x0, 0xfe, 0x0, 0x3f, 0xc0, 0x1f,
0xf8, 0x7, 0xcf, 0x1, 0xf1, 0xe0, 0x3c, 0x3c,
0x7, 0x7, 0x80, 0x80, 0xf0, 0x0, 0x1e, 0x0,
0x3, 0xc0, 0x0, 0x78, 0x0, 0xf, 0x0, 0x1,
0xe0, 0x0, 0x3c, 0x0, 0x7, 0x80, 0x0, 0xf0,
0x0, 0x1e, 0x0, 0x3, 0xc0, 0x0, 0x78, 0x0,
0xf, 0x0, 0x1, 0xe0, 0x0, 0x3c, 0x0, 0x7,
0x80, 0x0, 0xf0, 0x0, 0x1e, 0x0, 0x3, 0xc0,
0x0, 0x78, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf8,
/* U+0032 "2" */
0x3, 0xf8, 0x1, 0xff, 0xc0, 0xff, 0xfc, 0x1f,
0x7, 0xc7, 0xc0, 0x7c, 0xf0, 0x7, 0xbc, 0x0,
0x7f, 0x80, 0xf, 0xf0, 0x1, 0xe0, 0x0, 0x3c,
0x0, 0x7, 0x80, 0x1, 0xf0, 0x0, 0x3c, 0x0,
0xf, 0x80, 0x1, 0xe0, 0x0, 0x7c, 0x0, 0x1f,
0x0, 0x7, 0xc0, 0x1, 0xf0, 0x0, 0x7c, 0x0,
0x1f, 0x0, 0x3, 0xc0, 0x0, 0xf0, 0x0, 0x3e,
0x0, 0xf, 0x80, 0x3, 0xe0, 0x0, 0xf8, 0x0,
0x3e, 0x0, 0x7, 0xff, 0xfe, 0xff, 0xff, 0xdf,
0xff, 0xf8,
/* U+0033 "3" */
0x7f, 0xff, 0x8f, 0xff, 0xf1, 0xff, 0xfe, 0x0,
0x3, 0xc0, 0x0, 0xf0, 0x0, 0x3c, 0x0, 0xf,
0x0, 0x3, 0xe0, 0x0, 0x78, 0x0, 0x1e, 0x0,
0x7, 0x80, 0x1, 0xfc, 0x0, 0x3f, 0xe0, 0x7,
0xfe, 0x0, 0xff, 0xe0, 0x0, 0x3e, 0x0, 0x3,
0xc0, 0x0, 0x7c, 0x0, 0x7, 0x80, 0x0, 0xf0,
0x0, 0x1e, 0x0, 0x3, 0xfc, 0x0, 0x7f, 0x80,
0xf, 0xf0, 0x1, 0xff, 0x0, 0x79, 0xe0, 0x1f,
0x1f, 0x7, 0xc3, 0xff, 0xf0, 0x1f, 0xfc, 0x0,
0xfe, 0x0,
/* U+0034 "4" */
0x0, 0x1e, 0x0, 0xf, 0x80, 0x3, 0xc0, 0x1,
0xe0, 0x0, 0x78, 0x0, 0x3c, 0x0, 0x1f, 0x0,
0x7, 0x80, 0x3, 0xc0, 0x1, 0xf0, 0x0, 0x78,
0x0, 0x3e, 0x0, 0xf, 0x0, 0x7, 0x80, 0xf3,
0xe0, 0x3c, 0xf0, 0xf, 0x7c, 0x3, 0xde, 0x0,
0xff, 0x0, 0x3f, 0xc0, 0xf, 0xf0, 0x3, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x3,
0xc0, 0x0, 0xf0, 0x0, 0x3c, 0x0, 0xf, 0x0,
0x3, 0xc0, 0x0, 0xf0, 0x0, 0x3c,
/* U+0035 "5" */
0x7f, 0xff, 0x9f, 0xff, 0xe7, 0xff, 0xf9, 0xe0,
0x0, 0x78, 0x0, 0x1e, 0x0, 0x7, 0x80, 0x1,
0xe0, 0x0, 0x78, 0x0, 0x1e, 0x0, 0x7, 0x8f,
0x81, 0xef, 0xf8, 0x7f, 0xff, 0x1f, 0x87, 0xe7,
0xc0, 0x79, 0xe0, 0x1f, 0x0, 0x3, 0xc0, 0x0,
0xf0, 0x0, 0x3c, 0x0, 0xf, 0x0, 0x3, 0xc0,
0x0, 0xf0, 0x0, 0x3c, 0x0, 0xf, 0xf0, 0x3,
0xde, 0x1, 0xe7, 0x80, 0x78, 0xf8, 0x7e, 0x3f,
0xff, 0x3, 0xff, 0x80, 0x3f, 0x0,
/* U+0036 "6" */
0x0, 0x3c, 0x0, 0x7, 0x80, 0x0, 0x78, 0x0,
0xf, 0x0, 0x1, 0xe0, 0x0, 0x1e, 0x0, 0x3,
0xc0, 0x0, 0x3c, 0x0, 0x7, 0x80, 0x0, 0x70,
0x0, 0xf, 0x0, 0x1, 0xe7, 0xc0, 0x1f, 0xff,
0x3, 0xff, 0xfc, 0x3f, 0xf, 0xc7, 0xc0, 0x3e,
0x78, 0x1, 0xe7, 0x80, 0x1f, 0xf0, 0x0, 0xff,
0x0, 0xf, 0xf0, 0x0, 0xff, 0x0, 0xf, 0xf0,
0x0, 0xff, 0x0, 0xf, 0xf8, 0x1, 0xe7, 0x80,
0x1e, 0x7c, 0x3, 0xe3, 0xf0, 0xfc, 0x1f, 0xff,
0x80, 0xff, 0xf0, 0x1, 0xf8, 0x0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0, 0x1e, 0xf0, 0x1, 0xef, 0x0, 0x1e, 0xf0,
0x3, 0xcf, 0x0, 0x3c, 0x0, 0x3, 0x80, 0x0,
0x78, 0x0, 0x7, 0x80, 0x0, 0xf0, 0x0, 0xf,
0x0, 0x0, 0xf0, 0x0, 0x1e, 0x0, 0x1, 0xe0,
0x0, 0x3c, 0x0, 0x3, 0xc0, 0x0, 0x3c, 0x0,
0x7, 0x80, 0x0, 0x78, 0x0, 0x7, 0x80, 0x0,
0xf0, 0x0, 0xf, 0x0, 0x1, 0xe0, 0x0, 0x1e,
0x0, 0x1, 0xe0, 0x0, 0x3c, 0x0, 0x3, 0xc0,
0x0, 0x7c, 0x0, 0x7, 0x80, 0x0,
/* U+0038 "8" */
0x1, 0xf8, 0x0, 0xff, 0xf0, 0x1f, 0xff, 0x83,
0xf0, 0xfc, 0x3c, 0x3, 0xc7, 0xc0, 0x3e, 0x78,
0x1, 0xe7, 0x80, 0x1e, 0x78, 0x1, 0xe7, 0x80,
0x1e, 0x3c, 0x3, 0xc3, 0xe0, 0x7c, 0x1f, 0xf,
0x80, 0xff, 0xf0, 0x3, 0xfc, 0x0, 0x7f, 0xe0,
0xf, 0xff, 0x3, 0xe0, 0x7c, 0x3c, 0x3, 0xc7,
0x80, 0x1e, 0xf0, 0x0, 0xff, 0x0, 0xf, 0xf0,
0x0, 0xff, 0x0, 0xf, 0xf0, 0x0, 0xff, 0x80,
0x1f, 0x7c, 0x3, 0xe7, 0xe0, 0x7e, 0x3f, 0xff,
0xc0, 0xff, 0xf0, 0x3, 0xfc, 0x0,
/* U+0039 "9" */
0x3, 0xf8, 0x0, 0xff, 0xf0, 0x1f, 0xff, 0x83,
0xe0, 0xfc, 0x7c, 0x3, 0xe7, 0x80, 0x1e, 0xf8,
0x1, 0xff, 0x0, 0xf, 0xf0, 0x0, 0xff, 0x0,
0xf, 0xf0, 0x0, 0xff, 0x0, 0xf, 0xf8, 0x1,
0xf7, 0x80, 0x1e, 0x7c, 0x3, 0xe3, 0xe0, 0x7e,
0x3f, 0xff, 0xc1, 0xff, 0xfc, 0x7, 0xe7, 0x80,
0x0, 0xf8, 0x0, 0xf, 0x0, 0x1, 0xe0, 0x0,
0x1e, 0x0, 0x3, 0xc0, 0x0, 0x3c, 0x0, 0x7,
0x80, 0x0, 0xf8, 0x0, 0xf, 0x0, 0x1, 0xe0,
0x0, 0x1e, 0x0, 0x3, 0xc0, 0x0,
/* U+003A ":" */
0x7d, 0xff, 0xff, 0xff, 0xef, 0x80, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
0xf7, 0xff, 0xff, 0xff, 0xbe
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 403, .box_w = 24, .box_h = 31, .ofs_x = 1, .ofs_y = 0},
{.bitmap_index = 93, .adv_w = 403, .box_w = 19, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 167, .adv_w = 403, .box_w = 19, .box_h = 31, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 241, .adv_w = 403, .box_w = 19, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 315, .adv_w = 403, .box_w = 19, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 389, .adv_w = 403, .box_w = 18, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 459, .adv_w = 403, .box_w = 18, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 529, .adv_w = 403, .box_w = 20, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 607, .adv_w = 403, .box_w = 20, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 685, .adv_w = 403, .box_w = 20, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 763, .adv_w = 403, .box_w = 20, .box_h = 31, .ofs_x = 3, .ofs_y = 0},
{.bitmap_index = 841, .adv_w = 403, .box_w = 7, .box_h = 24, .ofs_x = 9, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 1, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
},
{
.range_start = 48, .range_length = 11, .glyph_id_start = 2,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t jetbrains_mono_42 = {
#else
lv_font_t jetbrains_mono_42 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 31, /*The maximum line height required by the font*/
.base_line = 0, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -7,
.underline_thickness = 2,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if JETBRAINS_MONO_42*/

View File

@ -1,554 +0,0 @@
/*******************************************************************************
* Size: 76 px
* Bpp: 1
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef JETBRAINS_MONO_76
#define JETBRAINS_MONO_76 1
#endif
#if JETBRAINS_MONO_76
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0025 "%" */
0x1, 0xfc, 0x0, 0x0, 0x7, 0xe1, 0xff, 0xf0,
0x0, 0x1, 0xf8, 0x7f, 0xff, 0x0, 0x0, 0x3f,
0x1f, 0xff, 0xf0, 0x0, 0xf, 0xc7, 0xff, 0xff,
0x0, 0x3, 0xf0, 0xfe, 0xf, 0xe0, 0x0, 0x7e,
0x3f, 0x80, 0xfc, 0x0, 0x1f, 0x87, 0xe0, 0xf,
0xc0, 0x7, 0xe0, 0xfc, 0x1, 0xf8, 0x0, 0xfc,
0x1f, 0x80, 0x3f, 0x0, 0x3f, 0x3, 0xf0, 0x7,
0xe0, 0xf, 0xc0, 0x7e, 0x0, 0xfc, 0x1, 0xf8,
0xf, 0xc0, 0x1f, 0x80, 0x7e, 0x1, 0xf8, 0x3,
0xf0, 0x1f, 0x80, 0x3f, 0x0, 0x7e, 0x3, 0xf0,
0x7, 0xe0, 0xf, 0xc0, 0xfc, 0x0, 0xfc, 0x1,
0xf8, 0x3f, 0x0, 0x1f, 0x80, 0x3f, 0x7, 0xe0,
0x3, 0xf8, 0xf, 0xe1, 0xf8, 0x0, 0x3f, 0x83,
0xf8, 0x7e, 0x0, 0x7, 0xff, 0xff, 0xf, 0xc0,
0x0, 0x7f, 0xff, 0xc3, 0xf0, 0x0, 0x7, 0xff,
0xf0, 0xfc, 0x0, 0x0, 0x7f, 0xfc, 0x1f, 0x80,
0x0, 0x1, 0xfc, 0x7, 0xe0, 0x0, 0x0, 0x0,
0x1, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0,
0x0, 0x0, 0x0, 0xf, 0xc0, 0x0, 0x0, 0x0,
0x3, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x7e, 0x0,
0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0x0,
0x7, 0xe0, 0x3f, 0x80, 0x0, 0x0, 0xfc, 0x3f,
0xfe, 0x0, 0x0, 0x3f, 0xf, 0xff, 0xe0, 0x0,
0xf, 0xc3, 0xff, 0xfe, 0x0, 0x1, 0xf8, 0xff,
0xff, 0xe0, 0x0, 0x7e, 0x1f, 0xc1, 0xfc, 0x0,
0x1f, 0x83, 0xf0, 0x1f, 0x80, 0x3, 0xf0, 0xfc,
0x1, 0xf8, 0x0, 0xfc, 0x1f, 0x80, 0x3f, 0x0,
0x3f, 0x3, 0xf0, 0x7, 0xe0, 0x7, 0xe0, 0x7e,
0x0, 0xfc, 0x1, 0xf8, 0xf, 0xc0, 0x1f, 0x80,
0x7e, 0x1, 0xf8, 0x3, 0xf0, 0xf, 0xc0, 0x3f,
0x0, 0x7e, 0x3, 0xf0, 0x7, 0xe0, 0xf, 0xc0,
0xfc, 0x0, 0xfc, 0x1, 0xf8, 0x1f, 0x80, 0x1f,
0x80, 0x3f, 0x7, 0xe0, 0x3, 0xf8, 0xf, 0xe1,
0xf8, 0x0, 0x7f, 0x1, 0xfc, 0x3f, 0x0, 0x7,
0xff, 0xff, 0xf, 0xc0, 0x0, 0xff, 0xff, 0xe3,
0xf0, 0x0, 0xf, 0xff, 0xf8, 0xfe, 0x0, 0x0,
0xff, 0xfe, 0x1f, 0x80, 0x0, 0xf, 0xff, 0x87,
0xe0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
0x0, 0x80, 0x0,
/* U+002D "-" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff,
/* U+002F "/" */
0x0, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0xf,
0xe0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x1,
0xfe, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x1f, 0xc0, 0x0, 0x0, 0xf, 0xe0, 0x0, 0x0,
0x3, 0xf8, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0,
0x0, 0x7f, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0,
0x0, 0xf, 0xf0, 0x0, 0x0, 0x3, 0xf8, 0x0,
0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0x0,
0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0xf, 0xf0,
0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x0, 0xfe,
0x0, 0x0, 0x0, 0x7f, 0x80, 0x0, 0x0, 0x1f,
0xc0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x3,
0xf8, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0,
0x7f, 0x80, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0,
0x7, 0xf0, 0x0, 0x0, 0x3, 0xfc, 0x0, 0x0,
0x0, 0xfe, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0,
0x0, 0x1f, 0xc0, 0x0, 0x0, 0x7, 0xf0, 0x0,
0x0, 0x3, 0xfc, 0x0, 0x0, 0x0, 0xfe, 0x0,
0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x1f, 0xe0,
0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x1, 0xfc,
0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x3f,
0x80, 0x0, 0x0, 0x1f, 0xe0, 0x0, 0x0, 0x7,
0xf0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0,
0xff, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0,
0xf, 0xe0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0,
0x1, 0xfc, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0,
0x0, 0x3f, 0x80, 0x0, 0x0, 0xf, 0xe0, 0x0,
0x0, 0x7, 0xf8, 0x0, 0x0, 0x1, 0xfc, 0x0,
0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x3f, 0x80,
0x0, 0x0, 0xf, 0xe0, 0x0, 0x0, 0x7, 0xf8,
0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0xf,
0xe0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x1,
0xfc, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x3f, 0xc0, 0x0, 0x0, 0xf, 0xe0, 0x0, 0x0,
0x3, 0xf8, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0,
0x0, 0x7f, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0,
0x0, 0xf, 0xe0, 0x0, 0x0, 0x3, 0xf8, 0x0,
0x0, 0x0,
/* U+0030 "0" */
0x0, 0xf, 0xfc, 0x0, 0x0, 0x1f, 0xff, 0xe0,
0x0, 0x1f, 0xff, 0xfe, 0x0, 0xf, 0xff, 0xff,
0xc0, 0x7, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff,
0xff, 0x1, 0xff, 0xc0, 0xff, 0xe0, 0xff, 0x80,
0x7, 0xfc, 0x3f, 0xc0, 0x0, 0xff, 0x1f, 0xe0,
0x0, 0x1f, 0xe7, 0xf8, 0x0, 0x7, 0xf9, 0xfc,
0x0, 0x0, 0xfe, 0xff, 0x0, 0x0, 0x3f, 0xff,
0x80, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x1, 0xff,
0xf8, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1f,
0xff, 0x80, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x1,
0xff, 0xf8, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0,
0x1f, 0xff, 0x80, 0x0, 0x7, 0xff, 0xe0, 0x0,
0x1, 0xff, 0xf8, 0x0, 0x0, 0x7f, 0xfe, 0x3,
0xe0, 0x1f, 0xff, 0x81, 0xfc, 0x7, 0xff, 0xe0,
0xff, 0x81, 0xff, 0xf8, 0x3f, 0xe0, 0x7f, 0xfe,
0xf, 0xf8, 0x1f, 0xff, 0x83, 0xfe, 0x7, 0xff,
0xe0, 0xff, 0x81, 0xff, 0xf8, 0x1f, 0xc0, 0x7f,
0xfe, 0x3, 0xe0, 0x1f, 0xff, 0x80, 0x0, 0x7,
0xff, 0xe0, 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0,
0x7f, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0,
0x7, 0xff, 0xe0, 0x0, 0x1, 0xff, 0xf8, 0x0,
0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0x80,
0x0, 0x7, 0xff, 0xe0, 0x0, 0x1, 0xff, 0xf8,
0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1f, 0xff,
0xc0, 0x0, 0xf, 0xf7, 0xf0, 0x0, 0x3, 0xf9,
0xfe, 0x0, 0x1, 0xfe, 0x7f, 0xc0, 0x0, 0xff,
0x8f, 0xf8, 0x0, 0x7f, 0xc1, 0xff, 0x0, 0x3f,
0xe0, 0x7f, 0xff, 0xff, 0xf8, 0xf, 0xff, 0xff,
0xfc, 0x1, 0xff, 0xff, 0xfe, 0x0, 0x3f, 0xff,
0xff, 0x0, 0x3, 0xff, 0xff, 0x0, 0x0, 0x3f,
0xff, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0xf, 0xfc, 0x0, 0x0, 0x7, 0xff, 0x0,
0x0, 0x7, 0xff, 0xc0, 0x0, 0x3, 0xff, 0xf0,
0x0, 0x1, 0xff, 0xfc, 0x0, 0x1, 0xff, 0xff,
0x0, 0x0, 0xff, 0xdf, 0xc0, 0x0, 0x7f, 0xe7,
0xf0, 0x0, 0x7f, 0xe1, 0xfc, 0x0, 0x3f, 0xf0,
0x7f, 0x0, 0xf, 0xf8, 0x1f, 0xc0, 0x3, 0xfc,
0x7, 0xf0, 0x0, 0xfc, 0x1, 0xfc, 0x0, 0x3e,
0x0, 0x7f, 0x0, 0xf, 0x0, 0x1f, 0xc0, 0x3,
0x0, 0x7, 0xf0, 0x0, 0x80, 0x1, 0xfc, 0x0,
0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x1f, 0xc0,
0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x1, 0xfc,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x1f,
0xc0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x1,
0xfc, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x1f, 0xc0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0,
0x1, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0,
0x0, 0x1f, 0xc0, 0x0, 0x0, 0x7, 0xf0, 0x0,
0x0, 0x1, 0xfc, 0x0, 0x0, 0x0, 0x7f, 0x0,
0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x7, 0xf0,
0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x7,
0xf0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0,
0x7, 0xf0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0,
0x0, 0x7f, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0,
0x0, 0x7, 0xf0, 0x0, 0x0, 0x1, 0xfc, 0x0,
0x0, 0x0, 0x7f, 0x0, 0xf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
/* U+0032 "2" */
0x0, 0xf, 0xfc, 0x0, 0x0, 0x1f, 0xff, 0xe0,
0x0, 0x1f, 0xff, 0xfe, 0x0, 0xf, 0xff, 0xff,
0xc0, 0x7, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff,
0xff, 0x1, 0xff, 0xc0, 0x7f, 0xe0, 0xff, 0x80,
0x7, 0xfc, 0x3f, 0xc0, 0x0, 0xff, 0x1f, 0xe0,
0x0, 0x1f, 0xe7, 0xf0, 0x0, 0x3, 0xf9, 0xfc,
0x0, 0x0, 0xfe, 0xff, 0x0, 0x0, 0x3f, 0xff,
0x80, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x1, 0xff,
0xf8, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1f,
0xc0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x1,
0xfc, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x3f, 0x80, 0x0, 0x0, 0xf, 0xe0, 0x0, 0x0,
0x7, 0xf8, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0,
0x0, 0xff, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0xf, 0xf0, 0x0,
0x0, 0x7, 0xf8, 0x0, 0x0, 0x3, 0xfe, 0x0,
0x0, 0x1, 0xff, 0x0, 0x0, 0x0, 0xff, 0x80,
0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x1f, 0xe0,
0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x7, 0xfc,
0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x1, 0xff,
0x0, 0x0, 0x0, 0xff, 0x80, 0x0, 0x0, 0x7f,
0xc0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0, 0x1f,
0xf0, 0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x7,
0xfc, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0,
0xff, 0x80, 0x0, 0x0, 0x7f, 0xc0, 0x0, 0x0,
0x3f, 0xe0, 0x0, 0x0, 0x1f, 0xf0, 0x0, 0x0,
0xf, 0xf8, 0x0, 0x0, 0x7, 0xfc, 0x0, 0x0,
0x1, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff,
0xff, 0xdf, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff,
0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff,
0xff, 0xff, 0xc0,
/* U+0033 "3" */
0x3f, 0xff, 0xff, 0xfe, 0xf, 0xff, 0xff, 0xff,
0x83, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xfe, 0xf, 0xff, 0xff,
0xff, 0x80, 0x0, 0x0, 0xf, 0xe0, 0x0, 0x0,
0x7, 0xf0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0,
0x1, 0xfc, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0,
0x0, 0x7f, 0x80, 0x0, 0x0, 0x3f, 0xc0, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x7, 0xf0, 0x0,
0x0, 0x3, 0xf8, 0x0, 0x0, 0x1, 0xfc, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x7f, 0x80,
0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x1f, 0xe0,
0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x1, 0xff,
0xfc, 0x0, 0x0, 0x7f, 0xff, 0xc0, 0x0, 0x1f,
0xff, 0xf8, 0x0, 0x7, 0xff, 0xff, 0x0, 0x1,
0xff, 0xff, 0xe0, 0x0, 0x0, 0xf, 0xfc, 0x0,
0x0, 0x1, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xe0,
0x0, 0x0, 0x7, 0xf8, 0x0, 0x0, 0x0, 0xfe,
0x0, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x7,
0xf0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0,
0x7, 0xf0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0,
0x0, 0x7f, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0x80,
0x0, 0x7, 0xff, 0xe0, 0x0, 0x1, 0xff, 0xf8,
0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x3f, 0xdf,
0xc0, 0x0, 0xf, 0xe7, 0xf8, 0x0, 0x7, 0xf9,
0xfe, 0x0, 0x1, 0xfe, 0x3f, 0xc0, 0x0, 0xff,
0xf, 0xfc, 0x0, 0xff, 0x81, 0xff, 0xff, 0xff,
0xe0, 0x3f, 0xff, 0xff, 0xf0, 0x7, 0xff, 0xff,
0xf8, 0x0, 0xff, 0xff, 0xf8, 0x0, 0xf, 0xff,
0xfc, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0,
0xc0, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0xf, 0xe0, 0x0, 0x0, 0x1f, 0xe0,
0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x3f, 0xc0,
0x0, 0x0, 0x7f, 0x80, 0x0, 0x0, 0x7f, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xfe, 0x0,
0x0, 0x1, 0xfe, 0x0, 0x0, 0x3, 0xfc, 0x0,
0x0, 0x3, 0xf8, 0x0, 0x0, 0x7, 0xf8, 0x0,
0x0, 0x7, 0xf0, 0x0, 0x0, 0xf, 0xf0, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x1f, 0xe0, 0x0,
0x0, 0x3f, 0xc0, 0x0, 0x0, 0x3f, 0x80, 0x0,
0x0, 0x7f, 0x80, 0x0, 0x0, 0xff, 0x0, 0x0,
0x0, 0xff, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0,
0x1, 0xfc, 0x0, 0x0, 0x3, 0xfc, 0x0, 0x0,
0x7, 0xf8, 0x0, 0x7f, 0x7, 0xf8, 0x0, 0x7f,
0xf, 0xf0, 0x0, 0x7f, 0xf, 0xe0, 0x0, 0x7f,
0x1f, 0xe0, 0x0, 0x7f, 0x3f, 0xc0, 0x0, 0x7f,
0x3f, 0xc0, 0x0, 0x7f, 0x7f, 0x80, 0x0, 0x7f,
0x7f, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x7f,
0xfe, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f,
0xfe, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
/* U+0035 "5" */
0x7f, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfc,
0x7f, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfc,
0x7f, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfc,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0x7f, 0x0, 0x0, 0x0, 0x7f, 0x3, 0xfc, 0x0,
0x7f, 0xf, 0xff, 0x80, 0x7f, 0x3f, 0xff, 0xc0,
0x7f, 0x7f, 0xff, 0xf0, 0x7f, 0x7f, 0xff, 0xf8,
0x7f, 0xff, 0xff, 0xf8, 0x7f, 0xf8, 0x1f, 0xfc,
0x7f, 0xe0, 0x7, 0xfc, 0x7f, 0xc0, 0x1, 0xfe,
0x7f, 0x80, 0x1, 0xfe, 0x7f, 0x80, 0x0, 0xfe,
0x7f, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7f,
0xfe, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 0xfe,
0xff, 0x0, 0x0, 0xfe, 0x7f, 0x0, 0x1, 0xfe,
0x7f, 0x80, 0x3, 0xfc, 0x3f, 0xe0, 0x7, 0xfc,
0x3f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf0,
0xf, 0xff, 0xff, 0xe0, 0x7, 0xff, 0xff, 0xc0,
0x1, 0xff, 0xff, 0x80, 0x0, 0x7f, 0xfc, 0x0,
0x0, 0x1, 0x0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x3, 0xf8,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0xf,
0xf0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0,
0x1f, 0xe0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0,
0x0, 0x3f, 0xc0, 0x0, 0x0, 0x3, 0xf8, 0x0,
0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7, 0xf0,
0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xe0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0,
0x3f, 0xc0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0,
0x0, 0x7f, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0,
0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xe0,
0x0, 0x0, 0x1, 0xfc, 0x0, 0x0, 0x0, 0x3f,
0xc0, 0x0, 0x0, 0x3, 0xf8, 0x7f, 0x80, 0x0,
0x7f, 0x9f, 0xff, 0x0, 0x7, 0xf7, 0xff, 0xf8,
0x0, 0xfe, 0xff, 0xff, 0xe0, 0xf, 0xff, 0xff,
0xff, 0x1, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xfe,
0x7, 0xff, 0x83, 0xff, 0x0, 0xf, 0xfc, 0x3f,
0xe0, 0x0, 0x7f, 0xc7, 0xfc, 0x0, 0x3, 0xfe,
0x7f, 0x80, 0x0, 0x1f, 0xe7, 0xf0, 0x0, 0x0,
0xfe, 0x7f, 0x0, 0x0, 0xf, 0xff, 0xf0, 0x0,
0x0, 0xff, 0xfe, 0x0, 0x0, 0x7, 0xff, 0xe0,
0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7, 0xff,
0xe0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7,
0xff, 0xe0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0,
0x7, 0xff, 0xe0, 0x0, 0x0, 0x7f, 0x7f, 0x0,
0x0, 0xf, 0xe7, 0xf0, 0x0, 0x0, 0xfe, 0x7f,
0x80, 0x0, 0x1f, 0xe3, 0xf8, 0x0, 0x1, 0xfc,
0x3f, 0xc0, 0x0, 0x3f, 0xc1, 0xfe, 0x0, 0x7,
0xf8, 0x1f, 0xf8, 0x1, 0xff, 0x80, 0xff, 0xff,
0xff, 0xf0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0x3f,
0xff, 0xff, 0xc0, 0x1, 0xff, 0xff, 0xf8, 0x0,
0x7, 0xff, 0xfe, 0x0, 0x0, 0x1f, 0xff, 0x80,
0x0, 0x0, 0x6, 0x0, 0x0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0xf, 0xef,
0xe0, 0x0, 0x0, 0xfe, 0xfe, 0x0, 0x0, 0x1f,
0xef, 0xe0, 0x0, 0x1, 0xfc, 0xfe, 0x0, 0x0,
0x1f, 0xcf, 0xe0, 0x0, 0x3, 0xf8, 0xfe, 0x0,
0x0, 0x3f, 0x8f, 0xe0, 0x0, 0x7, 0xf8, 0xfe,
0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7, 0xf0,
0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0xf,
0xe0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0,
0x1f, 0xc0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0,
0x0, 0x3f, 0xc0, 0x0, 0x0, 0x3, 0xf8, 0x0,
0x0, 0x0, 0x7f, 0x80, 0x0, 0x0, 0x7, 0xf0,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0xf,
0xf0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0,
0x1f, 0xe0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x0,
0x0, 0x1f, 0xc0, 0x0, 0x0, 0x3, 0xfc, 0x0,
0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x3, 0xf8,
0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x7,
0xf0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0,
0xf, 0xe0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x1, 0xfc, 0x0,
0x0, 0x0, 0x3f, 0xc0, 0x0, 0x0, 0x3, 0xf8,
0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x7,
0xf8, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0,
0xf, 0xf0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0,
0x0, 0xf, 0xe0, 0x0, 0x0, 0x1, 0xfe, 0x0,
0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x3, 0xfc,
0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x3,
0xf8, 0x0, 0x0, 0x0, 0x7f, 0x80, 0x0, 0x0,
0x7, 0xf0, 0x0, 0x0,
/* U+0038 "8" */
0x0, 0x7, 0xfe, 0x0, 0x0, 0x3, 0xff, 0xfc,
0x0, 0x0, 0xff, 0xff, 0xf0, 0x0, 0x3f, 0xff,
0xff, 0xc0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0xff,
0xff, 0xff, 0xf0, 0x1f, 0xfc, 0x3, 0xff, 0x81,
0xff, 0x0, 0xf, 0xf8, 0x3f, 0xe0, 0x0, 0x7f,
0xc3, 0xfc, 0x0, 0x3, 0xfc, 0x7f, 0x80, 0x0,
0x1f, 0xc7, 0xf8, 0x0, 0x1, 0xfe, 0x7f, 0x0,
0x0, 0xf, 0xe7, 0xf0, 0x0, 0x0, 0xfe, 0x7f,
0x0, 0x0, 0xf, 0xe7, 0xf0, 0x0, 0x0, 0xfe,
0x7f, 0x0, 0x0, 0xf, 0xe7, 0xf8, 0x0, 0x1,
0xfe, 0x3f, 0x80, 0x0, 0x1f, 0xc3, 0xfc, 0x0,
0x3, 0xfc, 0x1f, 0xc0, 0x0, 0x7f, 0x81, 0xff,
0x0, 0xf, 0xf8, 0xf, 0xf8, 0x1, 0xff, 0x0,
0x7f, 0xe0, 0x7f, 0xe0, 0x3, 0xff, 0x9f, 0xfc,
0x0, 0xf, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xff,
0xe0, 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x7f,
0xff, 0xe0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x3,
0xff, 0x9f, 0xfc, 0x0, 0x7f, 0xe0, 0x7f, 0xe0,
0xf, 0xf8, 0x1, 0xff, 0x1, 0xfe, 0x0, 0x7,
0xf8, 0x1f, 0xc0, 0x0, 0x3f, 0x83, 0xf8, 0x0,
0x1, 0xfc, 0x7f, 0x80, 0x0, 0x1f, 0xe7, 0xf0,
0x0, 0x0, 0xfe, 0x7f, 0x0, 0x0, 0xf, 0xef,
0xe0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7,
0xff, 0xe0, 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0,
0x7, 0xff, 0xe0, 0x0, 0x0, 0x7f, 0xfe, 0x0,
0x0, 0x7, 0xff, 0xf0, 0x0, 0x0, 0xff, 0xff,
0x0, 0x0, 0xf, 0xf7, 0xf8, 0x0, 0x1, 0xfe,
0x7f, 0xc0, 0x0, 0x3f, 0xe3, 0xfe, 0x0, 0x7,
0xfc, 0x3f, 0xf8, 0x1, 0xff, 0xc1, 0xff, 0xff,
0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0x0, 0x7f,
0xff, 0xff, 0xe0, 0x3, 0xff, 0xff, 0xfc, 0x0,
0xf, 0xff, 0xff, 0x0, 0x0, 0x1f, 0xff, 0x80,
0x0, 0x0, 0x6, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x7, 0xfe, 0x0, 0x0, 0x3, 0xff, 0xfc,
0x0, 0x0, 0xff, 0xff, 0xf0, 0x0, 0x1f, 0xff,
0xff, 0x80, 0x3, 0xff, 0xff, 0xfe, 0x0, 0x7f,
0xff, 0xff, 0xf0, 0xf, 0xfc, 0x7, 0xff, 0x1,
0xff, 0x0, 0xf, 0xf8, 0x3f, 0xe0, 0x0, 0x7f,
0xc3, 0xfc, 0x0, 0x3, 0xfc, 0x7f, 0x80, 0x0,
0x1f, 0xe7, 0xf0, 0x0, 0x1, 0xfe, 0x7f, 0x0,
0x0, 0xf, 0xe7, 0xf0, 0x0, 0x0, 0xff, 0xfe,
0x0, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x0, 0x7f,
0xfe, 0x0, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x0,
0x7f, 0xfe, 0x0, 0x0, 0x7, 0xff, 0xe0, 0x0,
0x0, 0x7f, 0xfe, 0x0, 0x0, 0x7, 0xff, 0xe0,
0x0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0xf, 0xef,
0xf0, 0x0, 0x0, 0xfe, 0x7f, 0x0, 0x0, 0x1f,
0xe7, 0xf8, 0x0, 0x1, 0xfe, 0x7f, 0xc0, 0x0,
0x3f, 0xc3, 0xfe, 0x0, 0x7, 0xfc, 0x3f, 0xf0,
0x0, 0xff, 0x81, 0xff, 0xe0, 0x3f, 0xf8, 0xf,
0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xf0,
0x3, 0xff, 0xff, 0xff, 0x0, 0x1f, 0xff, 0xef,
0xe0, 0x0, 0xff, 0xf9, 0xfc, 0x0, 0x1, 0xfe,
0x1f, 0xc0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0,
0x0, 0x3f, 0x80, 0x0, 0x0, 0x7, 0xf0, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xf, 0xe0,
0x0, 0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xc0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x0,
0x3f, 0x80, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0,
0x0, 0xff, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x0,
0x0, 0x1, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xc0,
0x0, 0x0, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x3f,
0x80, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x0, 0x0,
0xff, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x0, 0x0,
0x1, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0,
0x0,
/* U+003A ":" */
0xf, 0x81, 0xff, 0x1f, 0xfd, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf1, 0xff,
0x7, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xff, 0x1f,
0xfc, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x7f, 0xf3, 0xff, 0x8f, 0xf8, 0x4, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 730, .box_w = 43, .box_h = 57, .ofs_x = 1, .ofs_y = -1},
{.bitmap_index = 307, .adv_w = 730, .box_w = 24, .box_h = 6, .ofs_x = 11, .ofs_y = 22},
{.bitmap_index = 325, .adv_w = 730, .box_w = 34, .box_h = 72, .ofs_x = 6, .ofs_y = -8},
{.bitmap_index = 631, .adv_w = 730, .box_w = 34, .box_h = 58, .ofs_x = 6, .ofs_y = -1},
{.bitmap_index = 878, .adv_w = 730, .box_w = 34, .box_h = 56, .ofs_x = 7, .ofs_y = 0},
{.bitmap_index = 1116, .adv_w = 730, .box_w = 34, .box_h = 57, .ofs_x = 6, .ofs_y = 0},
{.bitmap_index = 1359, .adv_w = 730, .box_w = 34, .box_h = 57, .ofs_x = 5, .ofs_y = -1},
{.bitmap_index = 1602, .adv_w = 730, .box_w = 32, .box_h = 56, .ofs_x = 5, .ofs_y = 0},
{.bitmap_index = 1826, .adv_w = 730, .box_w = 32, .box_h = 57, .ofs_x = 7, .ofs_y = -1},
{.bitmap_index = 2054, .adv_w = 730, .box_w = 36, .box_h = 58, .ofs_x = 5, .ofs_y = -1},
{.bitmap_index = 2315, .adv_w = 730, .box_w = 36, .box_h = 56, .ofs_x = 6, .ofs_y = 0},
{.bitmap_index = 2567, .adv_w = 730, .box_w = 36, .box_h = 58, .ofs_x = 5, .ofs_y = -1},
{.bitmap_index = 2828, .adv_w = 730, .box_w = 36, .box_h = 57, .ofs_x = 5, .ofs_y = 0},
{.bitmap_index = 3085, .adv_w = 730, .box_w = 13, .box_h = 44, .ofs_x = 16, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint16_t unicode_list_0[] = {
0x0, 0x8
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 37, .range_length = 9, .glyph_id_start = 1,
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 2, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
},
{
.range_start = 47, .range_length = 12, .glyph_id_start = 3,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 2,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t jetbrains_mono_76 = {
#else
lv_font_t jetbrains_mono_76 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 72, /*The maximum line height required by the font*/
.base_line = 8, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -12,
.underline_thickness = 4,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if JETBRAINS_MONO_76*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
91,92c91,92
< 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7f,
< 0xdf, 0xf7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
---
> 0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
> 0xdf, 0xb7, 0xe1, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,

View File

@ -1,523 +0,0 @@
/*******************************************************************************
* Size: 80 px
* Bpp: 1
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef JETBRAINS_MONO_EXTRABOLD_COMPRESSED
#define JETBRAINS_MONO_EXTRABOLD_COMPRESSED 1
#endif
#if JETBRAINS_MONO_EXTRABOLD_COMPRESSED
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+0030 "0" */
0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff,
0xe0, 0x0, 0x1, 0xff, 0xff, 0xf0, 0x0, 0xf,
0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf8,
0x0, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, 0xff,
0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff,
0xf1, 0xff, 0xfc, 0x7, 0xff, 0xf3, 0xff, 0xe0,
0x3, 0xff, 0xe7, 0xff, 0x80, 0x3, 0xff, 0xdf,
0xfe, 0x0, 0x3, 0xff, 0xff, 0xfc, 0x0, 0x3,
0xff, 0xff, 0xf0, 0x0, 0x7, 0xff, 0xff, 0xe0,
0x0, 0xf, 0xff, 0xff, 0xc0, 0x0, 0x1f, 0xff,
0xff, 0x80, 0x0, 0x3f, 0xff, 0xff, 0x0, 0x0,
0x7f, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff, 0xfc,
0x0, 0x1, 0xff, 0xff, 0xf8, 0x0, 0x3, 0xff,
0xff, 0xf0, 0x0, 0x7, 0xff, 0xff, 0xe0, 0x7c,
0xf, 0xff, 0xff, 0xc1, 0xfe, 0x1f, 0xff, 0xff,
0x87, 0xfc, 0x3f, 0xff, 0xff, 0x1f, 0xfc, 0x7f,
0xff, 0xfe, 0x3f, 0xf8, 0xff, 0xff, 0xfc, 0x7f,
0xf1, 0xff, 0xff, 0xf8, 0xff, 0xe3, 0xff, 0xff,
0xf1, 0xff, 0xc7, 0xff, 0xff, 0xe1, 0xff, 0xf,
0xff, 0xff, 0xc1, 0xfc, 0x1f, 0xff, 0xff, 0x81,
0xf0, 0x3f, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xff,
0xfe, 0x0, 0x0, 0xff, 0xff, 0xfc, 0x0, 0x1,
0xff, 0xff, 0xf8, 0x0, 0x3, 0xff, 0xff, 0xf0,
0x0, 0x7, 0xff, 0xff, 0xe0, 0x0, 0xf, 0xff,
0xff, 0xc0, 0x0, 0x1f, 0xff, 0xff, 0x80, 0x0,
0x3f, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xff, 0xfe,
0x0, 0x0, 0xff, 0xff, 0xfe, 0x0, 0x1, 0xff,
0xff, 0xfc, 0x0, 0x7, 0xff, 0xbf, 0xfc, 0x0,
0x1f, 0xfe, 0x7f, 0xfc, 0x0, 0x7f, 0xfc, 0xff,
0xfe, 0x3, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff,
0xe1, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff,
0xff, 0xff, 0x1, 0xff, 0xff, 0xff, 0xfc, 0x1,
0xff, 0xff, 0xff, 0xf0, 0x1, 0xff, 0xff, 0xff,
0xc0, 0x1, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff,
0xff, 0xf8, 0x0, 0x0, 0x7f, 0xff, 0xc0, 0x0,
0x0, 0x1f, 0xfc, 0x0, 0x0,
/* U+0031 "1" */
0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xff,
0x80, 0x0, 0x1, 0xff, 0xfe, 0x0, 0x0, 0x1f,
0xff, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xe0, 0x0,
0x7, 0xff, 0xff, 0x80, 0x0, 0x7f, 0xff, 0xfe,
0x0, 0x3, 0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff,
0xff, 0xe0, 0x1, 0xff, 0xff, 0xff, 0x80, 0xf,
0xff, 0xff, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0xf8,
0x0, 0xff, 0xfd, 0xff, 0xe0, 0x3, 0xff, 0xc7,
0xff, 0x80, 0xf, 0xfe, 0x1f, 0xfe, 0x0, 0x3f,
0xe0, 0x7f, 0xf8, 0x0, 0xff, 0x1, 0xff, 0xe0,
0x3, 0xf8, 0x7, 0xff, 0x80, 0xf, 0x80, 0x1f,
0xfe, 0x0, 0x3c, 0x0, 0x7f, 0xf8, 0x0, 0xe0,
0x1, 0xff, 0xe0, 0x2, 0x0, 0x7, 0xff, 0x80,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x7f,
0xf8, 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0,
0x7, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xfe, 0x0,
0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x1, 0xff,
0xe0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0,
0x1f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0,
0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff,
0x80, 0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0,
0x7f, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0,
0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xfe,
0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x1,
0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0,
0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0xf8,
0x0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x7,
0xff, 0x80, 0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0,
0x0, 0x7f, 0xf8, 0x0, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc0,
/* U+0032 "2" */
0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff,
0xe0, 0x0, 0x1, 0xff, 0xff, 0xf8, 0x0, 0xf,
0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xf8,
0x0, 0xff, 0xff, 0xff, 0xfc, 0x3, 0xff, 0xff,
0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf8, 0x1f,
0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xfc,
0xf, 0xff, 0xe7, 0xff, 0xe0, 0xf, 0xff, 0xcf,
0xff, 0x80, 0xf, 0xff, 0xff, 0xfe, 0x0, 0xf,
0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff, 0xff, 0xf0,
0x0, 0x1f, 0xff, 0xff, 0xe0, 0x0, 0x3f, 0xff,
0xff, 0xc0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x0,
0xff, 0xf0, 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0,
0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xff,
0x0, 0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0,
0x7f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0,
0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0xf, 0xff,
0xc0, 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0,
0xff, 0xfc, 0x0, 0x0, 0x3, 0xff, 0xf8, 0x0,
0x0, 0xf, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xff,
0x80, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 0x3,
0xff, 0xfc, 0x0, 0x0, 0xf, 0xff, 0xf0, 0x0,
0x0, 0x3f, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xff,
0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0xf,
0xff, 0xf0, 0x0, 0x0, 0x3f, 0xff, 0xc0, 0x0,
0x0, 0xff, 0xff, 0x0, 0x0, 0x3, 0xff, 0xf8,
0x0, 0x0, 0xf, 0xff, 0xe0, 0x0, 0x0, 0x3f,
0xff, 0x80, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0,
0x3, 0xff, 0xf8, 0x0, 0x0, 0xf, 0xff, 0xe0,
0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0, 0xff,
0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff,
0xfb, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff,
0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xdf,
0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff,
0xff, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff,
0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfb,
0xff, 0xff, 0xff, 0xff, 0xf0,
/* U+0033 "3" */
0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff,
0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0xff,
0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff,
0x83, 0xff, 0xff, 0xff, 0xff, 0x7, 0xff, 0xff,
0xff, 0xfe, 0xf, 0xff, 0xff, 0xff, 0xfc, 0x1f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0,
0xf, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfc, 0x0,
0x0, 0x0, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff,
0xc0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0,
0x7f, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0,
0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x1f, 0xfe,
0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0, 0x1,
0xff, 0xf8, 0x0, 0x0, 0x3, 0xff, 0xfe, 0x0,
0x0, 0x7, 0xff, 0xff, 0x0, 0x0, 0xf, 0xff,
0xff, 0x80, 0x0, 0x1f, 0xff, 0xff, 0x80, 0x0,
0x3f, 0xff, 0xff, 0x80, 0x0, 0x7f, 0xff, 0xff,
0x80, 0x0, 0xff, 0xff, 0xff, 0x80, 0x1, 0xff,
0xff, 0xff, 0x0, 0x3, 0xff, 0xff, 0xff, 0x0,
0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x7f,
0xfc, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0,
0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x3,
0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0,
0x0, 0xf, 0xff, 0x0, 0x0, 0x0, 0x1f, 0xfe,
0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xc0, 0x0,
0x7f, 0xff, 0xff, 0x80, 0x0, 0xff, 0xff, 0xff,
0x0, 0x1, 0xff, 0xff, 0xff, 0x0, 0x7, 0xff,
0xff, 0xfe, 0x0, 0xf, 0xff, 0xbf, 0xfe, 0x0,
0x3f, 0xfe, 0x7f, 0xff, 0x1, 0xff, 0xfc, 0xff,
0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff,
0xe0, 0xff, 0xff, 0xff, 0xff, 0x81, 0xff, 0xff,
0xff, 0xff, 0x1, 0xff, 0xff, 0xff, 0xfc, 0x1,
0xff, 0xff, 0xff, 0xf0, 0x0, 0xff, 0xff, 0xff,
0x80, 0x0, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x7f,
0xff, 0xf0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0,
/* U+0034 "4" */
0x0, 0x0, 0x3, 0xff, 0xf0, 0x0, 0x0, 0x1f,
0xff, 0x80, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0,
0x3, 0xff, 0xe0, 0x0, 0x0, 0x1f, 0xff, 0x80,
0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x3, 0xff,
0xe0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0,
0xff, 0xfc, 0x0, 0x0, 0x3, 0xff, 0xe0, 0x0,
0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0xff, 0xfc,
0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x1f,
0xff, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x0, 0x0,
0x7, 0xff, 0xe0, 0x0, 0x0, 0x1f, 0xff, 0x0,
0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x7, 0xff,
0xe0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0,
0xff, 0xf8, 0x0, 0x0, 0x7, 0xff, 0xe0, 0x0,
0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0xff, 0xf8,
0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, 0x3f,
0xff, 0x0, 0xff, 0xf0, 0xff, 0xf8, 0x3, 0xff,
0xc7, 0xff, 0xc0, 0xf, 0xff, 0x3f, 0xff, 0x0,
0x3f, 0xfd, 0xff, 0xf8, 0x0, 0xff, 0xf7, 0xff,
0xc0, 0x3, 0xff, 0xff, 0xfe, 0x0, 0xf, 0xff,
0xff, 0xf8, 0x0, 0x3f, 0xff, 0xff, 0xc0, 0x0,
0xff, 0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, 0xf8,
0x0, 0xf, 0xff, 0xff, 0xe0, 0x0, 0x3f, 0xff,
0xff, 0x80, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x3f,
0xfc, 0x0, 0x0, 0x0, 0xff, 0xf0, 0x0, 0x0,
0x3, 0xff, 0xc0, 0x0, 0x0, 0xf, 0xff, 0x0,
0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0xff,
0xf0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0,
0xf, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfc, 0x0,
0x0, 0x0, 0xff, 0xf0, 0x0, 0x0, 0x3, 0xff,
0xc0,
/* U+0035 "5" */
0x7f, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff,
0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff,
0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xf1,
0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff,
0xff, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff,
0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xc7,
0xff, 0xff, 0xff, 0xff, 0x1f, 0xfe, 0x0, 0x0,
0x0, 0x7f, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xe0,
0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x1f,
0xfe, 0x0, 0x0, 0x0, 0x7f, 0xf8, 0x0, 0x0,
0x1, 0xff, 0xe0, 0x0, 0x0, 0x7, 0xff, 0x80,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x7f,
0xf8, 0x1f, 0xf0, 0x1, 0xff, 0xe1, 0xff, 0xf0,
0x7, 0xff, 0x9f, 0xff, 0xf0, 0x1f, 0xfe, 0xff,
0xff, 0xe0, 0x7f, 0xfb, 0xff, 0xff, 0xc1, 0xff,
0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff,
0x1f, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff,
0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff,
0xf0, 0x3f, 0xff, 0x9f, 0xff, 0x0, 0x3f, 0xfe,
0x7f, 0xf8, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x1,
0xff, 0xf0, 0x0, 0x0, 0x3, 0xff, 0xc0, 0x0,
0x0, 0xf, 0xff, 0x0, 0x0, 0x0, 0x3f, 0xfc,
0x0, 0x0, 0x0, 0xff, 0xf0, 0x0, 0x0, 0x3,
0xff, 0xc0, 0x0, 0x0, 0xf, 0xff, 0x0, 0x0,
0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0xf,
0xff, 0xff, 0xf0, 0x0, 0x3f, 0xff, 0xff, 0xc0,
0x0, 0xff, 0xff, 0xff, 0x0, 0x7, 0xff, 0xff,
0xfe, 0x0, 0x1f, 0xfe, 0xff, 0xfc, 0x0, 0xff,
0xf9, 0xff, 0xfc, 0xf, 0xff, 0xe7, 0xff, 0xff,
0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xfc, 0x3f,
0xff, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff,
0x80, 0xff, 0xff, 0xff, 0xfc, 0x1, 0xff, 0xff,
0xff, 0xe0, 0x3, 0xff, 0xff, 0xfe, 0x0, 0x3,
0xff, 0xff, 0xf0, 0x0, 0x3, 0xff, 0xff, 0x0,
0x0, 0x1, 0xff, 0xc0, 0x0,
/* U+0036 "6" */
0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0,
0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff,
0x80, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0,
0x7, 0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xc0,
0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x3,
0xff, 0xe0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0,
0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xff,
0xf0, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0,
0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x7f, 0xfc,
0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0,
0x3f, 0xfc, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0,
0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0,
0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff,
0x87, 0xf8, 0x0, 0x7, 0xff, 0x8f, 0xff, 0x0,
0x7, 0xff, 0xcf, 0xff, 0xe0, 0x3, 0xff, 0xdf,
0xff, 0xf8, 0x3, 0xff, 0xef, 0xff, 0xfe, 0x1,
0xff, 0xff, 0xff, 0xff, 0x81, 0xff, 0xff, 0xff,
0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x7f,
0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0x81, 0xff,
0xff, 0x3f, 0xff, 0x0, 0x3f, 0xff, 0x9f, 0xff,
0x0, 0x7, 0xff, 0xdf, 0xff, 0x80, 0x3, 0xff,
0xef, 0xff, 0x80, 0x0, 0xff, 0xff, 0xff, 0xc0,
0x0, 0x7f, 0xff, 0xff, 0xc0, 0x0, 0x1f, 0xff,
0xff, 0xe0, 0x0, 0xf, 0xff, 0xff, 0xf0, 0x0,
0x7, 0xff, 0xff, 0xf8, 0x0, 0x3, 0xff, 0xff,
0xfc, 0x0, 0x1, 0xff, 0xff, 0xfe, 0x0, 0x0,
0xff, 0xff, 0xff, 0x80, 0x0, 0xff, 0xfb, 0xff,
0xc0, 0x0, 0x7f, 0xfd, 0xff, 0xf0, 0x0, 0x7f,
0xfc, 0xff, 0xf8, 0x0, 0x3f, 0xfe, 0x3f, 0xfe,
0x0, 0x3f, 0xff, 0x1f, 0xff, 0xc0, 0x7f, 0xff,
0x7, 0xff, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff,
0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0x80,
0x3f, 0xff, 0xff, 0xff, 0xc0, 0xf, 0xff, 0xff,
0xff, 0xc0, 0x3, 0xff, 0xff, 0xff, 0x80, 0x0,
0xff, 0xff, 0xff, 0x80, 0x0, 0x1f, 0xff, 0xff,
0x0, 0x0, 0x3, 0xff, 0xfe, 0x0, 0x0, 0x0,
0x3f, 0xf8, 0x0, 0x0,
/* U+0037 "7" */
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x3, 0xff,
0xff, 0xfe, 0x0, 0x1, 0xff, 0xef, 0xff, 0x0,
0x1, 0xff, 0xf7, 0xff, 0x80, 0x0, 0xff, 0xf3,
0xff, 0xc0, 0x0, 0xff, 0xf9, 0xff, 0xe0, 0x0,
0x7f, 0xfc, 0xff, 0xf0, 0x0, 0x7f, 0xfc, 0x7f,
0xf8, 0x0, 0x3f, 0xfe, 0x3f, 0xfc, 0x0, 0x3f,
0xfe, 0x1f, 0xfe, 0x0, 0x1f, 0xff, 0x0, 0x0,
0x0, 0x1f, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff,
0x80, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0,
0x7, 0xff, 0xc0, 0x0, 0x0, 0x3, 0xff, 0xe0,
0x0, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x1,
0xff, 0xf0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0,
0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff,
0xf8, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0,
0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x3f, 0xfe,
0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0,
0x1f, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0x80,
0x0, 0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0x7,
0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xc0, 0x0,
0x0, 0x3, 0xff, 0xe0, 0x0, 0x0, 0x3, 0xff,
0xe0, 0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0,
0x0, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xff, 0xf8,
0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0,
0x7f, 0xfc, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0,
0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x1f,
0xff, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0,
0x0, 0xf, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff,
0xc0, 0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0,
0x3, 0xff, 0xe0, 0x0, 0x0, 0x3, 0xff, 0xe0,
0x0, 0x0, 0x1, 0xff, 0xf0, 0x0, 0x0, 0x1,
0xff, 0xf0, 0x0, 0x0, 0x0, 0xff, 0xf8, 0x0,
0x0, 0x0,
/* U+0038 "8" */
0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff,
0xfc, 0x0, 0x0, 0x1f, 0xff, 0xff, 0x80, 0x0,
0x1f, 0xff, 0xff, 0xf0, 0x0, 0x3f, 0xff, 0xff,
0xfc, 0x0, 0x3f, 0xff, 0xff, 0xff, 0x0, 0x3f,
0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff,
0xf0, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff,
0xff, 0xff, 0xfe, 0xf, 0xff, 0xe0, 0x7f, 0xff,
0x7, 0xff, 0xc0, 0xf, 0xff, 0x87, 0xff, 0xc0,
0x3, 0xff, 0xe3, 0xff, 0xe0, 0x1, 0xff, 0xf1,
0xff, 0xe0, 0x0, 0x7f, 0xf8, 0xff, 0xf0, 0x0,
0x3f, 0xfc, 0x7f, 0xf8, 0x0, 0x1f, 0xfe, 0x3f,
0xfc, 0x0, 0xf, 0xff, 0x1f, 0xfe, 0x0, 0x7,
0xff, 0x8f, 0xff, 0x80, 0x7, 0xff, 0xc3, 0xff,
0xc0, 0x3, 0xff, 0xc1, 0xff, 0xf0, 0x3, 0xff,
0xe0, 0x7f, 0xfc, 0x3, 0xff, 0xe0, 0x3f, 0xff,
0x3, 0xff, 0xf0, 0xf, 0xff, 0xe7, 0xff, 0xf0,
0x3, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xff, 0xff,
0xff, 0xf0, 0x0, 0x1f, 0xff, 0xff, 0xf0, 0x0,
0x7, 0xff, 0xff, 0xf0, 0x0, 0x1, 0xff, 0xff,
0xf0, 0x0, 0x3, 0xff, 0xff, 0xfc, 0x0, 0x3,
0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff,
0xe0, 0x3, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff,
0xf0, 0xff, 0xfe, 0x3, 0xff, 0xf0, 0x1f, 0xff,
0x83, 0xff, 0xe0, 0x7, 0xff, 0xe3, 0xff, 0xe0,
0x1, 0xff, 0xf1, 0xff, 0xe0, 0x0, 0x7f, 0xfc,
0xff, 0xf0, 0x0, 0x1f, 0xfe, 0xff, 0xf0, 0x0,
0x7, 0xff, 0xff, 0xf8, 0x0, 0x3, 0xff, 0xff,
0xfc, 0x0, 0x1, 0xff, 0xff, 0xfe, 0x0, 0x0,
0xff, 0xff, 0xff, 0x0, 0x0, 0x7f, 0xff, 0xff,
0xc0, 0x0, 0x7f, 0xff, 0xff, 0xe0, 0x0, 0x3f,
0xff, 0xff, 0xf8, 0x0, 0x3f, 0xff, 0x7f, 0xfe,
0x0, 0x3f, 0xff, 0x3f, 0xff, 0xc0, 0x7f, 0xff,
0x9f, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff,
0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xc0,
0x7f, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff,
0xff, 0xe0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0x1,
0xff, 0xff, 0xff, 0xc0, 0x0, 0x3f, 0xff, 0xff,
0x80, 0x0, 0x7, 0xff, 0xff, 0x0, 0x0, 0x0,
0x3f, 0xf8, 0x0, 0x0,
/* U+0039 "9" */
0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x7, 0xff,
0xfc, 0x0, 0x0, 0xf, 0xff, 0xff, 0x80, 0x0,
0x1f, 0xff, 0xff, 0xf0, 0x0, 0x1f, 0xff, 0xff,
0xfc, 0x0, 0x1f, 0xff, 0xff, 0xff, 0x0, 0x1f,
0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xff, 0xff,
0xf0, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff,
0xff, 0xff, 0xfe, 0xf, 0xff, 0xf0, 0x7f, 0xff,
0x8f, 0xff, 0xe0, 0xf, 0xff, 0xc7, 0xff, 0xc0,
0x1, 0xff, 0xf3, 0xff, 0xe0, 0x0, 0xff, 0xfb,
0xff, 0xe0, 0x0, 0x3f, 0xfd, 0xff, 0xf0, 0x0,
0x1f, 0xff, 0xff, 0xf0, 0x0, 0x7, 0xff, 0xff,
0xf8, 0x0, 0x3, 0xff, 0xff, 0xfc, 0x0, 0x1,
0xff, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff, 0xff,
0x0, 0x0, 0x7f, 0xff, 0xff, 0x80, 0x0, 0x3f,
0xff, 0xff, 0xe0, 0x0, 0x3f, 0xff, 0xff, 0xf0,
0x0, 0x1f, 0xff, 0x7f, 0xfc, 0x0, 0x1f, 0xff,
0x3f, 0xfe, 0x0, 0xf, 0xff, 0x9f, 0xff, 0xc0,
0x1f, 0xff, 0xc7, 0xff, 0xf8, 0x3f, 0xff, 0xe3,
0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x1f,
0xff, 0xff, 0xff, 0xf8, 0x7, 0xff, 0xff, 0xbf,
0xfc, 0x1, 0xff, 0xff, 0xbf, 0xfc, 0x0, 0x7f,
0xff, 0xbf, 0xfe, 0x0, 0xf, 0xff, 0x1f, 0xfe,
0x0, 0x1, 0xfe, 0x1f, 0xff, 0x0, 0x0, 0x0,
0xf, 0xff, 0x0, 0x0, 0x0, 0xf, 0xff, 0x80,
0x0, 0x0, 0x7, 0xff, 0x80, 0x0, 0x0, 0x7,
0xff, 0xc0, 0x0, 0x0, 0x7, 0xff, 0xc0, 0x0,
0x0, 0x3, 0xff, 0xc0, 0x0, 0x0, 0x3, 0xff,
0xe0, 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0,
0x1, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xff, 0xf0,
0x0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0x0, 0x0,
0xff, 0xf8, 0x0, 0x0, 0x0, 0x7f, 0xfc, 0x0,
0x0, 0x0, 0x7f, 0xfc, 0x0, 0x0, 0x0, 0x3f,
0xfe, 0x0, 0x0, 0x0, 0x3f, 0xfe, 0x0, 0x0,
0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xff,
0x0, 0x0, 0x0, 0x1f, 0xff, 0x0, 0x0, 0x0,
0xf, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0x80,
0x0, 0x0, 0x7, 0xff, 0xc0, 0x0, 0x0, 0x7,
0xff, 0xc0, 0x0, 0x0,
/* U+003A ":" */
0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x3f, 0xfc,
0x1f, 0xf8, 0x7, 0xe0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x3f, 0xfc,
0x1f, 0xf8, 0x7, 0xe0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 768, .box_w = 39, .box_h = 60, .ofs_x = 5, .ofs_y = -1},
{.bitmap_index = 293, .adv_w = 768, .box_w = 38, .box_h = 59, .ofs_x = 6, .ofs_y = 0},
{.bitmap_index = 574, .adv_w = 768, .box_w = 39, .box_h = 60, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 867, .adv_w = 768, .box_w = 39, .box_h = 59, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 1155, .adv_w = 768, .box_w = 38, .box_h = 59, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 1436, .adv_w = 768, .box_w = 38, .box_h = 60, .ofs_x = 5, .ofs_y = -1},
{.bitmap_index = 1721, .adv_w = 768, .box_w = 41, .box_h = 60, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 2029, .adv_w = 768, .box_w = 41, .box_h = 58, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 2327, .adv_w = 768, .box_w = 41, .box_h = 60, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 2635, .adv_w = 768, .box_w = 41, .box_h = 60, .ofs_x = 4, .ofs_y = -1},
{.bitmap_index = 2943, .adv_w = 768, .box_w = 16, .box_h = 46, .ofs_x = 16, .ofs_y = -1}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 48, .range_length = 11, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t jetbrains_mono_extrabold_compressed = {
#else
lv_font_t jetbrains_mono_extrabold_compressed = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 61, /*The maximum line height required by the font*/
.base_line = 1, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = -12,
.underline_thickness = 4,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if JETBRAINS_MONO_EXTRABOLD_COMPRESSED*/

File diff suppressed because it is too large Load Diff

View File

@ -1,324 +0,0 @@
/*******************************************************************************
* Size: 48 px
* Bpp: 1
* Opts:
******************************************************************************/
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_FONT_SYS_48
#define LV_FONT_SYS_48 1
#endif
#if LV_FONT_SYS_48
/*-----------------
* BITMAPS
*----------------*/
/*Store the image of the glyphs*/
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
/* U+E902 "" */
0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x1, 0xff,
0x80, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, 0x0,
0x1, 0xff, 0x80, 0x0, 0x0, 0x1, 0xff, 0x80,
0x0, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x6, 0x7,
0xff, 0xe0, 0x60, 0xf, 0x8f, 0xff, 0xf1, 0xf0,
0xf, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff,
0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x3f,
0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff,
0xfe, 0x7f, 0xff, 0x81, 0xff, 0xfe, 0x7f, 0xff,
0x0, 0xff, 0xfe, 0x3f, 0xfe, 0x0, 0x7f, 0xfc,
0x1f, 0xfc, 0x0, 0x3f, 0xf8, 0xf, 0xf8, 0x0,
0x1f, 0xf0, 0x7, 0xf8, 0x0, 0x1f, 0xe0, 0x7,
0xf8, 0x0, 0x1f, 0xe0, 0x7, 0xf8, 0x0, 0x1f,
0xe0, 0x7, 0xf8, 0x0, 0x1f, 0xe0, 0xf, 0xf8,
0x0, 0x1f, 0xf0, 0x1f, 0xfc, 0x0, 0x3f, 0xf8,
0x3f, 0xfe, 0x0, 0x7f, 0xfc, 0x7f, 0xff, 0x0,
0xff, 0xfe, 0x7f, 0xff, 0x81, 0xff, 0xfe, 0x7f,
0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff,
0xfc, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff,
0xff, 0xff, 0xf8, 0xf, 0xff, 0xff, 0xff, 0xf0,
0xf, 0x8f, 0xff, 0xf1, 0xf0, 0x6, 0x7, 0xff,
0xe0, 0x60, 0x0, 0x3, 0xff, 0xc0, 0x0, 0x0,
0x1, 0xff, 0x80, 0x0, 0x0, 0x1, 0xff, 0x80,
0x0, 0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x1,
0xff, 0x80, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0,
/* U+E904 "" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x0,
0x0, 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0,
0x0, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x1, 0xff,
0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff, 0xff,
0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x0,
0x7f, 0xf8, 0xf, 0xff, 0x80, 0x1, 0xff, 0x80,
0x7, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0xf, 0xf8,
0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xe0, 0x0, 0x7f,
0x3, 0xf0, 0x3f, 0x80, 0x1, 0xf8, 0x3f, 0xf0,
0x7e, 0x0, 0xf, 0xc1, 0xff, 0xe0, 0xfc, 0x0,
0x7f, 0xf, 0xff, 0xc3, 0xf8, 0x3, 0xfc, 0x3f,
0xff, 0xf, 0xf0, 0x1f, 0xe1, 0xff, 0xfe, 0x1f,
0xe0, 0xff, 0x87, 0xff, 0xf8, 0x7f, 0xc7, 0xfe,
0x1f, 0xff, 0xe1, 0xff, 0x9f, 0xf8, 0x7f, 0xff,
0x87, 0xfe, 0x3f, 0xe1, 0xff, 0xfe, 0x1f, 0xf0,
0x7f, 0x87, 0xff, 0xf8, 0x7f, 0x80, 0xff, 0xf,
0xff, 0xc3, 0xfc, 0x1, 0xfc, 0x3f, 0xff, 0xf,
0xe0, 0x3, 0xf0, 0x7f, 0xf8, 0x3f, 0x0, 0x7,
0xe0, 0xff, 0xc1, 0xf8, 0x0, 0x1f, 0xc0, 0xfc,
0xf, 0xe0, 0x0, 0x7f, 0x80, 0x0, 0x7f, 0x80,
0x1, 0xff, 0x0, 0x3, 0xfe, 0x0, 0x7, 0xfe,
0x0, 0x1f, 0xf8, 0x0, 0x1f, 0xff, 0x3, 0xff,
0xe0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x1,
0xff, 0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff,
0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80,
0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+E905 "" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x0,
0x0, 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0,
0x0, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x1, 0xff,
0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff, 0xff,
0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x0,
0x7f, 0xf8, 0xf, 0xff, 0x80, 0x1, 0xff, 0x80,
0x7, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0xf, 0xf8,
0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xe0, 0x0, 0x7f,
0x0, 0x0, 0x3f, 0x80, 0x1, 0xf8, 0x0, 0x0,
0x7e, 0x0, 0xf, 0xc0, 0x0, 0x0, 0xfc, 0x0,
0x7f, 0x0, 0x0, 0x3, 0xf8, 0x3, 0xfc, 0x0,
0x0, 0xf, 0xf0, 0x1f, 0xe0, 0x0, 0x0, 0x1f,
0xe0, 0xff, 0x80, 0x0, 0x0, 0x7f, 0xc7, 0xfe,
0x0, 0x0, 0x1, 0xff, 0x9f, 0xf8, 0x0, 0x0,
0x7, 0xfe, 0x3f, 0xe0, 0x0, 0x0, 0x1f, 0xf0,
0x7f, 0x80, 0x0, 0x0, 0x7f, 0x80, 0xff, 0x0,
0x0, 0x3, 0xfc, 0x1, 0xfc, 0x0, 0x0, 0xf,
0xe0, 0x3, 0xf0, 0x0, 0x0, 0x3f, 0x0, 0x7,
0xe0, 0x0, 0x1, 0xf8, 0x0, 0x1f, 0xc0, 0x0,
0xf, 0xe0, 0x0, 0x7f, 0x80, 0x0, 0x7f, 0x80,
0x1, 0xff, 0x0, 0x3, 0xfe, 0x0, 0x7, 0xfe,
0x0, 0x1f, 0xf8, 0x0, 0x1f, 0xff, 0x3, 0xff,
0xe0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x1,
0xff, 0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff,
0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80,
0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+E906 "" */
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x0,
0x0, 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff,
0xc0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x80, 0x0,
0x0, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x1, 0xff,
0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff, 0xff,
0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x0,
0x7f, 0xff, 0x8f, 0xff, 0x80, 0x1, 0xff, 0xfe,
0x7, 0xfe, 0x0, 0x7, 0xff, 0xf8, 0xf, 0xf8,
0x0, 0x1f, 0xff, 0xe0, 0x1f, 0xe0, 0x0, 0x7f,
0xff, 0x80, 0x3f, 0x80, 0x1, 0xff, 0xfe, 0x0,
0x7e, 0x0, 0xf, 0xff, 0xf8, 0x0, 0xfc, 0x0,
0x7f, 0xff, 0xe0, 0x3, 0xf8, 0x3, 0xff, 0xff,
0x80, 0xf, 0xf0, 0x1f, 0xff, 0xfe, 0x0, 0x1f,
0xe0, 0xff, 0xff, 0xf8, 0x0, 0x7f, 0xc7, 0xff,
0xff, 0xe0, 0x1, 0xff, 0x9f, 0xff, 0xff, 0x80,
0x7, 0xfe, 0x3f, 0xff, 0xfe, 0x0, 0x1f, 0xf0,
0x7f, 0xff, 0xf8, 0x0, 0x7f, 0x80, 0xff, 0xff,
0xe0, 0x3, 0xfc, 0x1, 0xff, 0xff, 0x80, 0xf,
0xe0, 0x3, 0xff, 0xfe, 0x0, 0x3f, 0x0, 0x7,
0xff, 0xf8, 0x1, 0xf8, 0x0, 0x1f, 0xff, 0xe0,
0xf, 0xe0, 0x0, 0x7f, 0xff, 0x80, 0x7f, 0x80,
0x1, 0xff, 0xfe, 0x3, 0xfe, 0x0, 0x7, 0xff,
0xf8, 0x1f, 0xf8, 0x0, 0x1f, 0xff, 0xe3, 0xff,
0xe0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0x80, 0x1,
0xff, 0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff,
0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xe0,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x3f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x80,
0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0,
0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0,
/* U+E907 "" */
0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x78, 0x0,
0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x7, 0x80,
0x0, 0x0, 0x1, 0xe0, 0x0, 0x8, 0x0, 0x78,
0x0, 0x47, 0x0, 0x0, 0x0, 0x3b, 0xe0, 0x0,
0x0, 0x1f, 0x7c, 0x0, 0x0, 0xf, 0x8f, 0x80,
0x0, 0x7, 0xc1, 0xc0, 0x0, 0x0, 0xe0, 0x20,
0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0x80,
0x1f, 0xff, 0xff, 0xe0, 0x7, 0xff, 0xff, 0xf8,
0x1, 0xff, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xff,
0x80, 0x1f, 0xff, 0xff, 0xe0, 0x7, 0xff, 0xff,
0xf8, 0x1, 0xff, 0xff, 0xfe, 0x0, 0x7f, 0xff,
0xff, 0x80, 0x1f, 0xff, 0xff, 0xe0, 0x7, 0xff,
0xff, 0xf8, 0x0, 0xff, 0xff, 0xfc, 0x0, 0x1f,
0xff, 0xfe, 0x0, 0x3, 0xff, 0xff, 0x0, 0x0,
0x7f, 0xff, 0x80, 0x0, 0xf, 0xff, 0xc0, 0x0,
0x1, 0xff, 0xe0, 0x0, 0x0, 0x7f, 0xf8, 0x0,
0x0, 0x1f, 0xfe, 0x0, 0x0, 0x7, 0xff, 0x80,
0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x7f, 0xf8,
0x0, 0x0, 0x1f, 0xfe, 0x0, 0x0, 0x7, 0xff,
0x80, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x7f,
0xf8, 0x0,
/* U+E90B "" */
0x0, 0x3, 0xc0, 0x0, 0x0, 0x1, 0xf8, 0x0,
0x2, 0x0, 0x7e, 0x0, 0x1, 0xc0, 0x1f, 0x80,
0x0, 0xf8, 0x7, 0xe0, 0x0, 0x1f, 0xf, 0xff,
0x0, 0x3, 0xe1, 0xff, 0xe0, 0x0, 0x7c, 0x3f,
0xfc, 0x0, 0xf, 0x87, 0xff, 0x80, 0x1, 0xf0,
0xff, 0xf0, 0x0, 0x7e, 0x1f, 0xfe, 0x0, 0x1f,
0xc3, 0xff, 0x80, 0x7, 0xf8, 0x7f, 0xe0, 0x3,
0xff, 0xf, 0xfc, 0x0, 0xff, 0xe1, 0xff, 0x0,
0x3f, 0xfc, 0x3f, 0xc0, 0xf, 0xff, 0x87, 0xf0,
0x3, 0xff, 0xf1, 0xfc, 0x0, 0xff, 0xfe, 0x3f,
0x0, 0x3f, 0xff, 0xc7, 0xc0, 0xf, 0xff, 0xf8,
0xf0, 0x3, 0xff, 0xfe, 0x1c, 0x0, 0xff, 0xff,
0xc3, 0x0, 0x3f, 0xff, 0xf8, 0x40, 0xf, 0xff,
0xff, 0x0, 0x3, 0xff, 0xff, 0xe0, 0x0, 0xff,
0xff, 0xfc, 0x0, 0x7f, 0xff, 0xff, 0x80, 0x3f,
0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xfe, 0xf,
0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xf8,
0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x3,
0xe0, 0x0, 0x0, 0x0, 0x7c, 0x0, 0x3f, 0xc0,
0xe, 0x0, 0xf, 0xf0, 0x1, 0x0, 0x1, 0xf8,
0x0, 0x0, 0x0, 0x3c, 0x0, 0x0,
/* U+E90C "" */
0x0, 0x0, 0x3c, 0x0, 0x0, 0x1, 0x80, 0x7e,
0x1, 0x80, 0x3, 0xc0, 0x7e, 0x3, 0xc0, 0x7,
0xe0, 0x7e, 0x7, 0xe0, 0xf, 0xc0, 0x7e, 0x3,
0xf0, 0x1f, 0x83, 0xff, 0xc1, 0xf8, 0x3f, 0x7,
0xff, 0xe0, 0xf8, 0x3e, 0xf, 0xff, 0xf0, 0x7c,
0x7e, 0x1f, 0xff, 0xf8, 0x3c, 0x7c, 0x3f, 0xff,
0xfc, 0x3e, 0x78, 0x7f, 0xff, 0xfe, 0x1e, 0xf8,
0x7f, 0xff, 0xfe, 0x1e, 0xf8, 0x7f, 0xff, 0xfe,
0x1f, 0xf0, 0xff, 0xff, 0xff, 0xf, 0xf0, 0xff,
0xff, 0xff, 0xf, 0xf0, 0xff, 0xff, 0xff, 0xf,
0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff,
0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0,
0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff,
0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff,
0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0,
0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff,
0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0x0, 0x1,
0xff, 0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff,
0xc0, 0x7, 0xff, 0xff, 0xff, 0xe0, 0xf, 0xff,
0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xf0,
0xf, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0,
0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x0,
0x3c, 0x0, 0x0
};
/*---------------------
* GLYPH DESCRIPTION
*--------------------*/
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
{.bitmap_index = 0, .adv_w = 768, .box_w = 40, .box_h = 40, .ofs_x = 4, .ofs_y = 0},
{.bitmap_index = 200, .adv_w = 768, .box_w = 46, .box_h = 46, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 465, .adv_w = 768, .box_w = 46, .box_h = 46, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 730, .adv_w = 768, .box_w = 46, .box_h = 46, .ofs_x = 1, .ofs_y = -3},
{.bitmap_index = 995, .adv_w = 768, .box_w = 34, .box_h = 40, .ofs_x = 7, .ofs_y = 0},
{.bitmap_index = 1165, .adv_w = 768, .box_w = 34, .box_h = 39, .ofs_x = 8, .ofs_y = 0},
{.bitmap_index = 1331, .adv_w = 768, .box_w = 40, .box_h = 39, .ofs_x = 4, .ofs_y = 0}
};
/*---------------------
* CHARACTER MAPPING
*--------------------*/
static const uint8_t glyph_id_ofs_list_0[] = {
0, 0, 1, 2, 3, 4, 0, 0,
0, 5, 6
};
/*Collect the unicode lists and glyph_id offsets*/
static const lv_font_fmt_txt_cmap_t cmaps[] =
{
{
.range_start = 59650, .range_length = 11, .glyph_id_start = 1,
.unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 11, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL
}
};
/*--------------------
* ALL CUSTOM DATA
*--------------------*/
#if LV_VERSION_CHECK(8, 0, 0)
/*Store all the custom data of the font*/
static lv_font_fmt_txt_glyph_cache_t cache;
static const lv_font_fmt_txt_dsc_t font_dsc = {
#else
static lv_font_fmt_txt_dsc_t font_dsc = {
#endif
.glyph_bitmap = glyph_bitmap,
.glyph_dsc = glyph_dsc,
.cmaps = cmaps,
.kern_dsc = NULL,
.kern_scale = 0,
.cmap_num = 1,
.bpp = 1,
.kern_classes = 0,
.bitmap_format = 0,
#if LV_VERSION_CHECK(8, 0, 0)
.cache = &cache
#endif
};
/*-----------------
* PUBLIC FONT
*----------------*/
/*Initialize a public general font descriptor*/
#if LV_VERSION_CHECK(8, 0, 0)
const lv_font_t lv_font_sys_48 = {
#else
lv_font_t lv_font_sys_48 = {
#endif
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
.line_height = 46, /*The maximum line height required by the font*/
.base_line = 3, /*Baseline measured from the bottom of the line*/
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
.subpx = LV_FONT_SUBPX_NONE,
#endif
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
.underline_position = 0,
.underline_thickness = 0,
#endif
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
};
#endif /*#if LV_FONT_SYS_48*/

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

View File

@ -0,0 +1,52 @@
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_BATTERYICON
#define LV_ATTRIBUTE_IMG_BATTERYICON
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_BATTERYICON uint8_t batteryicon_map[] = {
0xff, 0xff, 0xff, 0xff, /*Color of index 0*/
0x6a, 0xfc, 0x6c, 0xff, /*Color of index 1*/
0xe0, 0x70,
0xe0, 0x70,
0x00, 0x00,
0x00, 0x00,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x3f, 0xc0,
0x00, 0x00,
0x00, 0x00,
};
const lv_img_dsc_t batteryicon = {
{
LV_IMG_CF_INDEXED_1BIT,
0,
0,
12,
20,
},
48,
batteryicon_map,
};

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_005
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_005
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_005 uint8_t ck_os_battery_005_map[] = {
0x04, 0x02, 0xcc, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0xfc, 0x00, 0x3f,
0xf8, 0x00, 0x1f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0x00, 0xff, 0x00,
0x00, 0xff, 0x00,
0x00, 0xff, 0x00,
0x00, 0xff, 0x00,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
};
const lv_img_dsc_t ck_os_battery_005 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_005_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_010
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_010
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_010 uint8_t ck_os_battery_010_map[] = {
0x04, 0x02, 0xcc, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0x04, 0x7a, 0xf4, 0xff, /*Color of index 2*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 3*/
0x55, 0x5f, 0xff, 0xff, 0xf5, 0x55, 0x55,
0x55, 0x7f, 0xff, 0xff, 0xfd, 0x55, 0x55,
0x55, 0xff, 0xff, 0xff, 0xff, 0x55, 0x55,
0x55, 0xff, 0xff, 0xff, 0xff, 0x55, 0x55,
0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55,
0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55,
0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55,
0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xff, 0x55, 0x55, 0x6a, 0xaa, 0xaa, 0xa9,
0xff, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x50, 0x05, 0xaa, 0xaa, 0xaa, 0xaa,
0xff, 0x50, 0x05, 0xaa, 0xaa, 0xaa, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0x55, 0x55, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0xff, 0xf5, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0xff, 0xf5, 0xaa, 0xa5, 0x5a, 0xaa,
0xff, 0xff, 0xf5, 0xaa, 0xaa, 0xaa, 0xaa,
0xff, 0xff, 0xf5, 0x6a, 0xaa, 0xaa, 0xa9,
};
const lv_img_dsc_t ck_os_battery_010 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 240,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_battery_010_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_020
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_020
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_020 uint8_t ck_os_battery_020_map[] = {
0x04, 0x02, 0xcc, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0x55, 0x5a, 0xaa, 0xaa, 0xa5, 0x55,
0x55, 0x6a, 0xaa, 0xaa, 0xa9, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x50, 0x00, 0x00, 0x05, 0xaa,
0xaa, 0x50, 0x00, 0x00, 0x05, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
};
const lv_img_dsc_t ck_os_battery_020 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 208,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_battery_020_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_030
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_030
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_030 uint8_t ck_os_battery_030_map[] = {
0x04, 0x7a, 0xf4, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0x55, 0x5a, 0xaa, 0xaa, 0xa5, 0x55,
0x55, 0x6a, 0xaa, 0xaa, 0xa9, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x50, 0x00, 0x00, 0x05, 0xaa,
0xaa, 0x50, 0x00, 0x00, 0x05, 0xaa,
0xaa, 0x50, 0x00, 0x00, 0x05, 0xaa,
0xaa, 0x50, 0x00, 0x00, 0x05, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
};
const lv_img_dsc_t ck_os_battery_030 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 208,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_battery_030_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_040
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_040
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_040 uint8_t ck_os_battery_040_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_battery_040 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_040_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_050
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_050
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_050 uint8_t ck_os_battery_050_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_battery_050 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_050_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_060
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_060
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_060 uint8_t ck_os_battery_060_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_battery_060 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_060_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_070
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_070
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_070 uint8_t ck_os_battery_070_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_battery_070 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_070_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_080
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_080
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_080 uint8_t ck_os_battery_080_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_battery_080 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_080_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_090
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_090
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_090 uint8_t ck_os_battery_090_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_battery_090 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_battery_090_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_100
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_100
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_100 uint8_t ck_os_battery_100_map[] = {
0x7c, 0xd2, 0x34, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0xaa, 0xa5, 0x55, 0x55, 0x5a, 0xaa,
0xaa, 0x95, 0x55, 0x55, 0x56, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
};
const lv_img_dsc_t ck_os_battery_100 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 208,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_battery_100_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERY_ERROR
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERY_ERROR
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERY_ERROR uint8_t ck_os_battery_error_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xc4, 0xc2, 0xc4, 0xff, /*Color of index 1*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0x00, 0x05, 0x55, 0x55, 0x50, 0x00,
0x00, 0x15, 0x55, 0x55, 0x54, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x00,
0x55, 0x55, 0x00, 0x00, 0x55, 0x55,
0x55, 0x55, 0x00, 0x00, 0x55, 0x55,
0x55, 0x55, 0x00, 0x00, 0x55, 0x55,
0x55, 0x54, 0x00, 0x00, 0x15, 0x55,
0x55, 0x00, 0x0a, 0xa0, 0x00, 0x55,
0x55, 0x00, 0xaa, 0xaa, 0x00, 0x55,
0x55, 0x02, 0xaa, 0xaa, 0x80, 0x55,
0x55, 0x02, 0xaa, 0xaa, 0x80, 0x55,
0x55, 0x0a, 0xa8, 0x2a, 0xa0, 0x55,
0x55, 0x0a, 0xa0, 0x0a, 0xa0, 0x55,
0x55, 0x00, 0x00, 0x0a, 0xa0, 0x55,
0x55, 0x00, 0x00, 0x2a, 0xa0, 0x55,
0x55, 0x00, 0x02, 0xaa, 0x80, 0x55,
0x55, 0x00, 0x0a, 0xaa, 0x80, 0x55,
0x55, 0x00, 0x0a, 0xaa, 0x00, 0x55,
0x55, 0x00, 0x0a, 0xa0, 0x00, 0x55,
0x55, 0x00, 0x0a, 0xa0, 0x00, 0x55,
0x55, 0x00, 0x0a, 0xa0, 0x00, 0x55,
0x55, 0x00, 0x00, 0x00, 0x00, 0x55,
0x55, 0x00, 0x00, 0x00, 0x00, 0x55,
0x55, 0x00, 0x02, 0x80, 0x00, 0x55,
0x55, 0x00, 0x0a, 0xa0, 0x00, 0x55,
0x55, 0x00, 0x0a, 0xa0, 0x00, 0x55,
0x55, 0x00, 0x02, 0x80, 0x00, 0x55,
0x55, 0x55, 0x40, 0x01, 0x55, 0x55,
0x55, 0x55, 0x50, 0x05, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
};
const lv_img_dsc_t ck_os_battery_error = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 208,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_battery_error_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_005
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_005
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_005 uint8_t ck_os_batterycharging_005_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0, 0x00,
0x07, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x07, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x1f, 0x00,
0xf0, 0x00, 0x3e, 0x00,
0xf0, 0x00, 0x7e, 0x00,
0xf0, 0x00, 0xfc, 0x00,
0xf0, 0x01, 0xff, 0xf0,
0xf0, 0x03, 0xff, 0xf0,
0xf0, 0x03, 0xff, 0xf0,
0xf0, 0x03, 0xff, 0xe0,
0xf0, 0x00, 0x0f, 0xc0,
0xf0, 0x00, 0x1f, 0x80,
0xff, 0xff, 0x3f, 0x00,
0xff, 0xff, 0x3e, 0x00,
0xff, 0xff, 0x3c, 0x00,
0xff, 0xff, 0x38, 0x00,
};
const lv_img_dsc_t ck_os_batterycharging_005 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 136,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_batterycharging_005_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_010
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_010
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_010 uint8_t ck_os_batterycharging_010_map[] = {
0x04, 0x02, 0xcc, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0x55, 0x5a, 0xaa, 0xaa, 0xa5, 0x55, 0x55,
0x55, 0x6a, 0xaa, 0xaa, 0xa9, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x6a, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x56, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x5a, 0xa9, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x6a, 0xa9, 0x55,
0xaa, 0x55, 0x55, 0x55, 0xaa, 0xa5, 0x55,
0xaa, 0x55, 0x55, 0x56, 0xaa, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x5a, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xa9,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xa5,
0xaa, 0x55, 0x55, 0x55, 0x56, 0xaa, 0x95,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xaa, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xa9, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xa5, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0x95, 0x55,
};
const lv_img_dsc_t ck_os_batterycharging_010 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 240,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_batterycharging_010_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_020
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_020
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_020 uint8_t ck_os_batterycharging_020_map[] = {
0x04, 0x02, 0xcc, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0x55, 0x5a, 0xaa, 0xaa, 0xa5, 0x55, 0x55,
0x55, 0x6a, 0xaa, 0xaa, 0xa9, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x6a, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x56, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x5a, 0xa9, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x6a, 0xa9, 0x55,
0xaa, 0x55, 0x55, 0x55, 0xaa, 0xa5, 0x55,
0xaa, 0x55, 0x55, 0x56, 0xaa, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x5a, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xa9,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xa5,
0xaa, 0x55, 0x55, 0x55, 0x56, 0xaa, 0x95,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xaa, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xa9, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xa5, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0x95, 0x55,
};
const lv_img_dsc_t ck_os_batterycharging_020 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 240,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_batterycharging_020_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_030
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_030
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_030 uint8_t ck_os_batterycharging_030_map[] = {
0x04, 0x7a, 0xf4, 0xff, /*Color of index 0*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 1*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0x55, 0x5a, 0xaa, 0xaa, 0xa5, 0x55, 0x55,
0x55, 0x6a, 0xaa, 0xaa, 0xa9, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0x6a, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x56, 0xaa, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x5a, 0xa9, 0x55,
0xaa, 0x55, 0x55, 0x55, 0x6a, 0xa9, 0x55,
0xaa, 0x55, 0x55, 0x55, 0xaa, 0xa5, 0x55,
0xaa, 0x50, 0x00, 0x56, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xaa,
0xaa, 0x50, 0x00, 0x5a, 0xaa, 0xaa, 0xa9,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xa5,
0xaa, 0x55, 0x55, 0x55, 0x56, 0xaa, 0x95,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xaa, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xa9, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0xa5, 0x55,
0xaa, 0xaa, 0xaa, 0xaa, 0x5a, 0x95, 0x55,
};
const lv_img_dsc_t ck_os_batterycharging_030 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 240,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_batterycharging_030_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_040
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_040
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_040 uint8_t ck_os_batterycharging_040_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0, 0x00,
0x07, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x07, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x1f, 0x00,
0xf0, 0x00, 0x3e, 0x00,
0xf3, 0xf8, 0x7e, 0x00,
0xf3, 0xf0, 0xfc, 0x00,
0xf3, 0xf1, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xe0,
0xf0, 0x00, 0x0f, 0xc0,
0xf0, 0x00, 0x1f, 0x80,
0xff, 0xff, 0x3f, 0x00,
0xff, 0xff, 0x3e, 0x00,
0xff, 0xff, 0x3c, 0x00,
0xff, 0xff, 0x38, 0x00,
};
const lv_img_dsc_t ck_os_batterycharging_040 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 136,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_batterycharging_040_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_050
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_050
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_050 uint8_t ck_os_batterycharging_050_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0, 0x00,
0x07, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x07, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf3, 0xfe, 0x1f, 0x00,
0xf3, 0xfc, 0x3e, 0x00,
0xf3, 0xf8, 0x7e, 0x00,
0xf3, 0xf0, 0xfc, 0x00,
0xf3, 0xf1, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xe0,
0xf0, 0x00, 0x0f, 0xc0,
0xf0, 0x00, 0x1f, 0x80,
0xff, 0xff, 0x3f, 0x00,
0xff, 0xff, 0x3e, 0x00,
0xff, 0xff, 0x3c, 0x00,
0xff, 0xff, 0x38, 0x00,
};
const lv_img_dsc_t ck_os_batterycharging_050 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 136,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_batterycharging_050_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_060
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_060
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_060 uint8_t ck_os_batterycharging_060_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0, 0x00,
0x07, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf0, 0x00, 0x00, 0x00,
0xf3, 0xff, 0x87, 0x00,
0xf3, 0xff, 0x0f, 0x00,
0xf3, 0xfe, 0x1f, 0x00,
0xf3, 0xfc, 0x3e, 0x00,
0xf3, 0xf8, 0x7e, 0x00,
0xf3, 0xf0, 0xfc, 0x00,
0xf3, 0xf1, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xe0,
0xf0, 0x00, 0x0f, 0xc0,
0xf0, 0x00, 0x1f, 0x80,
0xff, 0xff, 0x3f, 0x00,
0xff, 0xff, 0x3e, 0x00,
0xff, 0xff, 0x3c, 0x00,
0xff, 0xff, 0x38, 0x00,
};
const lv_img_dsc_t ck_os_batterycharging_060 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 136,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_batterycharging_060_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_070
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_070
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_070 uint8_t ck_os_batterycharging_070_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0, 0x00,
0x07, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0x0f, 0xff, 0xf0, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xff, 0x00, 0xff, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf0, 0x00, 0x0f, 0x00,
0xf3, 0xff, 0xc0, 0x00,
0xf3, 0xff, 0xc0, 0x00,
0xf3, 0xff, 0x87, 0x00,
0xf3, 0xff, 0x0f, 0x00,
0xf3, 0xfe, 0x1f, 0x00,
0xf3, 0xfc, 0x3e, 0x00,
0xf3, 0xf8, 0x7e, 0x00,
0xf3, 0xf0, 0xfc, 0x00,
0xf3, 0xf1, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xf0,
0xf3, 0xf3, 0xff, 0xe0,
0xf0, 0x00, 0x0f, 0xc0,
0xf0, 0x00, 0x1f, 0x80,
0xff, 0xff, 0x3f, 0x00,
0xff, 0xff, 0x3e, 0x00,
0xff, 0xff, 0x3c, 0x00,
0xff, 0xff, 0x38, 0x00,
};
const lv_img_dsc_t ck_os_batterycharging_070 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 136,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_batterycharging_070_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_080
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_080
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_080 uint8_t ck_os_batterycharging_080_map[] = {
0x7c, 0xd2, 0x34, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0xaa, 0xa5, 0x55, 0x55, 0x5a, 0xaa, 0xaa,
0xaa, 0x95, 0x55, 0x55, 0x56, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0xaa, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0xaa, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x2a, 0x95, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0xaa, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x02, 0xa9, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x0a, 0xa5, 0x56, 0xaa,
0x55, 0xa0, 0x00, 0x2a, 0x95, 0x56, 0xaa,
0x55, 0xa0, 0x00, 0xaa, 0x55, 0x5a, 0xaa,
0x55, 0xa0, 0x00, 0xa9, 0x55, 0x55, 0x55,
0x55, 0xa0, 0x00, 0xa5, 0x55, 0x55, 0x55,
0x55, 0xa0, 0x00, 0xa5, 0x55, 0x55, 0x55,
0x55, 0xa0, 0x00, 0xa5, 0x55, 0x55, 0x56,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x5a,
0x55, 0xaa, 0xaa, 0xaa, 0xa9, 0x55, 0x6a,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x55, 0xaa,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x56, 0xaa,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x5a, 0xaa,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x6a, 0xaa,
};
const lv_img_dsc_t ck_os_batterycharging_080 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 240,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_batterycharging_080_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,58 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_090
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_090
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_090 uint8_t ck_os_batterycharging_090_map[] = {
0x7c, 0xd2, 0x34, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 2*/
0xff, 0xff, 0xff, 0xff, /*Color of index 3*/
0xaa, 0xa5, 0x55, 0x55, 0x5a, 0xaa, 0xaa,
0xaa, 0x95, 0x55, 0x55, 0x56, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa,
0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0xaa, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x0a, 0xaa, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0x2a, 0x95, 0xaa,
0x55, 0xa0, 0x00, 0x00, 0xaa, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x02, 0xa9, 0x55, 0xaa,
0x55, 0xa0, 0x00, 0x0a, 0xa5, 0x56, 0xaa,
0x55, 0xa0, 0x00, 0x2a, 0x95, 0x56, 0xaa,
0x55, 0xa0, 0x00, 0xaa, 0x55, 0x5a, 0xaa,
0x55, 0xa0, 0x00, 0xa9, 0x55, 0x55, 0x55,
0x55, 0xa0, 0x00, 0xa5, 0x55, 0x55, 0x55,
0x55, 0xa0, 0x00, 0xa5, 0x55, 0x55, 0x55,
0x55, 0xa0, 0x00, 0xa5, 0x55, 0x55, 0x56,
0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x5a,
0x55, 0xaa, 0xaa, 0xaa, 0xa9, 0x55, 0x6a,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x55, 0xaa,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x56, 0xaa,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x5a, 0xaa,
0x55, 0x55, 0x55, 0x55, 0xa5, 0x6a, 0xaa,
};
const lv_img_dsc_t ck_os_batterycharging_090 = {
.header.always_zero = 0,
.header.w = 28,
.header.h = 32,
.data_size = 240,
.header.cf = LV_IMG_CF_INDEXED_2BIT,
.data = ck_os_batterycharging_090_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,56 +0,0 @@
#include "lvgl/lvgl.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_100
#define LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_100
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_IMG_CK_OS_BATTERYCHARGING_100 uint8_t ck_os_batterycharging_100_map[] = {
0x6c, 0xfe, 0x6c, 0xff, /*Color of index 0*/
0xe4, 0xe6, 0xe4, 0xff, /*Color of index 1*/
0x03, 0xff, 0xc0,
0x07, 0xff, 0xe0,
0x0f, 0xff, 0xf0,
0x0f, 0xff, 0xf0,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xff, 0x00, 0xff,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x07, 0x0f,
0xf0, 0x0f, 0x0f,
0xf0, 0x1f, 0x0f,
0xf0, 0x3e, 0x0f,
0xf0, 0x7e, 0x0f,
0xf0, 0xfc, 0x0f,
0xf1, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0xcf,
0xf3, 0xff, 0x8f,
0xf0, 0x3f, 0x0f,
0xf0, 0x7e, 0x0f,
0xf0, 0x7c, 0x0f,
0xf0, 0xf8, 0x0f,
0xf0, 0xf0, 0x0f,
0xf0, 0xe0, 0x0f,
0xf0, 0x00, 0x0f,
0xf0, 0x00, 0x0f,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
0xff, 0xff, 0xff,
};
const lv_img_dsc_t ck_os_batterycharging_100 = {
.header.always_zero = 0,
.header.w = 24,
.header.h = 32,
.data_size = 104,
.header.cf = LV_IMG_CF_INDEXED_1BIT,
.data = ck_os_batterycharging_100_map,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -26,7 +26,6 @@ static void theme_apply(lv_obj_t* obj, lv_theme_style_t name);
**********************/
static lv_theme_t theme;
static lv_style_t style_pad;
static lv_style_t style_circle;
static lv_style_t style_bg;
@ -77,12 +76,6 @@ static void style_init_reset(lv_style_t* style) {
static void basic_init(void) {
style_init_reset(&style_pad);
lv_style_set_pad_top(&style_pad, LV_STATE_DEFAULT, LV_VER_RES / 30);
lv_style_set_pad_bottom(&style_pad, LV_STATE_DEFAULT, LV_VER_RES / 30);
lv_style_set_pad_left(&style_pad, LV_STATE_DEFAULT, LV_VER_RES / 40);
lv_style_set_pad_right(&style_pad, LV_STATE_DEFAULT, LV_VER_RES / 40);
style_init_reset(&style_circle);
lv_style_set_radius(&style_circle, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
@ -113,9 +106,9 @@ static void basic_init(void) {
style_init_reset(&style_btn);
lv_style_set_radius(&style_btn, LV_STATE_DEFAULT, 10);
lv_style_set_bg_opa(&style_btn, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_style_set_bg_color(&style_btn, LV_STATE_DEFAULT, lv_color_hex(0x2F3540));
lv_style_set_bg_color(&style_btn, LV_STATE_CHECKED, LV_COLOR_GREEN);
lv_style_set_bg_color(&style_btn, LV_STATE_DISABLED, lv_color_hex(0x2F3540));
lv_style_set_bg_color(&style_btn, LV_STATE_DEFAULT, LV_PINETIME_BLUE);
lv_style_set_bg_color(&style_btn, LV_STATE_CHECKED, LV_COLOR_MAKE(0x0, 0xb0, 0x0));
lv_style_set_bg_color(&style_btn, LV_STATE_DISABLED, LV_PINETIME_BLUE);
lv_style_set_bg_color(&style_btn, LV_STATE_DISABLED | LV_STATE_CHECKED, lv_color_hex3(0x888));
lv_style_set_border_color(&style_btn, LV_STATE_DEFAULT, theme.color_primary);
lv_style_set_border_width(&style_btn, LV_STATE_DEFAULT, 0);
@ -166,7 +159,7 @@ static void basic_init(void) {
style_init_reset(&style_scrollbar);
lv_style_set_bg_opa(&style_scrollbar, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_style_set_radius(&style_scrollbar, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
lv_style_set_bg_color(&style_scrollbar, LV_STATE_DEFAULT, LV_PINETIME_LIGHT_GRAY);
lv_style_set_bg_color(&style_scrollbar, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_style_set_size(&style_scrollbar, LV_STATE_DEFAULT, LV_HOR_RES / 80);
lv_style_set_pad_right(&style_scrollbar, LV_STATE_DEFAULT, LV_HOR_RES / 60);
@ -188,10 +181,13 @@ static void basic_init(void) {
lv_style_set_pad_inner(&style_list_btn, LV_STATE_DEFAULT, LV_HOR_RES / 50);
style_init_reset(&style_ddlist_list);
// Causes lag unfortunately, so we'll have to live with the selected item overflowing the corner
//lv_style_set_clip_corner(&style_ddlist_list, LV_STATE_DEFAULT, true);
lv_style_set_text_line_space(&style_ddlist_list, LV_STATE_DEFAULT, LV_VER_RES / 25);
lv_style_set_shadow_width(&style_ddlist_list, LV_STATE_DEFAULT, LV_VER_RES / 20);
lv_style_set_shadow_color(&style_ddlist_list, LV_STATE_DEFAULT, LV_PINETIME_GRAY);
lv_style_set_bg_color(&style_ddlist_list, LV_STATE_DEFAULT, LV_PINETIME_GRAY);
lv_style_set_shadow_color(&style_ddlist_list, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_style_set_bg_color(&style_ddlist_list, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_style_set_pad_all(&style_ddlist_list, LV_STATE_DEFAULT, 20);
style_init_reset(&style_ddlist_selected);
lv_style_set_bg_opa(&style_ddlist_selected, LV_STATE_DEFAULT, LV_OPA_COVER);
@ -204,7 +200,7 @@ static void basic_init(void) {
style_init_reset(&style_sw_indic);
lv_style_set_bg_opa(&style_sw_indic, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_style_set_bg_color(&style_sw_indic, LV_STATE_DEFAULT, LV_COLOR_GREEN);
lv_style_set_bg_color(&style_sw_indic, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x0, 0xb0, 0x0));
style_init_reset(&style_sw_knob);
lv_style_set_bg_opa(&style_sw_knob, LV_STATE_DEFAULT, LV_OPA_COVER);
@ -237,7 +233,7 @@ static void basic_init(void) {
lv_style_set_line_rounded(&style_arc_indic, LV_STATE_DEFAULT, true);
style_init_reset(&style_arc_bg);
lv_style_set_line_color(&style_arc_bg, LV_STATE_DEFAULT, LV_PINETIME_GRAY);
lv_style_set_line_color(&style_arc_bg, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_style_set_line_width(&style_arc_bg, LV_STATE_DEFAULT, LV_DPX(25));
lv_style_set_line_rounded(&style_arc_bg, LV_STATE_DEFAULT, true);
lv_style_set_pad_all(&style_arc_bg, LV_STATE_DEFAULT, LV_DPX(5));
@ -245,7 +241,7 @@ static void basic_init(void) {
lv_style_reset(&style_arc_knob);
lv_style_set_radius(&style_arc_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
lv_style_set_bg_opa(&style_arc_knob, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_style_set_bg_color(&style_arc_knob, LV_STATE_DEFAULT, LV_PINETIME_LIGHT_GRAY);
lv_style_set_bg_color(&style_arc_knob, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_style_set_pad_all(&style_arc_knob, LV_STATE_DEFAULT, LV_DPX(5));
style_init_reset(&style_table_cell);
@ -479,13 +475,11 @@ static void theme_apply(lv_obj_t* obj, lv_theme_style_t name) {
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_MAIN);
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_MAIN);
_lv_style_list_add_style(list, &style_btn);
_lv_style_list_add_style(list, &style_pad);
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_LIST);
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST);
_lv_style_list_add_style(list, &style_box);
_lv_style_list_add_style(list, &style_ddlist_list);
_lv_style_list_add_style(list, &style_pad);
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SELECTED);
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED);

View File

@ -23,7 +23,7 @@ extern "C" {
#define LV_PINETIME_LIGHT lv_color_hex(0xf3f8fe)
#define LV_PINETIME_GRAY lv_color_hex(0x8a8a8a)
#define LV_PINETIME_LIGHT_GRAY lv_color_hex(0xc4c4c4)
#define LV_PINETIME_BLUE lv_color_hex(0x2f3540)
#define LV_PINETIME_BLUE lv_color_hex(0x5d697e)
#define LV_PINETIME_GREEN lv_color_hex(0x4cb242)
#define LV_PINETIME_RED lv_color_hex(0xd51732)

View File

@ -40,7 +40,7 @@ Alarm::Alarm(DisplayApp* app,
time = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_text_font(time, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_76);
lv_obj_set_style_local_text_color(time, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_text_color(time, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
alarmHours = alarmController.Hours();
alarmMinutes = alarmController.Minutes();
@ -50,7 +50,7 @@ Alarm::Alarm(DisplayApp* app,
lblampm = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_text_font(lblampm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_bold_20);
lv_obj_set_style_local_text_color(lblampm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_text_color(lblampm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_label_set_text_static(lblampm, " ");
lv_label_set_align(lblampm, LV_LABEL_ALIGN_CENTER);
lv_obj_align(lblampm, lv_scr_act(), LV_ALIGN_CENTER, 0, 30);
@ -303,7 +303,7 @@ void Alarm::ShowInfo() {
lv_label_set_text_fmt(
txtMessage, "Time to\nalarm:\n%2lu Days\n%2lu Hours\n%2lu Minutes\n%2lu Seconds", daysToAlarm, hrsToAlarm, minToAlarm, secToAlarm);
} else {
lv_label_set_text(txtMessage, "Alarm\nis not\nset.");
lv_label_set_text_static(txtMessage, "Alarm\nis not\nset.");
}
}
@ -317,13 +317,13 @@ void Alarm::SetRecurButtonState() {
using Pinetime::Controllers::AlarmController;
switch (alarmController.Recurrence()) {
case AlarmController::RecurType::None:
lv_label_set_text(txtRecur, "ONCE");
lv_label_set_text_static(txtRecur, "ONCE");
break;
case AlarmController::RecurType::Daily:
lv_label_set_text(txtRecur, "DAILY");
lv_label_set_text_static(txtRecur, "DAILY");
break;
case AlarmController::RecurType::Weekdays:
lv_label_set_text(txtRecur, "MON-FRI");
lv_label_set_text_static(txtRecur, "MON-FRI");
}
}

View File

@ -1,23 +1,34 @@
#include "displayapp/screens/BatteryIcon.h"
#include <cstdint>
#include "displayapp/screens/Symbols.h"
#include "displayapp/icons/battery/batteryicon.c"
using namespace Pinetime::Applications::Screens;
const char* BatteryIcon::GetBatteryIcon(uint8_t batteryPercent) {
if (batteryPercent > 87)
return Symbols::batteryFull;
if (batteryPercent > 62)
return Symbols::batteryThreeQuarter;
if (batteryPercent > 37)
return Symbols::batteryHalf;
if (batteryPercent > 12)
return Symbols::batteryOneQuarter;
return Symbols::batteryEmpty;
void BatteryIcon::Create(lv_obj_t* parent) {
batteryImg = lv_img_create(parent, nullptr);
lv_img_set_src(batteryImg, &batteryicon);
lv_obj_set_style_local_image_recolor(batteryImg, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
batteryJuice = lv_obj_create(batteryImg, nullptr);
lv_obj_set_width(batteryJuice, 8);
lv_obj_align(batteryJuice, nullptr, LV_ALIGN_IN_BOTTOM_RIGHT, -2, -2);
lv_obj_set_style_local_radius(batteryJuice, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 0);
}
const char* BatteryIcon::GetUnknownIcon() {
return Symbols::batteryEmpty;
lv_obj_t* BatteryIcon::GetObject() {
return batteryImg;
}
void BatteryIcon::SetBatteryPercentage(uint8_t percentage) {
lv_obj_set_height(batteryJuice, percentage * 14 / 100);
lv_obj_realign(batteryJuice);
}
void BatteryIcon::SetColor(lv_color_t color) {
lv_obj_set_style_local_image_recolor(batteryImg, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, color);
lv_obj_set_style_local_image_recolor_opa(batteryImg, LV_IMG_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_COVER);
lv_obj_set_style_local_bg_color(batteryJuice, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, color);
}
const char* BatteryIcon::GetPlugIcon(bool isCharging) {

View File

@ -1,15 +1,24 @@
#pragma once
#include <cstdint>
#include <lvgl/src/lv_core/lv_obj.h>
namespace Pinetime {
namespace Applications {
namespace Screens {
class BatteryIcon {
public:
void Create(lv_obj_t* parent);
void SetColor(lv_color_t);
void SetBatteryPercentage(uint8_t percentage);
lv_obj_t* GetObject();
static const char* GetUnknownIcon();
static const char* GetBatteryIcon(uint8_t batteryPercent);
static const char* GetPlugIcon(bool isCharging);
private:
lv_obj_t* batteryImg;
lv_obj_t* batteryJuice;
};
}
}
}
}

View File

@ -33,17 +33,11 @@ BatteryInfo::BatteryInfo(Pinetime::Applications::DisplayApp* app, Pinetime::Cont
lv_obj_align(percent, nullptr, LV_ALIGN_CENTER, 0, -60);
voltage = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_text_color(voltage, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xC6A600));
lv_obj_set_style_local_text_color(voltage, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xff, 0xb0, 0x0));
lv_label_set_text_fmt(voltage, "%1i.%02i volts", batteryVoltage / 1000, batteryVoltage % 1000 / 10);
lv_label_set_align(voltage, LV_LABEL_ALIGN_CENTER);
lv_obj_align(voltage, nullptr, LV_ALIGN_CENTER, 0, 95);
lv_obj_t* backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP);
lv_obj_set_size(backgroundLabel, 240, 240);
lv_obj_set_pos(backgroundLabel, 0, 0);
lv_label_set_text_static(backgroundLabel, "");
taskRefresh = lv_task_create(RefreshTaskCallback, 5000, LV_TASK_PRIO_MID, this);
Refresh();
}
@ -68,7 +62,7 @@ void BatteryInfo::Refresh() {
lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC, LV_STATE_DEFAULT, LV_COLOR_YELLOW);
lv_label_set_text_static(status, "Battery low");
} else {
lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC, LV_STATE_DEFAULT, LV_COLOR_GREEN);
lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x0, 0xb0, 0x0));
lv_label_set_text_static(status, "Discharging");
}

View File

@ -2,11 +2,7 @@
#include "displayapp/screens/Symbols.h"
using namespace Pinetime::Applications::Screens;
const char* BleIcon::GetIcon(bool isRadioEnabled, bool isConnected) {
if(!isRadioEnabled) {
return Symbols::airplane;
}
const char* BleIcon::GetIcon(bool isConnected) {
if (isConnected) {
return Symbols::bluetooth;
}

View File

@ -7,7 +7,7 @@ namespace Pinetime {
namespace Screens {
class BleIcon {
public:
static const char* GetIcon(bool isRadioEnabled, bool isConnected);
static const char* GetIcon(bool isConnected);
};
}
}

View File

@ -11,7 +11,7 @@
#include "displayapp/screens/WatchFaceDigital.h"
#include "displayapp/screens/WatchFaceTerminal.h"
#include "displayapp/screens/WatchFaceAnalog.h"
#include "displayapp/screens/PineTimeStyle.h"
#include "displayapp/screens/WatchFacePineTimeStyle.h"
using namespace Pinetime::Applications::Screens;
@ -40,7 +40,7 @@ Clock::Clock(DisplayApp* app,
return WatchFaceAnalogScreen();
break;
case 2:
return PineTimeStyleScreen();
return WatchFacePineTimeStyleScreen();
break;
case 3:
return WatchFaceTerminalScreen();
@ -79,8 +79,8 @@ std::unique_ptr<Screen> Clock::WatchFaceAnalogScreen() {
app, dateTimeController, batteryController, bleController, notificatioManager, settingsController);
}
std::unique_ptr<Screen> Clock::PineTimeStyleScreen() {
return std::make_unique<Screens::PineTimeStyle>(
std::unique_ptr<Screen> Clock::WatchFacePineTimeStyleScreen() {
return std::make_unique<Screens::WatchFacePineTimeStyle>(
app, dateTimeController, batteryController, bleController, notificatioManager, settingsController, motionController);
}

View File

@ -46,7 +46,7 @@ namespace Pinetime {
std::unique_ptr<Screen> screen;
std::unique_ptr<Screen> WatchFaceDigitalScreen();
std::unique_ptr<Screen> WatchFaceAnalogScreen();
std::unique_ptr<Screen> PineTimeStyleScreen();
std::unique_ptr<Screen> WatchFacePineTimeStyleScreen();
std::unique_ptr<Screen> WatchFaceTerminalScreen();
};
}

View File

@ -8,26 +8,19 @@ using namespace Pinetime::Applications::Screens;
FirmwareUpdate::FirmwareUpdate(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Ble& bleController)
: Screen(app), bleController {bleController} {
lv_obj_t* backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP);
lv_obj_set_size(backgroundLabel, 240, 240);
lv_obj_set_pos(backgroundLabel, 0, 0);
lv_label_set_text_static(backgroundLabel, "");
titleLabel = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_text(titleLabel, "Firmware update");
lv_obj_set_auto_realign(titleLabel, true);
lv_label_set_text_static(titleLabel, "Firmware update");
lv_obj_align(titleLabel, nullptr, LV_ALIGN_IN_TOP_MID, 0, 50);
bar1 = lv_bar_create(lv_scr_act(), nullptr);
lv_obj_set_size(bar1, 200, 30);
lv_obj_align(bar1, nullptr, LV_ALIGN_CENTER, 0, 0);
lv_bar_set_anim_time(bar1, 10);
lv_bar_set_range(bar1, 0, 100);
lv_bar_set_range(bar1, 0, 1000);
lv_bar_set_value(bar1, 0, LV_ANIM_OFF);
percentLabel = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_text(percentLabel, "Waiting...");
lv_label_set_text_static(percentLabel, "Waiting...");
lv_label_set_recolor(percentLabel, true);
lv_obj_set_auto_realign(percentLabel, true);
lv_obj_align(percentLabel, bar1, LV_ALIGN_OUT_TOP_MID, 0, 60);
taskRefresh = lv_task_create(RefreshTaskCallback, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this);
@ -55,8 +48,9 @@ void FirmwareUpdate::Refresh() {
}
break;
case Pinetime::Controllers::Ble::FirmwareUpdateStates::Running:
if (state != States::Running)
if (state != States::Running) {
state = States::Running;
}
DisplayProgression();
break;
case Pinetime::Controllers::Ble::FirmwareUpdateStates::Validated:
@ -78,23 +72,21 @@ void FirmwareUpdate::Refresh() {
}
void FirmwareUpdate::DisplayProgression() const {
float current = bleController.FirmwareUpdateCurrentBytes() / 1024.0f;
float total = bleController.FirmwareUpdateTotalBytes() / 1024.0f;
int16_t pc = (current / total) * 100.0f;
sprintf(percentStr, "%d %%", pc);
lv_label_set_text(percentLabel, percentStr);
const uint32_t current = bleController.FirmwareUpdateCurrentBytes();
const uint32_t total = bleController.FirmwareUpdateTotalBytes();
const int16_t permille = current / (total / 1000);
lv_bar_set_value(bar1, pc, LV_ANIM_OFF);
lv_label_set_text_fmt(percentLabel, "%d %%", permille / 10);
lv_bar_set_value(bar1, permille, LV_ANIM_OFF);
}
void FirmwareUpdate::UpdateValidated() {
lv_label_set_recolor(percentLabel, true);
lv_label_set_text(percentLabel, "#00ff00 Image Ok!#");
lv_label_set_text_static(percentLabel, "#00ff00 Image Ok!#");
}
void FirmwareUpdate::UpdateError() {
lv_label_set_recolor(percentLabel, true);
lv_label_set_text(percentLabel, "#ff0000 Error!#");
lv_label_set_text_static(percentLabel, "#ff0000 Error!#");
startTime = xTaskGetTickCount();
}

View File

@ -24,7 +24,6 @@ namespace Pinetime {
lv_obj_t* bar1;
lv_obj_t* percentLabel;
lv_obj_t* titleLabel;
mutable char percentStr[10];
States state = States::Idle;

View File

@ -7,11 +7,10 @@
using namespace Pinetime::Applications::Screens;
namespace {
static void ButtonEventHandler(lv_obj_t* obj, lv_event_t event) {
FirmwareValidation* screen = static_cast<FirmwareValidation*>(obj->user_data);
void ButtonEventHandler(lv_obj_t* obj, lv_event_t event) {
auto* screen = static_cast<FirmwareValidation*>(obj->user_data);
screen->OnButtonEvent(obj, event);
}
}
FirmwareValidation::FirmwareValidation(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::FirmwareValidator& validator)
@ -33,16 +32,16 @@ FirmwareValidation::FirmwareValidation(Pinetime::Applications::DisplayApp* app,
lv_obj_set_width(labelIsValidated, 240);
if (validator.IsValidated())
lv_label_set_text(labelIsValidated, "You have already\n#00ff00 validated# this firmware#");
lv_label_set_text_static(labelIsValidated, "You have already\n#00ff00 validated# this firmware#");
else {
lv_label_set_text(labelIsValidated, "Please #00ff00 Validate# this version or\n#ff0000 Reset# to rollback to the previous version.");
lv_label_set_text_static(labelIsValidated, "Please #00ff00 Validate# this version or\n#ff0000 Reset# to rollback to the previous version.");
buttonValidate = lv_btn_create(lv_scr_act(), nullptr);
buttonValidate->user_data = this;
lv_obj_set_size(buttonValidate, 115, 50);
lv_obj_align(buttonValidate, NULL, LV_ALIGN_IN_BOTTOM_LEFT, 0, 0);
lv_obj_set_event_cb(buttonValidate, ButtonEventHandler);
lv_obj_set_style_local_bg_color(buttonValidate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x009900));
lv_obj_set_style_local_bg_color(buttonValidate, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x0, 0xb0, 0x0));
labelButtonValidate = lv_label_create(buttonValidate, nullptr);
lv_label_set_text_static(labelButtonValidate, "Validate");
@ -51,7 +50,7 @@ FirmwareValidation::FirmwareValidation(Pinetime::Applications::DisplayApp* app,
buttonReset->user_data = this;
lv_obj_set_size(buttonReset, 115, 50);
lv_obj_align(buttonReset, nullptr, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
lv_obj_set_style_local_bg_color(buttonReset, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x990000));
lv_obj_set_style_local_bg_color(buttonReset, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0x0, 0x0));
lv_obj_set_event_cb(buttonReset, ButtonEventHandler);
labelButtonReset = lv_label_create(buttonReset, nullptr);

View File

@ -45,7 +45,7 @@ FlashLight::FlashLight(Pinetime::Applications::DisplayApp* app,
lv_label_set_long_mode(backgroundAction, LV_LABEL_LONG_CROP);
lv_obj_set_size(backgroundAction, 240, 240);
lv_obj_set_pos(backgroundAction, 0, 0);
lv_label_set_text(backgroundAction, "");
lv_label_set_text_static(backgroundAction, "");
lv_obj_set_click(backgroundAction, true);
backgroundAction->user_data = this;
lv_obj_set_event_cb(backgroundAction, event_handler);
@ -63,11 +63,11 @@ FlashLight::~FlashLight() {
void FlashLight::SetColors() {
if (isOn) {
lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_obj_set_style_local_text_color(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_text_color(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
for (auto & i : indicators) {
lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_obj_set_style_local_bg_color(i, LV_OBJ_PART_MAIN, LV_STATE_DISABLED, LV_COLOR_WHITE);
lv_obj_set_style_local_border_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_border_color(i, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
}
} else {
lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);

View File

@ -21,8 +21,8 @@ namespace {
return "";
}
static void btnStartStopEventHandler(lv_obj_t* obj, lv_event_t event) {
HeartRate* screen = static_cast<HeartRate*>(obj->user_data);
void btnStartStopEventHandler(lv_obj_t* obj, lv_event_t event) {
auto* screen = static_cast<HeartRate*>(obj->user_data);
screen->OnStartStopEvent(event);
}
}
@ -37,20 +37,20 @@ HeartRate::HeartRate(Pinetime::Applications::DisplayApp* app,
lv_obj_set_style_local_text_font(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_76);
if (isHrRunning)
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GREEN);
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x0, 0xb0, 0x0));
else
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_label_set_text(label_hr, "000");
lv_label_set_text_static(label_hr, "000");
lv_obj_align(label_hr, nullptr, LV_ALIGN_CENTER, 0, -40);
label_bpm = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_text(label_bpm, "Heart rate BPM");
lv_label_set_text_static(label_bpm, "Heart rate BPM");
lv_obj_align(label_bpm, label_hr, LV_ALIGN_OUT_TOP_MID, 0, -20);
label_status = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_text_color(label_status, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x222222));
lv_label_set_text(label_status, ToString(Pinetime::Controllers::HeartRateController::States::NotEnoughData));
lv_obj_set_style_local_text_color(label_status, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_label_set_text_static(label_status, ToString(Pinetime::Controllers::HeartRateController::States::NotEnoughData));
lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
@ -81,13 +81,13 @@ void HeartRate::Refresh() {
case Controllers::HeartRateController::States::NoTouch:
case Controllers::HeartRateController::States::NotEnoughData:
// case Controllers::HeartRateController::States::Stopped:
lv_label_set_text(label_hr, "000");
lv_label_set_text_static(label_hr, "000");
break;
default:
lv_label_set_text_fmt(label_hr, "%03d", heartRateController.HeartRate());
}
lv_label_set_text(label_status, ToString(state));
lv_label_set_text_static(label_status, ToString(state));
lv_obj_align(label_status, label_hr, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
}
@ -97,19 +97,19 @@ void HeartRate::OnStartStopEvent(lv_event_t event) {
heartRateController.Start();
UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped);
systemTask.PushMessage(Pinetime::System::Messages::DisableSleeping);
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GREEN);
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0x0, 0xb0, 0x0));
} else {
heartRateController.Stop();
UpdateStartStopButton(heartRateController.State() != Controllers::HeartRateController::States::Stopped);
systemTask.PushMessage(Pinetime::System::Messages::EnableSleeping);
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_text_color(label_hr, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
}
}
}
void HeartRate::UpdateStartStopButton(bool isRunning) {
if (isRunning)
lv_label_set_text(label_startStop, "Stop");
lv_label_set_text_static(label_startStop, "Stop");
else
lv_label_set_text(label_startStop, "Start");
lv_label_set_text_static(label_startStop, "Start");
}

View File

@ -26,7 +26,7 @@ bool InfiniPaint::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
selectColor = LV_COLOR_MAGENTA;
break;
case 1:
selectColor = LV_COLOR_GREEN;
selectColor = LV_COLOR_MAKE(0x0, 0xb0, 0x0);
break;
case 2:
selectColor = LV_COLOR_WHITE;

View File

@ -27,7 +27,7 @@ Label::Label(uint8_t screenID, uint8_t numScreens, Pinetime::Applications::Displ
pageIndicator = lv_line_create(lv_scr_act(), NULL);
lv_obj_set_style_local_line_width(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_obj_set_style_local_line_rounded(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, true);
lv_line_set_points(pageIndicator, pageIndicatorPoints, 2);
}

View File

@ -5,11 +5,10 @@
using namespace Pinetime::Applications::Screens;
namespace {
static void ButtonEventHandler(lv_obj_t* obj, lv_event_t event) {
List* screen = static_cast<List*>(obj->user_data);
void ButtonEventHandler(lv_obj_t* obj, lv_event_t event) {
auto* screen = static_cast<List*>(obj->user_data);
screen->OnButtonEvent(obj, event);
}
}
List::List(uint8_t screenID,
@ -45,7 +44,7 @@ List::List(uint8_t screenID,
pageIndicator = lv_line_create(lv_scr_act(), NULL);
lv_obj_set_style_local_line_width(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3);
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xb0, 0xb0, 0xb0));
lv_line_set_points(pageIndicator, pageIndicatorPoints, 2);
}
@ -68,7 +67,7 @@ List::List(uint8_t screenID,
if (applications[i].application != Apps::None) {
itemApps[i] = lv_btn_create(container1, nullptr);
lv_obj_set_style_local_bg_opa(itemApps[i], LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_20);
lv_obj_set_style_local_bg_opa(itemApps[i], LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_50);
lv_obj_set_style_local_radius(itemApps[i], LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 57);
lv_obj_set_style_local_bg_color(itemApps[i], LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_AQUA);
@ -86,12 +85,6 @@ List::List(uint8_t screenID,
lv_label_set_text_fmt(labelBt, " %s", applications[i].name);
}
}
lv_obj_t* backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP);
lv_obj_set_size(backgroundLabel, LV_HOR_RES, LV_VER_RES);
lv_obj_set_pos(backgroundLabel, 0, 0);
lv_label_set_text_static(backgroundLabel, "");
}
List::~List() {

Some files were not shown because too many files have changed in this diff Show More