-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit fc61c14
Showing
14 changed files
with
1,542 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
build/ | ||
sdkconfig | ||
sdkconfig.old |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# For more information about build system see | ||
# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html | ||
# The following five lines of boilerplate have to be in your project's | ||
# CMakeLists in this exact order for cmake to work correctly | ||
cmake_minimum_required(VERSION 3.5) | ||
|
||
include($ENV{IDF_PATH}/tools/cmake/project.cmake) | ||
project(WeatherStation) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# _Sample project_ | ||
|
||
(See the README.md file in the upper level 'examples' directory for more information about examples.) | ||
|
||
This is the simplest buildable example. The example is used by command `idf.py create-project` | ||
that copies the project to user specified path and set it's name. For more information follow the [docs page](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html#start-a-new-project) | ||
|
||
|
||
|
||
## How to use example | ||
We encourage the users to use the example as a template for the new projects. | ||
A recommended way is to follow the instructions on a [docs page](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html#start-a-new-project). | ||
|
||
## Example folder contents | ||
|
||
The project **sample_project** contains one source file in C language [main.c](main/main.c). The file is located in folder [main](main). | ||
|
||
ESP-IDF projects are built using CMake. The project build configuration is contained in `CMakeLists.txt` | ||
files that provide set of directives and instructions describing the project's source files and targets | ||
(executable, library, or both). | ||
|
||
Below is short explanation of remaining files in the project folder. | ||
|
||
``` | ||
├── CMakeLists.txt | ||
├── main | ||
│ ├── CMakeLists.txt | ||
│ └── main.c | ||
└── README.md This is the file you are currently reading | ||
``` | ||
Additionally, the sample project contains Makefile and component.mk files, used for the legacy Make based build system. | ||
They are not used or needed when building with CMake and idf.py. |
Submodule esp-idf-json
added at
250f49
Submodule esp32-wifi-manager
added at
ab6ac9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# idf_component_register(SRCS "ssd1306.c" | ||
# INCLUDE_DIRS "." | ||
# REQUIRES ) | ||
set(COMPONENT_SRCS ssd1306.c ssd1306_i2c.c ssd1306_spi.c) | ||
set(COMPONENT_ADD_INCLUDEDIRS ".") | ||
register_component() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
menu "SSD1306 Configuration" | ||
|
||
choice INTERFACE | ||
prompt "Interface" | ||
default I2C_INTERFACE | ||
help | ||
Select Interface. | ||
config I2C_INTERFACE | ||
bool "I2C Interface" | ||
help | ||
I2C Interface. | ||
config SPI_INTERFACE | ||
bool "SPI Interface" | ||
help | ||
SPI Interface. | ||
endchoice | ||
|
||
choice PANEL | ||
prompt "Panel Type" | ||
default SSD1306_128x64 | ||
help | ||
Select Panel Type. | ||
config SSD1306_128x32 | ||
bool "128x32 Panel" | ||
help | ||
Panel is 128x32. | ||
config SSD1306_128x64 | ||
bool "128x64 Panel" | ||
help | ||
Panel is 128x64. | ||
endchoice | ||
|
||
config OFFSETX | ||
int "GRAM X OFFSET" | ||
range 0 99 | ||
default 0 | ||
help | ||
When your TFT have offset(X), set it. | ||
|
||
config FLIP | ||
bool "Flip upside down" | ||
default false | ||
help | ||
Flip upside down. | ||
|
||
config SCL_GPIO | ||
depends on I2C_INTERFACE | ||
int "SCL GPIO number" | ||
range 0 46 | ||
default 22 if IDF_TARGET_ESP32 | ||
default 12 if IDF_TARGET_ESP32S2 | ||
default 9 if IDF_TARGET_ESP32C3 | ||
help | ||
GPIO number (IOxx) to I2C SCL. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to I2C. | ||
GPIOs 35-39 are input-only so cannot be used as outputs. | ||
|
||
config SDA_GPIO | ||
depends on I2C_INTERFACE | ||
int "SDA GPIO number" | ||
range 0 46 | ||
default 21 if IDF_TARGET_ESP32 | ||
default 11 if IDF_TARGET_ESP32S2 | ||
default 10 if IDF_TARGET_ESP32C3 | ||
help | ||
GPIO number (IOxx) to I2C SDA. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to I2C. | ||
GPIOs 35-39 are input-only so cannot be used as outputs. | ||
|
||
config RESET_GPIO | ||
int "RESET GPIO number" | ||
range -1 46 | ||
default -1 | ||
help | ||
GPIO number (IOxx) to RESET. | ||
When it is -1, RESET isn't performed. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to Reset. | ||
GPIOs 35-39 are input-only so cannot be used as outputs. | ||
|
||
config MOSI_GPIO | ||
depends on SPI_INTERFACE | ||
int "MOSI GPIO number" | ||
range 0 46 | ||
default 23 if IDF_TARGET_ESP32 | ||
default 35 if IDF_TARGET_ESP32S2 | ||
default 0 if IDF_TARGET_ESP32C3 | ||
help | ||
GPIO number (IOxx) to SPI MOSI. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to DC. | ||
On the ESP32, GPIOs 35-39 are input-only so cannot be used as outputs. | ||
On the ESP32-S2, GPIO 46 is input-only so cannot be used as outputs. | ||
|
||
config SCLK_GPIO | ||
depends on SPI_INTERFACE | ||
int "SCLK GPIO number" | ||
range 0 46 | ||
default 18 if IDF_TARGET_ESP32 | ||
default 36 if IDF_TARGET_ESP32S2 | ||
default 1 if IDF_TARGET_ESP32C3 | ||
help | ||
GPIO number (IOxx) to SPI SCLK. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to DC. | ||
On the ESP32, GPIOs 35-39 are input-only so cannot be used as outputs. | ||
On the ESP32-S2, GPIO 46 is input-only so cannot be used as outputs. | ||
|
||
config CS_GPIO | ||
depends on SPI_INTERFACE | ||
int "CS GPIO number" | ||
range 0 34 | ||
default 5 if IDF_TARGET_ESP32 | ||
default 34 if IDF_TARGET_ESP32S2 | ||
default 10 if IDF_TARGET_ESP32C3 | ||
help | ||
GPIO number (IOxx) to SPI CS. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to CS. | ||
GPIOs 35-39 are input-only so cannot be used as outputs. | ||
|
||
config DC_GPIO | ||
depends on SPI_INTERFACE | ||
int "DC GPIO number" | ||
range 0 34 | ||
default 2 | ||
help | ||
GPIO number (IOxx) to SPI DC. | ||
Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to DC. | ||
GPIOs 35-39 are input-only so cannot be used as outputs. | ||
|
||
|
||
endmenu | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
/* | ||
* font8x8_basic.h | ||
* | ||
* Created on: 2017/05/03 | ||
* Author: yanbe | ||
*/ | ||
|
||
#ifndef MAIN_FONT8X8_BASIC_H_ | ||
#define MAIN_FONT8X8_BASIC_H_ | ||
|
||
/* | ||
Constant: font8x8_basic_tr | ||
Contains an 90 digree transposed 8x8 font map for unicode points | ||
U+0000 - U+007F (basic latin) | ||
To make it easy to use with SSD1306's GDDRAM mapping and API, | ||
this constant is an 90 degree transposed. | ||
The original version written by Marcel Sondaar is availble at: | ||
https://github.com/dhepper/font8x8/blob/master/font8x8_basic.h | ||
Conversion is done via following procedure: | ||
for (int code = 0; code < 128; code++) { | ||
uint8_t trans[8]; | ||
for (int w = 0; w < 8; w++) { | ||
trans[w] = 0x00; | ||
for (int b = 0; b < 8; b++) { | ||
trans[w] |= ((font8x8_basic[code][b] & (1 << w)) >> w) << b; | ||
} | ||
} | ||
for (int w = 0; w < 8; w++) { | ||
if (w == 0) { printf(" { "); } | ||
printf("0x%.2X", trans[w]); | ||
if (w < 7) { printf(", "); } | ||
if (w == 7) { printf(" }, // U+00%.2X (%c)\n", code, code); } | ||
} | ||
} | ||
*/ | ||
|
||
static uint8_t font8x8_basic_tr[128][8] = { | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0000 (nul) | ||
{ 0x00, 0x04, 0x02, 0xFF, 0x02, 0x04, 0x00, 0x00 }, // U+0001 (Up Allow) | ||
{ 0x00, 0x20, 0x40, 0xFF, 0x40, 0x20, 0x00, 0x00 }, // U+0002 (Down Allow) | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0003 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0004 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0005 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0006 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0007 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0008 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0009 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+000A | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+000B | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+000C | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+000D | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+000E | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+000F | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0010 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0011 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0012 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0013 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0014 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0015 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0016 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0017 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0018 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0019 | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+001A | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+001B | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+001C | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+001D | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+001E | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+001F | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0020 (space) | ||
{ 0x00, 0x00, 0x06, 0x5F, 0x5F, 0x06, 0x00, 0x00 }, // U+0021 (!) | ||
{ 0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x00 }, // U+0022 (") | ||
{ 0x14, 0x7F, 0x7F, 0x14, 0x7F, 0x7F, 0x14, 0x00 }, // U+0023 (#) | ||
{ 0x24, 0x2E, 0x6B, 0x6B, 0x3A, 0x12, 0x00, 0x00 }, // U+0024 ($) | ||
{ 0x46, 0x66, 0x30, 0x18, 0x0C, 0x66, 0x62, 0x00 }, // U+0025 (%) | ||
{ 0x30, 0x7A, 0x4F, 0x5D, 0x37, 0x7A, 0x48, 0x00 }, // U+0026 (&) | ||
{ 0x04, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 }, // U+0027 (') | ||
{ 0x00, 0x1C, 0x3E, 0x63, 0x41, 0x00, 0x00, 0x00 }, // U+0028 (() | ||
{ 0x00, 0x41, 0x63, 0x3E, 0x1C, 0x00, 0x00, 0x00 }, // U+0029 ()) | ||
{ 0x08, 0x2A, 0x3E, 0x1C, 0x1C, 0x3E, 0x2A, 0x08 }, // U+002A (*) | ||
{ 0x08, 0x08, 0x3E, 0x3E, 0x08, 0x08, 0x00, 0x00 }, // U+002B (+) | ||
{ 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00 }, // U+002C (,) | ||
{ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00 }, // U+002D (-) | ||
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00 }, // U+002E (.) | ||
{ 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00 }, // U+002F (/) | ||
{ 0x3E, 0x7F, 0x71, 0x59, 0x4D, 0x7F, 0x3E, 0x00 }, // U+0030 (0) | ||
{ 0x40, 0x42, 0x7F, 0x7F, 0x40, 0x40, 0x00, 0x00 }, // U+0031 (1) | ||
{ 0x62, 0x73, 0x59, 0x49, 0x6F, 0x66, 0x00, 0x00 }, // U+0032 (2) | ||
{ 0x22, 0x63, 0x49, 0x49, 0x7F, 0x36, 0x00, 0x00 }, // U+0033 (3) | ||
{ 0x18, 0x1C, 0x16, 0x53, 0x7F, 0x7F, 0x50, 0x00 }, // U+0034 (4) | ||
{ 0x27, 0x67, 0x45, 0x45, 0x7D, 0x39, 0x00, 0x00 }, // U+0035 (5) | ||
{ 0x3C, 0x7E, 0x4B, 0x49, 0x79, 0x30, 0x00, 0x00 }, // U+0036 (6) | ||
{ 0x03, 0x03, 0x71, 0x79, 0x0F, 0x07, 0x00, 0x00 }, // U+0037 (7) | ||
{ 0x36, 0x7F, 0x49, 0x49, 0x7F, 0x36, 0x00, 0x00 }, // U+0038 (8) | ||
{ 0x06, 0x4F, 0x49, 0x69, 0x3F, 0x1E, 0x00, 0x00 }, // U+0039 (9) | ||
{ 0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00 }, // U+003A (:) | ||
{ 0x00, 0x80, 0xE6, 0x66, 0x00, 0x00, 0x00, 0x00 }, // U+003B (;) | ||
{ 0x08, 0x1C, 0x36, 0x63, 0x41, 0x00, 0x00, 0x00 }, // U+003C (<) | ||
{ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x00, 0x00 }, // U+003D (=) | ||
{ 0x00, 0x41, 0x63, 0x36, 0x1C, 0x08, 0x00, 0x00 }, // U+003E (>) | ||
{ 0x02, 0x03, 0x51, 0x59, 0x0F, 0x06, 0x00, 0x00 }, // U+003F (?) | ||
{ 0x3E, 0x7F, 0x41, 0x5D, 0x5D, 0x1F, 0x1E, 0x00 }, // U+0040 (@) | ||
{ 0x7C, 0x7E, 0x13, 0x13, 0x7E, 0x7C, 0x00, 0x00 }, // U+0041 (A) | ||
{ 0x41, 0x7F, 0x7F, 0x49, 0x49, 0x7F, 0x36, 0x00 }, // U+0042 (B) | ||
{ 0x1C, 0x3E, 0x63, 0x41, 0x41, 0x63, 0x22, 0x00 }, // U+0043 (C) | ||
{ 0x41, 0x7F, 0x7F, 0x41, 0x63, 0x3E, 0x1C, 0x00 }, // U+0044 (D) | ||
{ 0x41, 0x7F, 0x7F, 0x49, 0x5D, 0x41, 0x63, 0x00 }, // U+0045 (E) | ||
{ 0x41, 0x7F, 0x7F, 0x49, 0x1D, 0x01, 0x03, 0x00 }, // U+0046 (F) | ||
{ 0x1C, 0x3E, 0x63, 0x41, 0x51, 0x73, 0x72, 0x00 }, // U+0047 (G) | ||
{ 0x7F, 0x7F, 0x08, 0x08, 0x7F, 0x7F, 0x00, 0x00 }, // U+0048 (H) | ||
{ 0x00, 0x41, 0x7F, 0x7F, 0x41, 0x00, 0x00, 0x00 }, // U+0049 (I) | ||
{ 0x30, 0x70, 0x40, 0x41, 0x7F, 0x3F, 0x01, 0x00 }, // U+004A (J) | ||
{ 0x41, 0x7F, 0x7F, 0x08, 0x1C, 0x77, 0x63, 0x00 }, // U+004B (K) | ||
{ 0x41, 0x7F, 0x7F, 0x41, 0x40, 0x60, 0x70, 0x00 }, // U+004C (L) | ||
{ 0x7F, 0x7F, 0x0E, 0x1C, 0x0E, 0x7F, 0x7F, 0x00 }, // U+004D (M) | ||
{ 0x7F, 0x7F, 0x06, 0x0C, 0x18, 0x7F, 0x7F, 0x00 }, // U+004E (N) | ||
{ 0x1C, 0x3E, 0x63, 0x41, 0x63, 0x3E, 0x1C, 0x00 }, // U+004F (O) | ||
{ 0x41, 0x7F, 0x7F, 0x49, 0x09, 0x0F, 0x06, 0x00 }, // U+0050 (P) | ||
{ 0x1E, 0x3F, 0x21, 0x71, 0x7F, 0x5E, 0x00, 0x00 }, // U+0051 (Q) | ||
{ 0x41, 0x7F, 0x7F, 0x09, 0x19, 0x7F, 0x66, 0x00 }, // U+0052 (R) | ||
{ 0x26, 0x6F, 0x4D, 0x59, 0x73, 0x32, 0x00, 0x00 }, // U+0053 (S) | ||
{ 0x03, 0x41, 0x7F, 0x7F, 0x41, 0x03, 0x00, 0x00 }, // U+0054 (T) | ||
{ 0x7F, 0x7F, 0x40, 0x40, 0x7F, 0x7F, 0x00, 0x00 }, // U+0055 (U) | ||
{ 0x1F, 0x3F, 0x60, 0x60, 0x3F, 0x1F, 0x00, 0x00 }, // U+0056 (V) | ||
{ 0x7F, 0x7F, 0x30, 0x18, 0x30, 0x7F, 0x7F, 0x00 }, // U+0057 (W) | ||
{ 0x43, 0x67, 0x3C, 0x18, 0x3C, 0x67, 0x43, 0x00 }, // U+0058 (X) | ||
{ 0x07, 0x4F, 0x78, 0x78, 0x4F, 0x07, 0x00, 0x00 }, // U+0059 (Y) | ||
{ 0x47, 0x63, 0x71, 0x59, 0x4D, 0x67, 0x73, 0x00 }, // U+005A (Z) | ||
{ 0x00, 0x7F, 0x7F, 0x41, 0x41, 0x00, 0x00, 0x00 }, // U+005B ([) | ||
{ 0x01, 0x03, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00 }, // U+005C (\) | ||
{ 0x00, 0x41, 0x41, 0x7F, 0x7F, 0x00, 0x00, 0x00 }, // U+005D (]) | ||
{ 0x08, 0x0C, 0x06, 0x03, 0x06, 0x0C, 0x08, 0x00 }, // U+005E (^) | ||
{ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 }, // U+005F (_) | ||
{ 0x00, 0x00, 0x03, 0x07, 0x04, 0x00, 0x00, 0x00 }, // U+0060 (`) | ||
{ 0x20, 0x74, 0x54, 0x54, 0x3C, 0x78, 0x40, 0x00 }, // U+0061 (a) | ||
{ 0x41, 0x7F, 0x3F, 0x48, 0x48, 0x78, 0x30, 0x00 }, // U+0062 (b) | ||
{ 0x38, 0x7C, 0x44, 0x44, 0x6C, 0x28, 0x00, 0x00 }, // U+0063 (c) | ||
{ 0x30, 0x78, 0x48, 0x49, 0x3F, 0x7F, 0x40, 0x00 }, // U+0064 (d) | ||
{ 0x38, 0x7C, 0x54, 0x54, 0x5C, 0x18, 0x00, 0x00 }, // U+0065 (e) | ||
{ 0x48, 0x7E, 0x7F, 0x49, 0x03, 0x02, 0x00, 0x00 }, // U+0066 (f) | ||
{ 0x98, 0xBC, 0xA4, 0xA4, 0xF8, 0x7C, 0x04, 0x00 }, // U+0067 (g) | ||
{ 0x41, 0x7F, 0x7F, 0x08, 0x04, 0x7C, 0x78, 0x00 }, // U+0068 (h) | ||
{ 0x00, 0x44, 0x7D, 0x7D, 0x40, 0x00, 0x00, 0x00 }, // U+0069 (i) | ||
{ 0x60, 0xE0, 0x80, 0x80, 0xFD, 0x7D, 0x00, 0x00 }, // U+006A (j) | ||
{ 0x41, 0x7F, 0x7F, 0x10, 0x38, 0x6C, 0x44, 0x00 }, // U+006B (k) | ||
{ 0x00, 0x41, 0x7F, 0x7F, 0x40, 0x00, 0x00, 0x00 }, // U+006C (l) | ||
{ 0x7C, 0x7C, 0x18, 0x38, 0x1C, 0x7C, 0x78, 0x00 }, // U+006D (m) | ||
{ 0x7C, 0x7C, 0x04, 0x04, 0x7C, 0x78, 0x00, 0x00 }, // U+006E (n) | ||
{ 0x38, 0x7C, 0x44, 0x44, 0x7C, 0x38, 0x00, 0x00 }, // U+006F (o) | ||
{ 0x84, 0xFC, 0xF8, 0xA4, 0x24, 0x3C, 0x18, 0x00 }, // U+0070 (p) | ||
{ 0x18, 0x3C, 0x24, 0xA4, 0xF8, 0xFC, 0x84, 0x00 }, // U+0071 (q) | ||
{ 0x44, 0x7C, 0x78, 0x4C, 0x04, 0x1C, 0x18, 0x00 }, // U+0072 (r) | ||
{ 0x48, 0x5C, 0x54, 0x54, 0x74, 0x24, 0x00, 0x00 }, // U+0073 (s) | ||
{ 0x00, 0x04, 0x3E, 0x7F, 0x44, 0x24, 0x00, 0x00 }, // U+0074 (t) | ||
{ 0x3C, 0x7C, 0x40, 0x40, 0x3C, 0x7C, 0x40, 0x00 }, // U+0075 (u) | ||
{ 0x1C, 0x3C, 0x60, 0x60, 0x3C, 0x1C, 0x00, 0x00 }, // U+0076 (v) | ||
{ 0x3C, 0x7C, 0x70, 0x38, 0x70, 0x7C, 0x3C, 0x00 }, // U+0077 (w) | ||
{ 0x44, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0x44, 0x00 }, // U+0078 (x) | ||
{ 0x9C, 0xBC, 0xA0, 0xA0, 0xFC, 0x7C, 0x00, 0x00 }, // U+0079 (y) | ||
{ 0x4C, 0x64, 0x74, 0x5C, 0x4C, 0x64, 0x00, 0x00 }, // U+007A (z) | ||
{ 0x08, 0x08, 0x3E, 0x77, 0x41, 0x41, 0x00, 0x00 }, // U+007B ({) | ||
{ 0x00, 0x00, 0x00, 0x77, 0x77, 0x00, 0x00, 0x00 }, // U+007C (|) | ||
{ 0x41, 0x41, 0x77, 0x3E, 0x08, 0x08, 0x00, 0x00 }, // U+007D (}) | ||
{ 0x02, 0x03, 0x01, 0x03, 0x02, 0x03, 0x01, 0x00 }, // U+007E (~) | ||
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } // U+007F | ||
}; | ||
|
||
#endif /* MAIN_FONT8X8_BASIC_H_ */ | ||
|
||
|
Oops, something went wrong.