aboutsummaryrefslogtreecommitdiff
path: root/src/varicode_table.h
diff options
context:
space:
mode:
authordrowe67 <[email protected]>2023-07-20 08:59:48 +0930
committerGitHub <[email protected]>2023-07-20 08:59:48 +0930
commit06d4c11e699b0351765f10398abb4f663a984f36 (patch)
tree33e22af0814c5b6c3d676f096ae8c2ac8a3ed9f0 /src/varicode_table.h
parent6588e77f38bdebd7adffe091b22e7760d95d0ccb (diff)
parent4d6c143c0abec15e1d6ed1fd95d36f80e6cb7df8 (diff)
Merge pull request #3 from drowe67/dr-cleanup21.2.0
Cleanup Part 2
Diffstat (limited to 'src/varicode_table.h')
-rw-r--r--src/varicode_table.h322
1 files changed, 146 insertions, 176 deletions
diff --git a/src/varicode_table.h b/src/varicode_table.h
index c56fd20..ea119ce 100644
--- a/src/varicode_table.h
+++ b/src/varicode_table.h
@@ -21,318 +21,288 @@
/* The following table defines the PKS31 varicode. There are 128 entries,
corresponding to ASCII characters 0-127 with two bytes for each entry. The bits
-for the varicode are to be shifted out MSB-first for both bytes, with the first byte
-in the table being the first one to be sent.
+for the varicode are to be shifted out MSB-first for both bytes, with the first
+byte in the table being the first one to be sent.
More than one zero in sequence signifies the end of the character (i.e.
-two zeroes are the intercharacter sequence, so at least two zeroes should always be
-sent before the next character is sent.
+two zeroes are the intercharacter sequence, so at least two zeroes should always
+be sent before the next character is sent.
This file is constructed with information from the article "PSK31 Fundamentals"
by Peter Martinez, G3PLX by Clint Turner, KA7OEI
*/
-unsigned char const varicode_table1[256] = {
+unsigned char const varicode_table1[256] = {
0b10101010,
- 0b11000000, // 0 NUL
+ 0b11000000, // 0 NUL
0b10110110,
- 0b11000000, // 1 SOH
+ 0b11000000, // 1 SOH
0b10111011,
- 0b01000000, // 2 STX
+ 0b01000000, // 2 STX
0b11011101,
- 0b11000000, // 3 ETX
+ 0b11000000, // 3 ETX
0b10111010,
- 0b11000000, // 4 EOT
+ 0b11000000, // 4 EOT
0b11010111,
- 0b11000000, // 5 ENQ
+ 0b11000000, // 5 ENQ
0b10111011,
- 0b11000000, // 6 ACK
+ 0b11000000, // 6 ACK
0b10111111,
- 0b01000000, // 7 BEL
+ 0b01000000, // 7 BEL
0b10111111,
- 0b11000000, // 8 BS
+ 0b11000000, // 8 BS
0b11101111,
- 0b00000000, // 9 HT
+ 0b00000000, // 9 HT
0b11101000,
- 0b00000000, // 10 LF
+ 0b00000000, // 10 LF
0b11011011,
- 0b11000000, // 11 VT
+ 0b11000000, // 11 VT
0b10110111,
- 0b01000000, // 12 FF
+ 0b01000000, // 12 FF
0b11111000,
- 0b00000000, // 13 CR
+ 0b00000000, // 13 CR
0b11011101,
- 0b01000000, // 14 SO
+ 0b01000000, // 14 SO
0b11101010,
- 0b11000000, // 15 SI
+ 0b11000000, // 15 SI
0b10111101,
- 0b11000000, // 16 DLE
+ 0b11000000, // 16 DLE
0b10111101,
- 0b01000000, // 17 DC1
+ 0b01000000, // 17 DC1
0b11101011,
- 0b01000000, // 18 DC2
+ 0b01000000, // 18 DC2
0b11101011,
- 0b11000000, // 19 DC3
+ 0b11000000, // 19 DC3
0b11010110,
- 0b11000000, // 20 DC4
+ 0b11000000, // 20 DC4
0b11011010,
- 0b11000000, // 21 NAK
+ 0b11000000, // 21 NAK
0b11011011,
- 0b01000000, // 22 SYN
+ 0b01000000, // 22 SYN
0b11010101,
- 0b11000000, // 23 ETB
+ 0b11000000, // 23 ETB
0b11011110,
- 0b11000000, // 24 CAN
+ 0b11000000, // 24 CAN
0b11011111,
- 0b01000000, // 25 EM
+ 0b01000000, // 25 EM
0b11101101,
- 0b11000000, // 26 SUB
+ 0b11000000, // 26 SUB
0b11010101,
- 0b01000000, // 27 ESC
+ 0b01000000, // 27 ESC
0b11010111,
- 0b01000000, // 28 FS
+ 0b01000000, // 28 FS
0b11101110,
- 0b11000000, // 29 GS
+ 0b11000000, // 29 GS
0b10111110,
- 0b11000000, // 30 RS
+ 0b11000000, // 30 RS
0b11011111,
- 0b11000000, // 31 US
+ 0b11000000, // 31 US
0b10000000,
- 0b00000000, // 32 SP
+ 0b00000000, // 32 SP
0b11111111,
- 0b10000000, // 33 !
+ 0b10000000, // 33 !
0b10101111,
- 0b10000000, // 34 "
+ 0b10000000, // 34 "
0b11111010,
- 0b10000000, // 35 #
+ 0b10000000, // 35 #
0b11101101,
- 0b10000000, // 36 $
+ 0b10000000, // 36 $
0b10110101,
- 0b01000000, // 37 %
+ 0b01000000, // 37 %
0b10101110,
- 0b11000000, // 38 &
+ 0b11000000, // 38 &
0b10111111,
- 0b10000000, // 39 '
+ 0b10000000, // 39 '
0b11111011,
- 0b00000000, // 40 (
+ 0b00000000, // 40 (
0b11110111,
- 0b00000000, // 41 )
+ 0b00000000, // 41 )
0b10110111,
- 0b10000000, // 42 *
+ 0b10000000, // 42 *
0b11101111,
- 0b10000000, // 43 +
+ 0b10000000, // 43 +
0b11101010,
- 0b00000000, // 44 ,
+ 0b00000000, // 44 ,
0b11010100,
- 0b00000000, // 45 -
+ 0b00000000, // 45 -
0b10101110,
- 0b00000000, // 46 .
+ 0b00000000, // 46 .
0b11010111,
- 0b10000000, // 47 /
+ 0b10000000, // 47 /
0b10110111,
- 0b00000000, // 48 0
+ 0b00000000, // 48 0
0b10111101,
- 0b00000000, // 49 1
+ 0b00000000, // 49 1
0b11101101,
- 0b00000000, // 50 2
+ 0b00000000, // 50 2
0b11111111,
- 0b00000000, // 51 3
+ 0b00000000, // 51 3
0b10111011,
- 0b10000000, // 52 4
+ 0b10000000, // 52 4
0b10101101,
- 0b10000000, // 53 5
+ 0b10000000, // 53 5
0b10110101,
- 0b10000000, // 54 6
+ 0b10000000, // 54 6
0b11010110,
- 0b10000000, // 55 7
+ 0b10000000, // 55 7
0b11010101,
- 0b10000000, // 56 8
+ 0b10000000, // 56 8
0b11011011,
- 0b10000000, // 57 9
+ 0b10000000, // 57 9
0b11110101,
- 0b00000000, // 58 :
+ 0b00000000, // 58 :
0b11011110,
- 0b10000000, // 59 ;
+ 0b10000000, // 59 ;
0b11110110,
- 0b10000000, // 60 <
+ 0b10000000, // 60 <
0b10101010,
- 0b00000000, // 61 =
+ 0b00000000, // 61 =
0b11101011,
- 0b10000000, // 62 >
+ 0b10000000, // 62 >
0b10101011,
- 0b11000000, // 63 ?
+ 0b11000000, // 63 ?
0b10101111,
- 0b01000000, // 64 @
+ 0b01000000, // 64 @
0b11111010,
- 0b00000000, // 65 A
+ 0b00000000, // 65 A
0b11101011,
- 0b00000000, // 66 B
+ 0b00000000, // 66 B
0b10101101,
- 0b00000000, // 67 C
+ 0b00000000, // 67 C
0b10110101,
- 0b00000000, // 68 D
+ 0b00000000, // 68 D
0b11101110,
- 0b00000000, // 69 E
+ 0b00000000, // 69 E
0b11011011,
- 0b00000000, // 70 F
+ 0b00000000, // 70 F
0b11111101,
- 0b00000000, // 71 G
+ 0b00000000, // 71 G
0b10101010,
- 0b10000000, // 72 H
+ 0b10000000, // 72 H
0b11111110,
- 0b00000000, // 73 I
+ 0b00000000, // 73 I
0b11111110,
- 0b10000000, // 74 J
+ 0b10000000, // 74 J
0b10111110,
- 0b10000000, // 75 K
+ 0b10000000, // 75 K
0b11010111,
- 0b00000000, // 76 L
+ 0b00000000, // 76 L
0b10111011,
- 0b00000000, // 77 M
+ 0b00000000, // 77 M
0b11011101,
- 0b00000000, // 78 N
+ 0b00000000, // 78 N
0b10101011,
- 0b00000000, // 79 O
+ 0b00000000, // 79 O
0b11010101,
- 0b00000000, // 80 P
+ 0b00000000, // 80 P
0b11101110,
- 0b10000000, // 81 Q
+ 0b10000000, // 81 Q
0b10101111,
- 0b00000000, // 82 R
+ 0b00000000, // 82 R
0b11011110,
- 0b00000000, // 83 S
+ 0b00000000, // 83 S
0b11011010,
- 0b00000000, // 84 T
+ 0b00000000, // 84 T
0b10101011,
- 0b10000000, // 85 U
+ 0b10000000, // 85 U
0b11011010,
- 0b10000000, // 86 V
+ 0b10000000, // 86 V
0b10101110,
- 0b10000000, // 87 W
+ 0b10000000, // 87 W
0b10111010,
- 0b10000000, // 88 X
+ 0b10000000, // 88 X
0b10111101,
- 0b10000000, // 89 Y
+ 0b10000000, // 89 Y
0b10101011,
- 0b01000000, // 90 Z
+ 0b01000000, // 90 Z
0b11111011,
- 0b10000000, // 91 [
+ 0b10000000, // 91 [
0b11110111,
- 0b10000000, // 92 "\"
+ 0b10000000, // 92 "\"
0b11111101,
- 0b10000000, // 93 ]
+ 0b10000000, // 93 ]
0b10101111,
- 0b11000000, // 94 ^
+ 0b11000000, // 94 ^
0b10110110,
- 0b10000000, // 95 _ (underline)
+ 0b10000000, // 95 _ (underline)
0b10110111,
- 0b11000000, // 96 `
+ 0b11000000, // 96 `
0b10110000,
- 0b00000000, // 97 a
+ 0b00000000, // 97 a
0b10111110,
- 0b00000000, // 98 b
+ 0b00000000, // 98 b
0b10111100,
- 0b00000000, // 99 c
+ 0b00000000, // 99 c
0b10110100,
- 0b00000000, // 100 d
+ 0b00000000, // 100 d
0b11000000,
- 0b00000000, // 101 e
+ 0b00000000, // 101 e
0b11110100,
- 0b00000000, // 102 f
+ 0b00000000, // 102 f
0b10110110,
- 0b00000000, // 103 g
+ 0b00000000, // 103 g
0b10101100,
- 0b00000000, // 104 h
+ 0b00000000, // 104 h
0b11010000,
- 0b00000000, // 105 i
+ 0b00000000, // 105 i
0b11110101,
- 0b10000000, // 106 j
+ 0b10000000, // 106 j
0b10111111,
- 0b00000000, // 107 k
+ 0b00000000, // 107 k
0b11011000,
- 0b00000000, // 108 l
+ 0b00000000, // 108 l
0b11101100,
- 0b00000000, // 109 m
+ 0b00000000, // 109 m
0b11110000,
- 0b00000000, // 110 n
+ 0b00000000, // 110 n
0b11100000,
- 0b00000000, // 111 o
+ 0b00000000, // 111 o
0b11111100,
- 0b00000000, // 112 p
+ 0b00000000, // 112 p
0b11011111,
- 0b10000000, // 113 q
+ 0b10000000, // 113 q
0b10101000,
- 0b00000000, // 114 r
+ 0b00000000, // 114 r
0b10111000,
- 0b00000000, // 115 s
+ 0b00000000, // 115 s
0b10100000,
- 0b00000000, // 116 t
+ 0b00000000, // 116 t
0b11011100,
- 0b00000000, // 117 u
+ 0b00000000, // 117 u
0b11110110,
- 0b00000000, // 118 v
+ 0b00000000, // 118 v
0b11010110,
- 0b00000000, // 119 w
+ 0b00000000, // 119 w
0b11011111,
- 0b00000000, // 120 x
+ 0b00000000, // 120 x
0b10111010,
- 0b00000000, // 121 y
+ 0b00000000, // 121 y
0b11101010,
- 0b10000000, // 122 z
+ 0b10000000, // 122 z
0b10101101,
- 0b11000000, // 123 {
+ 0b11000000, // 123 {
0b11011101,
- 0b10000000, // 124 |
+ 0b10000000, // 124 |
0b10101101,
- 0b01000000, // 125 }
+ 0b01000000, // 125 }
0b10110101,
- 0b11000000, // 126 ~
+ 0b11000000, // 126 ~
0b11101101,
- 0b01000000, // 127 (del)
+ 0b01000000, // 127 (del)
};
-// This code was used on FDMDV version 1, and is more compact that Code 1, but only covers a subset
-// of the ASCII character set
+// This code was used on FDMDV version 1, and is more compact that Code 1, but
+// only covers a subset of the ASCII character set
char const varicode_table2[] = {
- ' ' ,0b11000000,
- 13 ,0b01000000, // CR, end of message
- '=' ,0b10000000,
- '1' ,0b11110000,
- '2' ,0b01110000,
- '3' ,0b10110000,
- '4' ,0b11010000,
- '5' ,0b01010000,
- '6' ,0b10010000,
- '7' ,0b11100000,
- '8' ,0b01100000,
- '9' ,0b10100000,
- 'a' ,0b11111100,
- 'b' ,0b01111100,
- 'c' ,0b10111100,
- 'd' ,0b11011100,
- 'e' ,0b01011100,
- 'f' ,0b10011100,
- 'g' ,0b11101100,
- 'h' ,0b01101100,
- 'i' ,0b10101100,
- 'j' ,0b11110100,
- 'k' ,0b01110100,
- 'l' ,0b10110100,
- 'm' ,0b11010100,
- 'n' ,0b01010100,
- 'o' ,0b10010100,
- 'p' ,0b11100100,
- 'q' ,0b01100100,
- 'r' ,0b10100100,
- 's' ,0b11111000,
- 't' ,0b01111000,
- 'u' ,0b10111000,
- 'v' ,0b11011000,
- 'w' ,0b01011000,
- 'x' ,0b10011000,
- 'y' ,0b11101000,
- 'z' ,0b01101000,
- '0' ,0b10101000
-};
-
+ ' ', 0b11000000, 13, 0b01000000, // CR, end of message
+ '=', 0b10000000, '1', 0b11110000, '2', 0b01110000, '3', 0b10110000,
+ '4', 0b11010000, '5', 0b01010000, '6', 0b10010000, '7', 0b11100000,
+ '8', 0b01100000, '9', 0b10100000, 'a', 0b11111100, 'b', 0b01111100,
+ 'c', 0b10111100, 'd', 0b11011100, 'e', 0b01011100, 'f', 0b10011100,
+ 'g', 0b11101100, 'h', 0b01101100, 'i', 0b10101100, 'j', 0b11110100,
+ 'k', 0b01110100, 'l', 0b10110100, 'm', 0b11010100, 'n', 0b01010100,
+ 'o', 0b10010100, 'p', 0b11100100, 'q', 0b01100100, 'r', 0b10100100,
+ 's', 0b11111000, 't', 0b01111000, 'u', 0b10111000, 'v', 0b11011000,
+ 'w', 0b01011000, 'x', 0b10011000, 'y', 0b11101000, 'z', 0b01101000,
+ '0', 0b10101000};