Compare commits
No commits in common. 'log-lin-text' and 'master' have entirely different histories.
log-lin-te
...
master
@ -1,108 +0,0 @@ |
|||||||
#ifndef FONT_H |
|
||||||
#define FONT_H |
|
||||||
|
|
||||||
#define FONT_MIN ' ' |
|
||||||
#define FONT_MAX '~' |
|
||||||
|
|
||||||
#define FONT_WIDTH 6 |
|
||||||
|
|
||||||
const unsigned char font[96][6] = { |
|
||||||
{0x00,0x00,0x00,0x00,0x00,0x00}, //
|
|
||||||
{0x5c,0x00,0x00,0x00,0x00,0x00}, // !
|
|
||||||
{0x06,0x00,0x06,0x00,0x00,0x00}, // "
|
|
||||||
{0x28,0x7c,0x28,0x7c,0x28,0x00}, // #
|
|
||||||
{0x5c,0x54,0xfe,0x54,0x74,0x00}, // $
|
|
||||||
{0x44,0x20,0x10,0x08,0x44,0x00}, // %
|
|
||||||
{0x28,0x54,0x54,0x20,0x50,0x00}, // &
|
|
||||||
{0x06,0x00,0x00,0x00,0x00,0x00}, // '
|
|
||||||
{0x38,0x44,0x00,0x00,0x00,0x00}, // (
|
|
||||||
{0x44,0x38,0x00,0x00,0x00,0x00}, // )
|
|
||||||
{0x02,0x07,0x02,0x00,0x00,0x00}, // *
|
|
||||||
{0x10,0x10,0x7c,0x10,0x10,0x00}, // +
|
|
||||||
{0xc0,0x00,0x00,0x00,0x00,0x00}, // ,
|
|
||||||
{0x10,0x10,0x10,0x10,0x10,0x00}, // -
|
|
||||||
{0x40,0x00,0x00,0x00,0x00,0x00}, // .
|
|
||||||
{0x60,0x10,0x0c,0x00,0x00,0x00}, // /
|
|
||||||
{0x7c,0x64,0x54,0x4c,0x7c,0x00}, // 0
|
|
||||||
{0x48,0x7c,0x40,0x00,0x00,0x00}, // 1
|
|
||||||
{0x64,0x54,0x54,0x54,0x48,0x00}, // 2
|
|
||||||
{0x44,0x54,0x54,0x54,0x6c,0x00}, // 3
|
|
||||||
{0x3c,0x20,0x70,0x20,0x20,0x00}, // 4
|
|
||||||
{0x5c,0x54,0x54,0x54,0x24,0x00}, // 5
|
|
||||||
{0x7c,0x54,0x54,0x54,0x74,0x00}, // 6
|
|
||||||
{0x04,0x04,0x64,0x14,0x0c,0x00}, // 7
|
|
||||||
{0x7c,0x54,0x54,0x54,0x7c,0x00}, // 8
|
|
||||||
{0x5c,0x54,0x54,0x54,0x7c,0x00}, // 9
|
|
||||||
{0x44,0x00,0x00,0x00,0x00,0x00}, // :
|
|
||||||
{0xc4,0x00,0x00,0x00,0x00,0x00}, // ;
|
|
||||||
{0x10,0x28,0x44,0x00,0x00,0x00}, // <
|
|
||||||
{0x28,0x28,0x28,0x28,0x28,0x00}, // =
|
|
||||||
{0x44,0x28,0x10,0x00,0x00,0x00}, // >
|
|
||||||
{0x08,0x04,0x54,0x08,0x00,0x00}, // ?
|
|
||||||
{0x7c,0x44,0x54,0x54,0x5c,0x00}, // @
|
|
||||||
{0x7c,0x24,0x24,0x24,0x7c,0x00}, // A
|
|
||||||
{0x7c,0x54,0x54,0x54,0x6c,0x00}, // B
|
|
||||||
{0x7c,0x44,0x44,0x44,0x44,0x00}, // C
|
|
||||||
{0x7c,0x44,0x44,0x44,0x38,0x00}, // D
|
|
||||||
{0x7c,0x54,0x54,0x54,0x44,0x00}, // E
|
|
||||||
{0x7c,0x14,0x14,0x14,0x04,0x00}, // F
|
|
||||||
{0x7c,0x44,0x44,0x54,0x74,0x00}, // G
|
|
||||||
{0x7c,0x10,0x10,0x10,0x7c,0x00}, // H
|
|
||||||
{0x44,0x44,0x7c,0x44,0x44,0x00}, // I
|
|
||||||
{0x60,0x40,0x40,0x44,0x7c,0x00}, // J
|
|
||||||
{0x7c,0x10,0x10,0x28,0x44,0x00}, // K
|
|
||||||
{0x7c,0x40,0x40,0x40,0x40,0x00}, // L
|
|
||||||
{0x7c,0x08,0x10,0x08,0x7c,0x00}, // M
|
|
||||||
{0x7c,0x08,0x10,0x20,0x7c,0x00}, // N
|
|
||||||
{0x38,0x44,0x44,0x44,0x38,0x00}, // O
|
|
||||||
{0x7c,0x14,0x14,0x14,0x08,0x00}, // P
|
|
||||||
{0x3c,0x24,0x64,0x24,0x3c,0x00}, // Q
|
|
||||||
{0x7c,0x14,0x14,0x14,0x68,0x00}, // R
|
|
||||||
{0x5c,0x54,0x54,0x54,0x74,0x00}, // S
|
|
||||||
{0x04,0x04,0x7c,0x04,0x04,0x00}, // T
|
|
||||||
{0x7c,0x40,0x40,0x40,0x7c,0x00}, // U
|
|
||||||
{0x0c,0x30,0x40,0x30,0x0c,0x00}, // V
|
|
||||||
{0x3c,0x40,0x30,0x40,0x3c,0x00}, // W
|
|
||||||
{0x44,0x28,0x10,0x28,0x44,0x00}, // X
|
|
||||||
{0x0c,0x10,0x60,0x10,0x0c,0x00}, // Y
|
|
||||||
{0x44,0x64,0x54,0x4c,0x44,0x00}, // Z
|
|
||||||
{0x7c,0x44,0x00,0x00,0x00,0x00}, // [
|
|
||||||
{0x0c,0x10,0x60,0x00,0x00,0x00}, // "\"
|
|
||||||
{0x44,0x7c,0x00,0x00,0x00,0x00}, // ]
|
|
||||||
{0x00,0x01,0x00,0x01,0x00,0x00}, // ^
|
|
||||||
{0x40,0x40,0x40,0x40,0x40,0x40}, // _
|
|
||||||
{0x00,0x01,0x00,0x00,0x00,0x00}, // `
|
|
||||||
{0x7c,0x24,0x24,0x24,0x7c,0x00}, // a
|
|
||||||
{0x7c,0x54,0x54,0x54,0x6c,0x00}, // b
|
|
||||||
{0x7c,0x44,0x44,0x44,0x44,0x00}, // c
|
|
||||||
{0x7c,0x44,0x44,0x44,0x38,0x00}, // d
|
|
||||||
{0x7c,0x54,0x54,0x54,0x44,0x00}, // e
|
|
||||||
{0x7c,0x14,0x14,0x14,0x04,0x00}, // f
|
|
||||||
{0x7c,0x44,0x44,0x54,0x74,0x00}, // g
|
|
||||||
{0x7c,0x10,0x10,0x10,0x7c,0x00}, // h
|
|
||||||
{0x44,0x44,0x7c,0x44,0x44,0x00}, // i
|
|
||||||
{0x60,0x40,0x40,0x44,0x7c,0x00}, // j
|
|
||||||
{0x7c,0x10,0x10,0x28,0x44,0x00}, // k
|
|
||||||
{0x7c,0x40,0x40,0x40,0x40,0x00}, // l
|
|
||||||
{0x7c,0x08,0x10,0x08,0x7c,0x00}, // m
|
|
||||||
{0x7c,0x08,0x10,0x20,0x7c,0x00}, // n
|
|
||||||
{0x38,0x44,0x44,0x44,0x38,0x00}, // o
|
|
||||||
{0x7c,0x14,0x14,0x14,0x08,0x00}, // p
|
|
||||||
{0x3c,0x24,0x64,0x24,0x3c,0x00}, // q
|
|
||||||
{0x7c,0x14,0x14,0x14,0x68,0x00}, // r
|
|
||||||
{0x5c,0x54,0x54,0x54,0x74,0x00}, // s
|
|
||||||
{0x04,0x04,0x7c,0x04,0x04,0x00}, // t
|
|
||||||
{0x7c,0x40,0x40,0x40,0x7c,0x00}, // u
|
|
||||||
{0x0c,0x30,0x40,0x30,0x0c,0x00}, // v
|
|
||||||
{0x3c,0x40,0x30,0x40,0x3c,0x00}, // w
|
|
||||||
{0x44,0x28,0x10,0x28,0x44,0x00}, // x
|
|
||||||
{0x0c,0x10,0x60,0x10,0x0c,0x00}, // y
|
|
||||||
{0x44,0x64,0x54,0x4c,0x44,0x00}, // z
|
|
||||||
{0x10,0x7c,0x44,0x00,0x00,0x00}, // {
|
|
||||||
{0x6c,0x00,0x00,0x00,0x00,0x00}, // |
|
|
||||||
{0x44,0x7c,0x10,0x00,0x00,0x00}, // }
|
|
||||||
{0x02,0x01,0x02,0x01,0x00,0x00}, // ~
|
|
||||||
{0x00,0x00,0x00,0x00,0x00,0x00} |
|
||||||
}; |
|
||||||
|
|
||||||
#endif // FONT_H
|
|
@ -1,11 +0,0 @@ |
|||||||
//
|
|
||||||
// Created by MightyPork on 2016/09/22.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef F107_FFT_SCREENDEF_H |
|
||||||
#define F107_FFT_SCREENDEF_H |
|
||||||
|
|
||||||
#define SCREEN_W 32 |
|
||||||
#define SCREEN_H 16 |
|
||||||
|
|
||||||
#endif //F107_FFT_SCREENDEF_H
|
|
@ -1,73 +0,0 @@ |
|||||||
#include <string.h> |
|
||||||
#include "scrolltext.h" |
|
||||||
|
|
||||||
#include "font.h" |
|
||||||
#include "screendef.h" |
|
||||||
|
|
||||||
volatile bool text_moving; |
|
||||||
|
|
||||||
/**
|
|
||||||
* Print text at coordinates |
|
||||||
* @param text |
|
||||||
* @param x |
|
||||||
* @param y |
|
||||||
*/ |
|
||||||
void printtext(DotMatrix_Cfg *disp, const char *text, int x, int y) |
|
||||||
{ |
|
||||||
int totalX = 0; |
|
||||||
|
|
||||||
for (int textX = 0; textX < (int)strlen(text); textX++) { |
|
||||||
uint8_t ch = (uint8_t)text[textX]; |
|
||||||
if (ch < FONT_MIN) ch = '?'; |
|
||||||
if (ch > FONT_MAX) ch = '?'; |
|
||||||
ch -= ' '; // normalize for font table
|
|
||||||
|
|
||||||
if (ch == 0) { // space
|
|
||||||
totalX += 4; |
|
||||||
continue; |
|
||||||
} |
|
||||||
|
|
||||||
// one letter
|
|
||||||
uint8_t blanks = 0; |
|
||||||
|
|
||||||
// skip empty space on right
|
|
||||||
for (int charX = FONT_WIDTH-1; charX >= 0; charX--) { |
|
||||||
uint8_t col = font[ch][charX]; |
|
||||||
if (col == 0x00) { |
|
||||||
blanks++; |
|
||||||
} else { |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
for (int charX = 0; charX < FONT_WIDTH - blanks; charX++) { |
|
||||||
uint8_t col = font[ch][charX]; |
|
||||||
for (int charY = 0; charY < 8; charY++) { |
|
||||||
dmtx_set(disp, x + totalX, y + 8 - charY, (col >> charY) & 1); |
|
||||||
} |
|
||||||
totalX++; |
|
||||||
} |
|
||||||
|
|
||||||
totalX+= 2; // gap
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* Scroll text across the screen |
|
||||||
* @param text |
|
||||||
* @param step delay per step (ms) |
|
||||||
*/ |
|
||||||
void scrolltext(DotMatrix_Cfg *disp, const char *text, ms_time_t step) |
|
||||||
{ |
|
||||||
(void)step; |
|
||||||
|
|
||||||
text_moving = true; |
|
||||||
for (int i = 0; i < (int)strlen(text)*(FONT_WIDTH+1) + SCREEN_W-1; i++) { |
|
||||||
if (i > 0) delay_ms(step); |
|
||||||
|
|
||||||
dmtx_clear(disp); |
|
||||||
printtext(disp, text, (SCREEN_W-1)-i, SCREEN_H/2-4); |
|
||||||
dmtx_show(disp); |
|
||||||
} |
|
||||||
text_moving = false; |
|
||||||
} |
|
@ -1,13 +0,0 @@ |
|||||||
#ifndef SCROLLTEXT_H |
|
||||||
#define SCROLLTEXT_H |
|
||||||
|
|
||||||
#include "dotmatrix.h" |
|
||||||
#include "timebase.h" |
|
||||||
|
|
||||||
volatile extern bool text_moving; |
|
||||||
|
|
||||||
void printtext(DotMatrix_Cfg *disp, const char *text, int x, int y); |
|
||||||
|
|
||||||
void scrolltext(DotMatrix_Cfg *disp, const char *text, ms_time_t step); |
|
||||||
|
|
||||||
#endif // SCROLLTEXT_H
|
|
Loading…
Reference in new issue