-сделано меню, сохранение данных
This commit is contained in:
parent
f809810017
commit
37dc5e30e8
336
car.ino
336
car.ino
|
@ -4,14 +4,32 @@
|
|||
#include <OneWire.h>
|
||||
#include <DallasTemperature.h>
|
||||
#include "button.h"
|
||||
#include <EEPROM.h>
|
||||
|
||||
//Для руссификации, нужно glcdfont.c поместить в C:\Users\USER\Documents\Arduino\libraries\Adafruit_GFX_Library. У вас путь до библиотеки может отличаться.
|
||||
|
||||
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
|
||||
|
||||
#define ONE_WIRE_BUS 2
|
||||
OneWire oneWire(ONE_WIRE_BUS);
|
||||
DallasTemperature sensors(&oneWire);
|
||||
button btn1(3); // указываем пин
|
||||
int piezoPin = 4;
|
||||
button btn1(4); // указываем пин кнокпи
|
||||
button btn2(5); // указываем пин кнокпи
|
||||
int piezoPin = 3; // пин бипера
|
||||
// моточасы по умолчанию
|
||||
int temp=0;
|
||||
struct SavedData {
|
||||
byte beeper=0; // 1 - звук кнопок есть, 0 - нет пишем в EEPROM:0
|
||||
int motoclock_motor=13200; // замена масла двигателя, пишем в EEPROM: 10
|
||||
int motoclock_kpp=26000; // замена масла МКПП, пишем в EEPROM: 20
|
||||
long motoclock_most=132000; // замена масла мосты, пишем в EEPROM: 30
|
||||
long motoclock_grm=132000; // замена масла мосты, пишем в EEPROM: 40
|
||||
};
|
||||
SavedData ee_data;
|
||||
SavedData etalon;
|
||||
long old_milis,old_milis_2;
|
||||
byte layout=0; // текущий экран 0 - температура, 1 - моточасы
|
||||
float celsius1,celsius2,celsius3;
|
||||
|
||||
const unsigned char ico_cheb [] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
|
@ -79,33 +97,323 @@ const unsigned char ico_cheb [] PROGMEM = {
|
|||
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
|
||||
};
|
||||
|
||||
void setup() {
|
||||
unsigned char i1,i2,c3;
|
||||
Serial.begin(9600);
|
||||
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
|
||||
//Serial.println(EEPROM.length());
|
||||
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
|
||||
display.cp437(true);
|
||||
display.clearDisplay();
|
||||
display.drawBitmap(0, 0, ico_cheb, 128, 64, WHITE);
|
||||
display.display();
|
||||
display.setTextColor(WHITE, BLACK);
|
||||
display.setCursor(0, 0);
|
||||
display.print("Sensors init..");
|
||||
display.print("\307\300\317\323\321\312...");
|
||||
display.display();
|
||||
display.setTextSize(2);
|
||||
delay(1000);
|
||||
sensors.begin();
|
||||
pinMode(3, OUTPUT);
|
||||
|
||||
// читаем данные из энергонезависимой памяти
|
||||
|
||||
EEPROM.get(2,ee_data);
|
||||
if (ee_data.beeper>0){
|
||||
ee_data.beeper=1;
|
||||
};
|
||||
|
||||
if ((ee_data.motoclock_motor<0) or (ee_data.motoclock_kpp<0) or (ee_data.motoclock_most<0) or (ee_data.motoclock_grm<0)){
|
||||
ee_data=etalon;
|
||||
};
|
||||
//Serial.print("motoclock_motor:");Serial.println(ee_data.motoclock_motor);
|
||||
//Serial.print("motoclock_kpp:");Serial.println(ee_data.motoclock_kpp);
|
||||
//Serial.print("motoclock_most:");Serial.println(ee_data.motoclock_most);
|
||||
//Serial.print("motoclock_grm:");Serial.println(ee_data.motoclock_grm);
|
||||
|
||||
old_milis=millis(); // засекаем время начало работы адулины
|
||||
old_milis_2=millis(); // засекаем время начало работы адулины
|
||||
|
||||
delay(2000);
|
||||
//MainMenu();
|
||||
}
|
||||
void beep(){
|
||||
if (ee_data.beeper==1) {
|
||||
for (int i=0; i <= 100; i++){
|
||||
digitalWrite(3, HIGH);
|
||||
delay(1);
|
||||
digitalWrite(3, LOW);
|
||||
delay(1);
|
||||
}
|
||||
} else {
|
||||
delay(500);
|
||||
}
|
||||
}
|
||||
String utf8rusNext(String source){
|
||||
int poz=0;
|
||||
while (poz<source.length()){
|
||||
poz++;
|
||||
};
|
||||
}
|
||||
String utf8rus(String source){
|
||||
int i,k;
|
||||
String target;
|
||||
unsigned char n;
|
||||
char m[2] = { '0', '\0' };
|
||||
k = source.length(); i = 0;
|
||||
while (i < k) {
|
||||
n = source[i]; i++;
|
||||
if (n >= 0xC0) {
|
||||
switch (n) {
|
||||
case 0xD0: {
|
||||
n = source[i]; i++;
|
||||
if (n == 0x81) { n = 0xA8; break; }
|
||||
if (n >= 0x90 && n <= 0xBF) n = n + 0x30;
|
||||
break;
|
||||
}
|
||||
case 0xD1: {
|
||||
n = source[i]; i++;
|
||||
if (n == 0x91) { n = 0xB8; break; }
|
||||
if (n >= 0x80 && n <= 0x8F) n = n + 0x70;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
m[0] = n; target = target + String(m);
|
||||
}
|
||||
return target;
|
||||
}
|
||||
void PutMenu_1(byte curpoz){
|
||||
display.cp437(true);
|
||||
display.clearDisplay();
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(WHITE);
|
||||
display.setCursor(0,0);
|
||||
for (int i=0; i <= 3; i++){
|
||||
if (curpoz==i){
|
||||
display.print(("> "));
|
||||
}
|
||||
if (i==0){display.println("Motoclock");};
|
||||
if (i==1){display.println("Sound");};
|
||||
if (i==2){display.println("Light");};
|
||||
if (i==3){display.println("Exit");};
|
||||
|
||||
}
|
||||
display.display();
|
||||
};
|
||||
void PutMenu_2(byte curpoz){
|
||||
display.cp437(true);
|
||||
display.clearDisplay();
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(WHITE);
|
||||
display.setCursor(0,0);
|
||||
for (int i=0; i <= 2; i++){
|
||||
if (curpoz==i){
|
||||
display.print(("> "));
|
||||
}
|
||||
if (i==0){display.println("\304\340\");};
|
||||
if (i==1){display.println("\315\345\362");};
|
||||
if (i==2){display.println("\302\373\365\356\344");};
|
||||
}
|
||||
display.display();
|
||||
};
|
||||
void PutMenu_3(byte curpoz){
|
||||
display.cp437(true);
|
||||
display.clearDisplay();
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(WHITE);
|
||||
display.setCursor(0,0);
|
||||
for (int i=0; i <= 4; i++){
|
||||
if (curpoz==i){
|
||||
display.print(("> "));
|
||||
}
|
||||
if (i==0){
|
||||
display.print("Reset oil:");
|
||||
display.println(ee_data.motoclock_motor);
|
||||
};
|
||||
if (i==1){
|
||||
display.print("Reset kpp:");
|
||||
display.println(ee_data.motoclock_kpp);
|
||||
};
|
||||
if (i==2){
|
||||
display.print("Reset most:");
|
||||
display.println(ee_data.motoclock_most);
|
||||
};
|
||||
if (i==3){
|
||||
display.print("Reset grm:");
|
||||
display.println(ee_data.motoclock_grm);
|
||||
};
|
||||
if (i==4){display.print("Exit");};
|
||||
}
|
||||
display.display();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
int celsius1,celsius2;
|
||||
|
||||
/*void PutMenu(String * tlist,byte msize,byte curpoz){
|
||||
display.cp437(true);
|
||||
display.clearDisplay();
|
||||
display.setTextSize(1);
|
||||
display.setTextColor(WHITE);
|
||||
display.setCursor(0,0);
|
||||
for (int i=0; i <= msize; i++){
|
||||
if (curpoz==i){
|
||||
display.print(("> "));
|
||||
}
|
||||
display.println((tlist[i]));
|
||||
}
|
||||
display.display();
|
||||
}
|
||||
*/
|
||||
byte MainMenu(){
|
||||
byte curpoz=0;
|
||||
PutMenu_1(curpoz);
|
||||
while(true){
|
||||
if (btn1.click()) {
|
||||
curpoz=curpoz+1;
|
||||
if (curpoz>3){curpoz=0;};
|
||||
PutMenu_1(curpoz);
|
||||
beep();
|
||||
};
|
||||
if (btn2.click()) {
|
||||
beep();
|
||||
return curpoz;
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
// отобразить текущий экран
|
||||
// refresh true/false - стереть всё предварительно
|
||||
// lay - экарн. 0 - температура, 1 - моточасы
|
||||
void LayoutScreen(boolean refresh,byte lay){
|
||||
if (lay==0){
|
||||
if (refresh==true){
|
||||
display.clearDisplay();
|
||||
display.drawBitmap(0, 0, ico_cheb, 128, 64, WHITE);
|
||||
display.display();
|
||||
};
|
||||
display.setTextColor(WHITE, BLACK);
|
||||
display.setCursor(0, 0);
|
||||
display.print("\323\353:");display.print(celsius1);
|
||||
display.setCursor(0, 10);
|
||||
display.print("\314\370:");display.print(celsius2);
|
||||
display.setCursor(0, 20);
|
||||
display.print("\304\342:");display.print(celsius3);
|
||||
} else {
|
||||
if (refresh==true){
|
||||
display.clearDisplay();
|
||||
display.drawBitmap(0, 0, ico_cheb, 128, 64, WHITE);
|
||||
display.display();
|
||||
};
|
||||
display.setTextColor(WHITE, BLACK);
|
||||
display.setCursor(0, 0);
|
||||
display.print("\314\340\361\353\356:");display.print(ee_data.motoclock_motor/60);display.print("\367");
|
||||
display.setCursor(0, 10);
|
||||
display.print("\312\317\317:");display.print(ee_data.motoclock_kpp/60);display.print("\367");
|
||||
display.setCursor(0, 20);
|
||||
display.print("\314\356\361\362:");display.print(ee_data.motoclock_most/60);display.print("\367");
|
||||
display.setCursor(0, 30);
|
||||
display.print("\303\320\314:");display.print(ee_data.motoclock_grm/60);display.print("\367");
|
||||
};
|
||||
}
|
||||
|
||||
byte MotoChange(){
|
||||
byte curpoz=0;
|
||||
PutMenu_3(curpoz);
|
||||
while(true){
|
||||
if (btn1.click()) {
|
||||
curpoz=curpoz+1;
|
||||
if (curpoz>4){curpoz=0;};
|
||||
PutMenu_3(curpoz);
|
||||
beep();
|
||||
};
|
||||
if (btn2.click()) {
|
||||
beep();
|
||||
return curpoz;
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
byte YesNo(){
|
||||
byte curpoz=0;
|
||||
PutMenu_2(curpoz);
|
||||
while(true){
|
||||
if (btn1.click()) {
|
||||
curpoz=curpoz+1;
|
||||
if (curpoz>2){curpoz=0;};
|
||||
PutMenu_2(curpoz);
|
||||
beep();
|
||||
};
|
||||
if (btn2.click()) {
|
||||
beep();
|
||||
return curpoz;
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
void loop() {
|
||||
sensors.requestTemperatures();
|
||||
celsius1=sensors.getTempCByIndex(0);
|
||||
Serial.println("t1="+String(celsius1));
|
||||
celsius2=sensors.getTempCByIndex(1);
|
||||
celsius3=sensors.getTempCByIndex(2);
|
||||
//Serial.println("t1="+String(celsius1));
|
||||
//Serial.println("t2="+String(celsius2));
|
||||
|
||||
display.setTextColor(WHITE, BLACK);
|
||||
display.setCursor(16, 10);
|
||||
display.print(String(celsius1)+"c");
|
||||
|
||||
if (millis()-old_milis_2>1000){
|
||||
old_milis_2=millis();
|
||||
LayoutScreen(false,layout);
|
||||
//Serial.println("refresh screen");
|
||||
}
|
||||
|
||||
|
||||
if (millis()-old_milis>60000){
|
||||
old_milis=millis();
|
||||
Serial.println("timer! save data to eerom");
|
||||
if (ee_data.motoclock_motor>0){ee_data.motoclock_motor=ee_data.motoclock_motor-1;};
|
||||
if (ee_data.motoclock_kpp>0){ee_data.motoclock_kpp=ee_data.motoclock_kpp-1;};
|
||||
if (ee_data.motoclock_most>0){ee_data.motoclock_most=ee_data.motoclock_most-1;};
|
||||
if (ee_data.motoclock_grm>0){ee_data.motoclock_grm=ee_data.motoclock_grm-1;};
|
||||
EEPROM.put(2,ee_data);
|
||||
}
|
||||
|
||||
if (btn1.click()) {
|
||||
Serial.println("press 1");
|
||||
tone(piezoPin, 1000, 500);
|
||||
beep();
|
||||
byte res=MainMenu();
|
||||
if (res==1){
|
||||
byte ress=YesNo();
|
||||
//Serial.println("return YesNo:="+String(ress));
|
||||
if (ress==0){ee_data.beeper=1;};
|
||||
if (ress==1){ee_data.beeper=0;};
|
||||
EEPROM.put(2,ee_data);
|
||||
};
|
||||
if (res==0){
|
||||
byte ress=MotoChange();
|
||||
if (ress==0){
|
||||
byte ressyn=YesNo();
|
||||
if (ress==0){ee_data.motoclock_motor=etalon.motoclock_motor;EEPROM.put(2,ee_data);};
|
||||
};
|
||||
if (ress==1){
|
||||
byte ressyn=YesNo();
|
||||
if (ress==0){ee_data.motoclock_kpp=etalon.motoclock_kpp;EEPROM.put(2,ee_data);};
|
||||
};
|
||||
if (ress==2){
|
||||
byte ressyn=YesNo();
|
||||
if (ress==0){ee_data.motoclock_most=etalon.motoclock_most;EEPROM.put(2,ee_data);};
|
||||
};
|
||||
if (ress==3){
|
||||
byte ressyn=YesNo();
|
||||
if (ress==0){ee_data.motoclock_grm=etalon.motoclock_grm;EEPROM.put(2,ee_data);};
|
||||
};
|
||||
|
||||
};
|
||||
LayoutScreen(true,layout);
|
||||
}
|
||||
|
||||
if (btn2.click()) {
|
||||
layout=layout+1;
|
||||
if (layout>1){layout=0;};
|
||||
LayoutScreen(true,layout);
|
||||
beep();
|
||||
}
|
||||
|
||||
display.display();
|
||||
|
|
|
@ -0,0 +1,273 @@
|
|||
#ifndef FONT5X7_H
|
||||
#define FONT5X7_H
|
||||
|
||||
#ifdef __AVR__
|
||||
#include <avr/io.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#elif defined(ESP8266)
|
||||
#include <pgmspace.h>
|
||||
#else
|
||||
#define PROGMEM
|
||||
#endif
|
||||
|
||||
// Standard ASCII 5x7 font
|
||||
|
||||
static const unsigned char font[] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x55, 0x51, 0x55, 0x3E,
|
||||
0x3E, 0x6B, 0x6F, 0x6B, 0x3E,
|
||||
0x0C, 0x1E, 0x3C, 0x1E, 0x0C,
|
||||
0x08, 0x1C, 0x3E, 0x1C, 0x08,
|
||||
0x1C, 0x4A, 0x7F, 0x4A, 0x1C,
|
||||
0x18, 0x5C, 0x7F, 0x5C, 0x18,
|
||||
0x00, 0x1C, 0x1C, 0x1C, 0x00,
|
||||
0x7F, 0x63, 0x63, 0x63, 0x7F,
|
||||
0x00, 0x1C, 0x14, 0x1C, 0x00,
|
||||
0x7F, 0x63, 0x6B, 0x63, 0x7F,
|
||||
0x30, 0x48, 0x4D, 0x33, 0x07,
|
||||
0x06, 0x29, 0x79, 0x29, 0x06,
|
||||
0x20, 0x50, 0x3F, 0x02, 0x0C,
|
||||
0x60, 0x7F, 0x05, 0x35, 0x3F,
|
||||
0x2A, 0x1C, 0x77, 0x1C, 0x2A,
|
||||
0x00, 0x7F, 0x3E, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x3E, 0x7F, 0x00,
|
||||
0x14, 0x22, 0x7F, 0x22, 0x14,
|
||||
0x00, 0x5F, 0x00, 0x5F, 0x00,
|
||||
0x06, 0x09, 0x7F, 0x01, 0x7F,
|
||||
0x4A, 0x55, 0x55, 0x55, 0x29,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x54, 0x62, 0x7F, 0x62, 0x54,
|
||||
0x08, 0x04, 0x7E, 0x04, 0x08,
|
||||
0x08, 0x10, 0x3F, 0x10, 0x08,
|
||||
0x08, 0x08, 0x2A, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x2A, 0x08, 0x08,
|
||||
0x1C, 0x10, 0x10, 0x10, 0x10,
|
||||
0x1C, 0x3E, 0x08, 0x3E, 0x1C,
|
||||
0x30, 0x3C, 0x3F, 0x3C, 0x30,
|
||||
0x06, 0x1E, 0x7E, 0x1E, 0x06,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x5F, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x07, 0x00,
|
||||
0x14, 0x7F, 0x14, 0x7F, 0x14,
|
||||
0x24, 0x2A, 0x7F, 0x2A, 0x12,
|
||||
0x23, 0x13, 0x08, 0x64, 0x62,
|
||||
0x36, 0x49, 0x56, 0x20, 0x50,
|
||||
0x00, 0x00, 0x07, 0x00, 0x00,
|
||||
0x00, 0x1C, 0x22, 0x41, 0x00,
|
||||
0x00, 0x41, 0x22, 0x1C, 0x00,
|
||||
0x14, 0x08, 0x3E, 0x08, 0x14,
|
||||
0x08, 0x08, 0x3E, 0x08, 0x08,
|
||||
0x00, 0xA0, 0x60, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x00, 0x60, 0x60, 0x00, 0x00,
|
||||
0x20, 0x10, 0x08, 0x04, 0x02,
|
||||
0x3E, 0x51, 0x49, 0x45, 0x3E,
|
||||
0x44, 0x42, 0x7F, 0x40, 0x40,
|
||||
0x42, 0x61, 0x51, 0x49, 0x46,
|
||||
0x21, 0x41, 0x45, 0x4B, 0x31,
|
||||
0x18, 0x14, 0x12, 0x7F, 0x10,
|
||||
0x27, 0x45, 0x45, 0x45, 0x39,
|
||||
0x3C, 0x4A, 0x49, 0x49, 0x30,
|
||||
0x01, 0x71, 0x09, 0x05, 0x03,
|
||||
0x36, 0x49, 0x49, 0x49, 0x36,
|
||||
0x06, 0x49, 0x49, 0x29, 0x1E,
|
||||
0x00, 0x6C, 0x6C, 0x00, 0x00,
|
||||
0x00, 0xAC, 0x6C, 0x00, 0x00,
|
||||
0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14,
|
||||
0x00, 0x41, 0x22, 0x14, 0x08,
|
||||
0x02, 0x01, 0x51, 0x09, 0x06,
|
||||
0x3E, 0x41, 0x5D, 0x55, 0x5E,
|
||||
0x7C, 0x12, 0x11, 0x12, 0x7C,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22,
|
||||
0x7F, 0x41, 0x41, 0x22, 0x1C,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x01,
|
||||
0x3E, 0x41, 0x49, 0x49, 0x7A,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F,
|
||||
0x00, 0x41, 0x7F, 0x41, 0x00,
|
||||
0x20, 0x40, 0x41, 0x3F, 0x01,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x60,
|
||||
0x7F, 0x02, 0x0C, 0x02, 0x7F,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06,
|
||||
0x3E, 0x41, 0x51, 0x21, 0x5E,
|
||||
0x7F, 0x09, 0x19, 0x29, 0x46,
|
||||
0x46, 0x49, 0x49, 0x49, 0x31,
|
||||
0x03, 0x01, 0x7F, 0x01, 0x03,
|
||||
0x3F, 0x40, 0x40, 0x40, 0x3F,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F,
|
||||
0x3F, 0x40, 0x3C, 0x40, 0x3F,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63,
|
||||
0x07, 0x08, 0x70, 0x08, 0x07,
|
||||
0x61, 0x51, 0x49, 0x45, 0x43,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x00,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20,
|
||||
0x00, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40,
|
||||
0x00, 0x01, 0x02, 0x04, 0x00,
|
||||
0x20, 0x54, 0x54, 0x54, 0x78,
|
||||
0x7F, 0x48, 0x44, 0x44, 0x38,
|
||||
0x38, 0x44, 0x44, 0x44, 0x48,
|
||||
0x38, 0x44, 0x44, 0x48, 0x7F,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18,
|
||||
0x08, 0x7E, 0x09, 0x01, 0x02,
|
||||
0x08, 0x54, 0x54, 0x58, 0x3C,
|
||||
0x7F, 0x08, 0x04, 0x04, 0x78,
|
||||
0x00, 0x44, 0x7D, 0x40, 0x00,
|
||||
0x20, 0x40, 0x44, 0x3D, 0x00,
|
||||
0x7F, 0x10, 0x10, 0x28, 0x44,
|
||||
0x00, 0x41, 0x7F, 0x40, 0x00,
|
||||
0x7C, 0x04, 0x78, 0x04, 0x78,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x78,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38,
|
||||
0x7C, 0x14, 0x14, 0x14, 0x08,
|
||||
0x08, 0x14, 0x14, 0x0C, 0x7C,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x08,
|
||||
0x48, 0x54, 0x54, 0x54, 0x24,
|
||||
0x04, 0x3F, 0x44, 0x40, 0x20,
|
||||
0x3C, 0x40, 0x40, 0x20, 0x7C,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C,
|
||||
0x3C, 0x40, 0x38, 0x40, 0x3C,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44,
|
||||
0x0C, 0x50, 0x50, 0x50, 0x3C,
|
||||
0x44, 0x64, 0x54, 0x4C, 0x44,
|
||||
0x00, 0x08, 0x36, 0x41, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x00, 0x00,
|
||||
0x00, 0x41, 0x36, 0x08, 0x00,
|
||||
0x02, 0x01, 0x02, 0x04, 0x02,
|
||||
0x70, 0x48, 0x44, 0x48, 0x70,
|
||||
0x00, 0x0E, 0x11, 0x0E, 0x00,
|
||||
0x00, 0x12, 0x1F, 0x10, 0x00,
|
||||
0x00, 0x12, 0x19, 0x16, 0x00,
|
||||
0x00, 0x11, 0x15, 0x0B, 0x00,
|
||||
0x00, 0x07, 0x04, 0x1F, 0x00,
|
||||
0x00, 0x17, 0x15, 0x09, 0x00,
|
||||
0x00, 0x0E, 0x15, 0x09, 0x00,
|
||||
0x00, 0x01, 0x1D, 0x03, 0x00,
|
||||
0x00, 0x0A, 0x15, 0x0A, 0x00,
|
||||
0x00, 0x12, 0x15, 0x0E, 0x00,
|
||||
0x00, 0x04, 0x04, 0x04, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x3E, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x3E, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x3E, 0x00, 0x3E, 0x00,
|
||||
0x3E, 0x3E, 0x00, 0x3E, 0x3E,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
|
||||
0xD0, 0xD0, 0xD0, 0xD0, 0xD0,
|
||||
0xD8, 0xD8, 0xD8, 0xD8, 0xD8,
|
||||
0xDA, 0xDA, 0xDA, 0xDA, 0xDA,
|
||||
0xDB, 0xDB, 0xDB, 0xDB, 0xDB,
|
||||
0x40, 0x00, 0x40, 0x00, 0x40,
|
||||
0x60, 0x00, 0x40, 0x00, 0x40,
|
||||
0x60, 0x00, 0x70, 0x00, 0x40,
|
||||
0x60, 0x00, 0x70, 0x00, 0x78,
|
||||
0x7C, 0x00, 0x40, 0x00, 0x40,
|
||||
0x7C, 0x00, 0x7E, 0x00, 0x40,
|
||||
0x7C, 0x00, 0x7E, 0x00, 0x7F,
|
||||
0x1C, 0x77, 0x41, 0x41, 0x41,
|
||||
0x41, 0x41, 0x41, 0x41, 0x41,
|
||||
0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x1C, 0x77, 0x41, 0x5D, 0x5D,
|
||||
0x41, 0x41, 0x41, 0x5D, 0x5D,
|
||||
0x5D, 0x5D, 0x41, 0x5D, 0x5D,
|
||||
0x5D, 0x5D, 0x41, 0x7F, 0x00,
|
||||
0x22, 0x1C, 0x14, 0x1C, 0x22,
|
||||
0x00, 0x08, 0x1C, 0x08, 0x00,
|
||||
0x00, 0x00, 0x77, 0x00, 0x00,
|
||||
0x46, 0x5D, 0x55, 0x5D, 0x31,
|
||||
0x7C, 0x55, 0x54, 0x55, 0x44,
|
||||
0x08, 0x08, 0x2A, 0x08, 0x08,
|
||||
0x00, 0x14, 0x08, 0x14, 0x00,
|
||||
0x08, 0x14, 0x22, 0x08, 0x14,
|
||||
0x7F, 0x41, 0x71, 0x31, 0x1F,
|
||||
0x03, 0x05, 0x7F, 0x05, 0x03,
|
||||
0x22, 0x14, 0x7F, 0x55, 0x22,
|
||||
0x02, 0x55, 0x7D, 0x05, 0x02,
|
||||
0x06, 0x09, 0x09, 0x06, 0x00,
|
||||
0x44, 0x44, 0x5F, 0x44, 0x44,
|
||||
0x1C, 0x14, 0x1C, 0x22, 0x7F,
|
||||
0x20, 0x3E, 0x61, 0x3E, 0x20,
|
||||
0x20, 0x50, 0x3F, 0x02, 0x0C,
|
||||
0x80, 0x7C, 0x20, 0x3C, 0x40,
|
||||
0x44, 0x3C, 0x04, 0x7C, 0x44,
|
||||
0x00, 0x00, 0x08, 0x00, 0x00,
|
||||
0x38, 0x55, 0x54, 0x55, 0x18,
|
||||
0x7E, 0x08, 0x10, 0x7F, 0x01,
|
||||
0x08, 0x10, 0x08, 0x04, 0x02,
|
||||
0x14, 0x08, 0x22, 0x14, 0x08,
|
||||
0x0E, 0x06, 0x0A, 0x10, 0x20,
|
||||
0x20, 0x10, 0x0A, 0x06, 0x0E,
|
||||
0x38, 0x30, 0x28, 0x04, 0x02,
|
||||
0x02, 0x04, 0x28, 0x30, 0x38,
|
||||
0x7E, 0x11, 0x11, 0x11, 0x7E,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x31,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36,
|
||||
0x7F, 0x01, 0x01, 0x01, 0x03,
|
||||
0xC0, 0x7F, 0x41, 0x7F, 0xC0,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41,
|
||||
0x77, 0x08, 0x7F, 0x08, 0x77,
|
||||
0x41, 0x49, 0x49, 0x49, 0x36,
|
||||
0x7F, 0x10, 0x08, 0x04, 0x7F,
|
||||
0x7C, 0x21, 0x12, 0x09, 0x7C,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41,
|
||||
0x40, 0x3E, 0x01, 0x01, 0x7F,
|
||||
0x7F, 0x02, 0x0C, 0x02, 0x7F,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E,
|
||||
0x7F, 0x01, 0x01, 0x01, 0x7F,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22,
|
||||
0x01, 0x01, 0x7F, 0x01, 0x01,
|
||||
0x07, 0x48, 0x48, 0x48, 0x3F,
|
||||
0x0E, 0x11, 0x7F, 0x11, 0x0E,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63,
|
||||
0x7F, 0x40, 0x40, 0x7F, 0xC0,
|
||||
0x07, 0x08, 0x08, 0x08, 0x7F,
|
||||
0x7F, 0x40, 0x7F, 0x40, 0x7F,
|
||||
0x7F, 0x40, 0x7F, 0x40, 0xFF,
|
||||
0x01, 0x7F, 0x48, 0x48, 0x30,
|
||||
0x7F, 0x48, 0x48, 0x30, 0x7F,
|
||||
0x7F, 0x48, 0x48, 0x48, 0x30,
|
||||
0x22, 0x41, 0x49, 0x49, 0x3E,
|
||||
0x7F, 0x08, 0x3E, 0x41, 0x3E,
|
||||
0x46, 0x29, 0x19, 0x09, 0x7F,
|
||||
0x20, 0x54, 0x54, 0x54, 0x78,
|
||||
0x3C, 0x4A, 0x4A, 0x49, 0x31,
|
||||
0x7C, 0x54, 0x54, 0x54, 0x28,
|
||||
0x7C, 0x04, 0x04, 0x04, 0x0C,
|
||||
0xC0, 0x78, 0x44, 0x7C, 0xC0,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18,
|
||||
0x6C, 0x10, 0x7C, 0x10, 0x6C,
|
||||
0x44, 0x54, 0x54, 0x54, 0x28,
|
||||
0x7C, 0x20, 0x10, 0x08, 0x7C,
|
||||
0x7C, 0x40, 0x26, 0x10, 0x7C,
|
||||
0x7C, 0x10, 0x10, 0x28, 0x44,
|
||||
0x40, 0x38, 0x04, 0x04, 0x7C,
|
||||
0x7C, 0x08, 0x10, 0x08, 0x7C,
|
||||
0x7C, 0x10, 0x10, 0x10, 0x7C,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38,
|
||||
0x7C, 0x04, 0x04, 0x04, 0x7C,
|
||||
0x7C, 0x14, 0x14, 0x14, 0x08,
|
||||
0x38, 0x44, 0x44, 0x44, 0x48,
|
||||
0x04, 0x04, 0x7C, 0x04, 0x04,
|
||||
0x0C, 0x50, 0x50, 0x50, 0x3C,
|
||||
0x18, 0x24, 0xFC, 0x24, 0x18,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44,
|
||||
0x7C, 0x40, 0x40, 0x7C, 0xC0,
|
||||
0x0C, 0x10, 0x10, 0x10, 0x7C,
|
||||
0x7C, 0x40, 0x7C, 0x40, 0x7C,
|
||||
0x7C, 0x40, 0x7C, 0x40, 0xFC,
|
||||
0x04, 0x7C, 0x50, 0x50, 0x20,
|
||||
0x7C, 0x50, 0x50, 0x20, 0x7C,
|
||||
0x7C, 0x50, 0x50, 0x50, 0x20,
|
||||
0x28, 0x44, 0x54, 0x54, 0x38,
|
||||
0x7C, 0x10, 0x38, 0x44, 0x38,
|
||||
0x48, 0x34, 0x14, 0x14, 0x7C
|
||||
};
|
||||
#endif // FONT5X7_H
|
Loading…
Reference in New Issue