#ifndef __16_seg_h__ #define __16_seg_h__ #define SEG_A1 15 #define SEG_A2 14 #define SEG_B 13 #define SEG_C 12 #define SEG_D1 11 #define SEG_D2 10 #define SEG_E 9 #define SEG_F 8 #define SEG_G1 7 #define SEG_G2 6 #define SEG_H 5 #define SEG_I 4 #define SEG_J 3 #define SEG_K 2 #define SEG_L 1 #define SEG_M 0 static const uint16_t cdata[0x60] = { 0b0000000000000000, // 0x20 0b0100010000011000, // 0x21 ! 0b0010000000010000, // 0x22 " 0b0000111111010010, // 0x23 # 0b1101110111010010, // 0x24 $ 0b1001100111011011, // 0x25 % 0b1001111010110100, // 0x26 & 0b0000000000001000, // 0x27 ' 0b0000000000001100, // 0x28 ( 0b0000000000100001, // 0x29 ) 0b0000000000111111, // 0x2a * 0b0000000011010010, // 0x2b + 0b0000000000000001, // 0x2c , 0b0000000011000000, // 0x2d - 0b0000010000000000, // 0x2e . 0b0000000000001001, // 0x2f / 0b1111111100001001, // 0x30 0 0b0011000000001000, // 0x31 1 0b1110110001000001, // 0x32 2 0b1101110001001000, // 0x33 3 0b0000000111010010, // 0x34 4 0b1100110110000100, // 0x35 5 0b1101111111000000, // 0x36 6 0b1100000000001010, // 0x37 7 0b1111111111000000, // 0x38 8 0b1111110111000000, // 0x39 9 0b1000010000000000, // 0x3a : 0b1000000000000001, // 0x3b ; 0b0000110000001001, // 0x3c < 0b0000110011000000, // 0x3d = 0b0000110000100100, // 0x3e > 0b1110000001000010, // 0x3f ? 0b1111101101000010, // 0x40 @ 0b1111001111000000, // 0x41 A 0b1111110001010010, // 0x42 B 0b1100111100000000, // 0x43 C 0b1111110000010010, // 0x44 D 0b1100111110000000, // 0x45 E 0b1100001110000000, // 0x46 F 0b1101111101000000, // 0x47 G 0b0011001111000000, // 0x48 H 0b1100110000010010, // 0x49 I 0b1100011000010010, // 0x4a J 0b0000001110001100, // 0x4b K 0b0000111100000000, // 0x4c L 0b0011001100101000, // 0x4d M 0b0011001100100100, // 0x4e N 0b1111111100000000, // 0x4f O 0b1110001111000000, // 0x50 P 0b1111111100000100, // 0x51 Q 0b1110001111000100, // 0x52 R 0b1101110111000000, // 0x53 S 0b1100000000010010, // 0x54 T 0b0011111100000000, // 0x55 U 0b0000001100001001, // 0x56 V 0b0011001100000101, // 0x57 W 0b0000000000101101, // 0x58 X 0b0000000000101010, // 0x59 Y 0b1100110000001001, // 0x5a Z 0b1000011100000000, // 0x5b [ 0b0000000011101010, // 0x5c '\' 0b0111100000000000, // 0x5d ] 0b0000000100100000, // 0x5e ^ 0b0000110000000000, // 0x5f _ 0b0000000000100000, // 0x60 ` 0b0000111010000010, // 0x61 a 0b0001100001010010, // 0x62 b 0b0000100001000010, // 0x63 c 0b0000011010010010, // 0x64 d 0b0000011010000001, // 0x65 e 0b0100000011010010, // 0x66 f 0b0001110001000100, // 0x67 g 0b0000001110000010, // 0x68 h 0b0000000000000010, // 0x69 i 0b0000010000000010, // 0x6a j 0b0000000001010110, // 0x6b k 0b1000100000010010, // 0x6c l 0b0001001011000010, // 0x6d m 0b0000001010000010, // 0x6e n 0b0000011010000010, // 0x6f o 0b0110000001010010, // 0x70 p 0b1000100110010010, // 0x71 q 0b0000000001000010, // 0x72 r 0b0000010001000010, // 0x73 s 0b0000100011010010, // 0x74 t 0b0000011000000010, // 0x75 u 0b0000001000000001, // 0x76 v 0b0001001000000101, // 0x77 w 0b0000000000011011, // 0x78 x 0b0001110000000100, // 0x79 y 0b0000010010000001, // 0x7a z 0b0100100010010010, // 0x7b { 0b0000000000010010, // 0x7c | 0b1000010001010010, // 0x7d } 0b1010000101010000, // 0x7e ~ 0b1111111111111111, // 0x7f all segments on }; static const uint16_t test_data[0x10] = { 0b1000000000000000, 0b0100000000000000, 0b0010000000000000, 0b0001000000000000, 0b0000100000000000, 0b0000010000000000, 0b0000001000000000, 0b0000000100000000, 0b0000000010000000, 0b0000000001000000, 0b0000000000100000, 0b0000000000010000, 0b0000000000001000, 0b0000000000000100, 0b0000000000000010, 0b0000000000000001, }; static const uint16_t typhoon_pattern[0x10] = { 0b1000000000000000, 0b1100000000000000, 0b1110000000000000, 0b1111000000000000, 0b1111100000000000, 0b1111110000000000, 0b1111111000000000, 0b1111111100000000, 0b1111111100100000, 0b1111111100110000, 0b1111111100111000, 0b1111111101111000, 0b1111111101111100, 0b1111111101111110, 0b1111111101111111, 0b1111111111111111, }; static const uint16_t typhoon_pattern_2[0x10] = { 0b1000000000000000, 0b0100000000000000, 0b0010000000000000, 0b0001000000000000, 0b0000100000000000, 0b0000010000000000, 0b0000001000000000, 0b0000000100000000, 0b0000000000100000, 0b0000000000010000, 0b0000000000001000, 0b0000000001000000, 0b0000000000000100, 0b0000000000000010, 0b0000000000000001, 0b0000000010000000, }; #endif /* __16_seg_h__ */