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.

Revision:
2:532ce15ea9ec
Parent:
1:1f2453ed85d7
Child:
4:b2bbdc58967e
--- 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