TM1638 LED controller. Max 80 LEDs, Max 24 Key scan. Supports LED&KEY, QYF-TM1638 and JY-LKM1638 module.
Dependents: mbed_TM1638 Otjimaniya RL0201-V1
See here for more information.
Diff: Font_7Seg.h
- Revision:
- 2:532ce15ea9ec
- Parent:
- 1:1f2453ed85d7
- Child:
- 4:b2bbdc58967e
diff -r 1f2453ed85d7 -r 532ce15ea9ec Font_7Seg.h
--- a/Font_7Seg.h Sat Jan 09 14:30:43 2016 +0000
+++ b/Font_7Seg.h Fri Jan 15 19:09:59 2016 +0000
@@ -1,5 +1,6 @@
/* mbed LED Font Library, for TM1638 LED Controller
* Copyright (c) 2015, v01: WH, Initial version, Test in LEDKEY8
+ * 2016, v02: WH, Added ASCII alphabet, changed fonttable into short
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -31,6 +32,18 @@
// will be adapted automatically according to the bit-to-segment mapping. Obviously this will only work when the segment
// mapping is identical for every digit position. This will be the case unless the hardware designer really hates software developers.
//
+// A
+// -----
+// | |
+// F | | B
+// | G |
+// -----
+// | |
+// E | | C
+// | |
+// ----- * DP
+// D
+//
#define S7_A 0x0001
#define S7_B 0x0002
#define S7_C 0x0004
@@ -91,17 +104,6 @@
#define S7_ICON_GR8 (S7_LD8)
//#define S7_ICON_GR8 (S7_LD8 | S7_DP8)
-//Icons Grid 9
-#define S7_DP9 0x0080
-#define S7_LD9 0x0100
-#define S7_ICON_GR9 (S7_LD9)
-//#define S7_ICON_GR9 (S7_LD9 | S7_DP9)
-
-//Icons Grid 10
-#define S7_DP10 0x0080
-#define S7_LD10 0x0100
-#define S7_ICON_GR10 (S7_LD10)
-//#define S7_ICON_GR10 (S7_LD10 | S7_DP10)
//Mask for blending out and restoring Icons
extern const char MASK_ICON_GRID[][2];
@@ -112,9 +114,21 @@
//
//32 0x20 Symbols
#define C7_SPC (0x0000)
+#define C7_EXC (S7_B | S7_C) //!
+#define C7_QTE (S7_B | S7_F) //"
+#define C7_HSH (S7_C | S7_D | S7_E | S7_G) //#
+#define C7_DLR (S7_A | S7_C | S7_D | S7_F | S7_G) //$
+#define C7_PCT (S7_C | S7_F) //%
+#define C7_AMP (S7_A | S7_C | S7_D | S7_E | S7_F | S7_G) //&
+#define C7_ACC (S7_B) //'
+#define C7_LBR (S7_A | S7_D | S7_E | S7_F) //(
+#define C7_RBR (S7_A | S7_B | S7_C | S7_D) //)
+#define C7_MLT (S7_B | S7_C | S7_E | S7_F | S7_G) //*
+#define C7_PLS (S7_B | S7_C | S7_G) //+
#define C7_CMA (S7_DP)
+#define C7_MIN (S7_G)
#define C7_DPT (S7_DP)
-#define C7_MIN (S7_G)
+#define C7_RS (S7_B | S7_E | S7_G) // /
//48 0x30 Digits
#define C7_0 (S7_A | S7_B | S7_C | S7_D | S7_E | S7_F)
@@ -127,7 +141,17 @@
#define C7_7 (S7_A | S7_B | S7_C)
#define C7_8 (S7_A | S7_B | S7_C | S7_D | S7_E | S7_F | S7_G)
#define C7_9 (S7_A | S7_B | S7_C | S7_D | S7_F | S7_G)
-//64 0x40 Upper case alphabet
+
+//58 0x3A
+#define C7_COL (S7_D | S7_G) // :
+#define C7_SCL (S7_D | S7_G) // ;
+#define C7_LT (S7_D | S7_E | S7_G) // <
+#define C7_EQ (S7_D | S7_G) // =
+#define C7_GT (S7_C | S7_D | S7_G) // >
+#define C7_QM (S7_A | S7_B | S7_E | S7_G) // ?
+#define C7_AT (S7_A | S7_B | S7_C | S7_D | S7_E | S7_G) // @
+
+//65 0x41 Upper case alphabet
#define C7_A (S7_A | S7_B | S7_C | S7_E | S7_F | S7_G )
#define C7_B (S7_C | S7_D | S7_E | S7_F | S7_G)
#define C7_C (S7_A | S7_D | S7_E | S7_F)
@@ -135,23 +159,35 @@
#define C7_E (S7_A | S7_D | S7_E | S7_F | S7_G)
#define C7_F (S7_A | S7_E | S7_F | S7_G)
-#define C7_G (S7_A | S7_B | S7_C | S7_F | S7_G)
+#define C7_G (S7_A | S7_C | S7_D | S7_E | S7_F)
#define C7_H (S7_B | S7_C | S7_E | S7_F | S7_G)
#define C7_I (S7_B | S7_C)
-#define C7_J (S7_B | S7_C | S7_D)
+#define C7_J (S7_B | S7_C | S7_D | S7_E)
+#define C7_K (S7_B | S7_C | S7_E | S7_F | S7_G)
#define C7_L (S7_D | S7_E | S7_F)
-#define C7_M (S7_C | S7_E | S7_G)
-#define C7_N (S7_C | S7_E | S7_G)
+#define C7_M (S7_A | S7_C | S7_E)
+#define C7_N (S7_A | S7_B | S7_C | S7_E | S7_F)
#define C7_O (S7_A | S7_B | S7_C | S7_D | S7_E | S7_F)
#define C7_P (S7_A | S7_B | S7_E | S7_F | S7_G)
#define C7_Q (S7_A | S7_B | S7_C | S7_F | S7_G)
-#define C7_R (S7_E | S7_G)
+#define C7_R (S7_E | S7_G )
#define C7_S (S7_A | S7_C | S7_D | S7_F | S7_G)
#define C7_T (S7_D | S7_E | S7_F | S7_G)
#define C7_U (S7_B | S7_C | S7_D | S7_E | S7_F)
+#define C7_V (S7_B | S7_C | S7_D | S7_E | S7_F)
+#define C7_W (S7_B | S7_D | S7_F)
+#define C7_X (S7_B | S7_C | S7_E | S7_F | S7_G)
#define C7_Y (S7_B | S7_C | S7_D | S7_F | S7_G)
#define C7_Z (S7_A | S7_B | S7_D | S7_E | S7_G)
+//91 0x5B
+#define C7_SBL (S7_A | S7_D | S7_E | S7_F) // [
+#define C7_LS (S7_C | S7_F | S7_G) // left slash
+#define C7_SBR (S7_A | S7_B | S7_C | S7_D) // ]
+#define C7_PWR (S7_A | S7_B | S7_F) // ^
+#define C7_UDS (S7_D) // _
+#define C7_DSH (S7_F) // `
+
//97 0x61 Lower case alphabet
#define C7_a C7_A
#define C7_b C7_B
@@ -164,22 +200,37 @@
#define C7_h C7_H
#define C7_i C7_I
#define C7_j C7_J
+#define C7_k C7_K
#define C7_l C7_L
#define C7_m C7_M
-#define C7_n C7_N
-#define C7_o C7_O
+//#define C7_n C7_N
+#define C7_n (S7_C | S7_E | S7_G)
+//#define C7_o C7_O
+#define C7_o (S7_C | S7_D | S7_E | S7_G)
#define C7_p C7_P
#define C7_q C7_Q
-#define C7_r C7_R
+//#define C7_r C7_R
+#define C7_r (S7_E | S7_G)
#define C7_s C7_S
#define C7_t C7_T
#define C7_u C7_U
+#define C7_v C7_V
+#define C7_w C7_W
+#define C7_x C7_X
#define C7_y C7_Y
#define C7_z C7_Z
+//123 0x7B
+#define C7_CBL (S7_A | S7_D | S7_E | S7_F) // {
+#define C7_OR (S7_B | S7_C) // |
+#define C7_CBR (S7_A | S7_B | S7_C | S7_D) // }
+#define C7_TLD (S7_B | S7_E | S7_G ) // ~
+#define C7_DEL (0x0000)
+
//User Defined Characters (some examples)
-
+#define C7_DGR (S7_A | S7_B | S7_F | S7_G) //Degrees
+
// Font data selection for transmission to TM1638 memory
#define LO(x) ( x & 0xFF)
#define HI(x) ((x >> 8) & 0xFF)
@@ -187,9 +238,9 @@
// ASCII Font definition table
//
-//#define FONT_7S_START 0x20
-//#define FONT_7S_END 0x7F
+#define FONT_7S_START 0x20
+#define FONT_7S_END 0x7F
//#define FONT_7S_NR_CHARS (FONT_7S_END - FONT_7S_START + 1)
-extern const char FONT_7S[];
+extern const short FONT_7S[];
#endif
\ No newline at end of file
TM1638 LED controller (80 LEDs max), Keyboard scan (24 keys max)