baudot: use non-Baudot chars for debug output

This commit is contained in:
Kamal Mostafa 2012-09-04 15:37:19 -07:00
parent 30de59026b
commit 8931ae1311
1 changed files with 16 additions and 9 deletions

View File

@ -33,19 +33,19 @@
static char static char
baudot_decode_table[32][3] = { baudot_decode_table[32][3] = {
// letter, U.S. figs, CCITT No.2 figs (Europe) // letter, U.S. figs, CCITT No.2 figs (Europe)
{ '*', '*', '*' }, // NUL { '_', '^', '^' }, // NUL (underscore and caret marks for debugging)
{ 'E', '3', '3' }, { 'E', '3', '3' },
{ 0xA, 0xA, 0xA }, // LF { 0xA, 0xA, 0xA }, // LF
{ 'A', '-', '-' }, { 'A', '-', '-' },
{ ' ', ' ', ' ' }, // SPACE { ' ', ' ', ' ' }, // SPACE
{ 'S', '*', '\'' }, // BELL or apostrophe { 'S', 0x7, '\'' }, // BELL or apostrophe
{ 'I', '8', '8' }, { 'I', '8', '8' },
{ 'U', '7', '7' }, { 'U', '7', '7' },
{ 0xD, 0xD, 0xD }, // CR { 0xD, 0xD, 0xD }, // CR
{ 'D', '$', '*' }, // '$' or ENQ { 'D', '$', '^' }, // '$' or ENQ
{ 'R', '4', '4' }, { 'R', '4', '4' },
{ 'J', '\'', '*' }, // apostrophe or BELL { 'J', '\'', 0x7 }, // apostrophe or BELL
{ 'N', ',', ',' }, { 'N', ',', ',' },
{ 'F', '!', '!' }, { 'F', '!', '!' },
{ 'C', ':', ':' }, { 'C', ':', ':' },
@ -55,7 +55,7 @@ baudot_decode_table[32][3] = {
{ 'Z', '"', '+' }, { 'Z', '"', '+' },
{ 'L', ')', ')' }, { 'L', ')', ')' },
{ 'W', '2', '2' }, { 'W', '2', '2' },
{ 'H', '#', '*' }, // '#' or British pounds symbol // FIXME { 'H', '#', '%' }, // '#' or British pounds symbol // FIXME
{ 'Y', '6', '6' }, { 'Y', '6', '6' },
{ 'P', '0', '0' }, { 'P', '0', '0' },
{ 'Q', '1', '1' }, { 'Q', '1', '1' },
@ -63,11 +63,11 @@ baudot_decode_table[32][3] = {
{ 'O', '9', '9' }, { 'O', '9', '9' },
{ 'B', '?', '?' }, { 'B', '?', '?' },
{ 'G', '&', '&' }, { 'G', '&', '&' },
{ '*', '*', '*' }, // FIGS { '%', '%', '%' }, // FIGS (symbol % for debug; won't be printed)
{ 'M', '.', '.' }, { 'M', '.', '.' },
{ 'X', '/', '/' }, { 'X', '/', '/' },
{ 'V', ';', '=' }, { 'V', ';', '=' },
{ '*', '*', '*' }, // LTRS { '%', '%', '%' }, // LTRS (symbol % for debug; won't be printed)
}; };
static char static char
@ -225,8 +225,15 @@ baudot_decode( char *char_outp, unsigned char databits )
} else if ( databits == BAUDOT_SPACE ) { /* RX un-shift on space */ } else if ( databits == BAUDOT_SPACE ) { /* RX un-shift on space */
baudot_charset = 1; baudot_charset = 1;
} }
if ( stuff_char ) if ( stuff_char ) {
*char_outp = baudot_decode_table[databits][baudot_charset-1]; int t;
if ( baudot_charset == 1 )
t = 0;
else
t = 1; // U.S. figs
// t = 2; // CCITT figs
*char_outp = baudot_decode_table[databits][t];
}
return stuff_char; return stuff_char;
} }