Difference between revisions of "EIA-ASCII-ISO encoding"
(→hack encodings) |
(→conversion charts) |
||
Line 16: | Line 16: | ||
!||(hex)||(dec)||(hex)||(dec)||(hex)||(dec)|||| | !||(hex)||(dec)||(hex)||(dec)||(hex)||(dec)|||| | ||
|- | |- | ||
− | |BS||2A||42||08||8||88||136||BACKSPACE|| | + | | BS || 2A || 42 || 08 || 8 || 88 || 136 || BACKSPACE || |
− | + | | HT || 33 || 51 || 09 || 9 || 09 || 9 || HORIZONTAL TABULATION || | |
− | |HT||33||51||09||9||09||9||HORIZONTAL TABULATION|| | + | | LF || 80 || 128 || 0A || 10 || 0A || 10 || LINE FEED || EOB |
− | + | | CR || || || 0D || 13 || 8D || 141 || CARRIAGE RETURN || | |
− | |LF||||||0A||10||0A||10||LINE FEED||EOB | + | | || 10 || 16 || 20 || 32 || A0 || 160 || SPACE || |
− | + | | $ || || || 24 || 36 || 24 || 36 || DOLLAR SIGN || | |
− | |CR|| | + | | % || 5B || 91 || 25 || 37 || A5 || 165 || PERCENT SIGN || EOR – Rewind Stop in ASCII |
− | + | | & || 0E || 14 || 26 || 38 || A6 || 166 || AMPERSAND || | |
− | |||10||16||20||32||A0||160||SPACE|| | + | | ( || 1A || 26 || 28 || 40 || 28 || 40 || LEFT PARENTHESIS || |
− | | | + | | ) || 4A || 74 || 29 || 41 || A9 || 169 || RIGHT PARENTHESIS || |
− | + | | + || 70 || 112 || 2B || 43 || 2B || 43 || PLUS SIGN || | |
− | + | | , || 3B || 59 || 2C || 44 || || || COMMA || | |
− | |%||5B||91||25||37||A5||165||PERCENT SIGN||EOR – Rewind Stop in ASCII | + | | - || 40 || 64 || 2D || 45 || 2D || 45 || HYPHEN-MINUS || |
− | | | + | | . || 6B || 107 || 2E || 46 || 2E || 46 || FULL STOP || |
− | + | | / || 31 || 49 || 2F || 47 || AF || 175 || SOLIDUS || | |
− | | | + | | 0 || 20 || 32 || 30 || 48 || 30 || 48 || DIGIT ZERO || |
− | + | | 1 || 01 || 1 || 31 || 49 || B1 || 177 || DIGIT ONE || | |
− | | | + | | 2 || 02 || 2 || 32 || 50 || B2 || 178 || DIGIT TWO || |
− | | | + | | 3 || 13 || 19 || 33 || 51 || 33 || 51 || DIGIT THREE || |
− | | | + | | 4 || 04 || 4 || 34 || 52 || B4 || 180 || DIGIT FOUR || |
− | + | | 5 || 15 || 21 || 35 || 53 || 35 || 53 || DIGIT FIVE || | |
− | | | + | | 6 || 16 || 22 || 36 || 54 || 36 || 54 || DIGIT SIX || |
− | + | | 7 || 07 || 7 || 37 || 55 || B7 || 183 || DIGIT SEVEN || | |
− | | | + | | 8 || 08 || 8 || 38 || 56 || B8 || 184 || DIGIT EIGHT || |
− | + | | 9 || 19 || 25 || 39 || 57 || 39 || 57 || DIGIT NINE || | |
− | | | + | | : || || || 3A || 58 || 3A || 58 || COLON || |
− | + | | = || || || 3D || 61 || BD || 189 || EQUALS SIGN || | |
− | | | + | | @ || || || 40 || 64 || C0 || 192 || COMMERCIAL AT || |
− | + | | A || 61 || 97 || 41 || 65 || 41 || 65 || LATIN CAPITAL LETTER A || | |
− | + | | B || 62 || 98 || 42 || 66 || 42 || 66 || LATIN CAPITAL LETTER B || | |
− | |0||20||32||30||48||30||48||DIGIT ZERO|| | + | | C || 73 || 115 || 43 || 67 || C3 || 195 || LATIN CAPITAL LETTER C || |
− | + | | D || 64 || 100 || 44 || 68 || 44 || 68 || LATIN CAPITAL LETTER D || | |
− | |1||01||1||31||49||B1||177||DIGIT ONE|| | + | | E || 75 || 117 || 45 || 69 || C5 || 197 || LATIN CAPITAL LETTER E || |
− | + | | F || 76 || 118 || 46 || 70 || C6 || 198 || LATIN CAPITAL LETTER F || | |
− | |2||02||2||32||50||B2||178||DIGIT TWO|| | + | | G || 67 || 103 || 47 || 71 || 47 || 71 || LATIN CAPITAL LETTER G || |
− | + | | H || 68 || 104 || 48 || 72 || 48 || 72 || LATIN CAPITAL LETTER H || | |
− | |3||13||19||33||51||33||51||DIGIT THREE|| | + | | I || 79 || 121 || 49 || 73 || C9 || 201 || LATIN CAPITAL LETTER I || |
− | + | | J || 51 || 81 || 4A || 74 || CA || 202 || LATIN CAPITAL LETTER J || | |
− | |4||04||4||34||52||B4||180||DIGIT FOUR|| | + | | K || 52 || 82 || 4B || 75 || 4B || 75 || LATIN CAPITAL LETTER K || |
− | + | | L || 43 || 67 || 4C || 76 || CC || 204 || LATIN CAPITAL LETTER L || | |
− | |5||15||21||35||53||35||53||DIGIT FIVE|| | + | | M || 54 || 84 || 4D || 77 || 4D || 77 || LATIN CAPITAL LETTER M || |
− | + | | N || 45 || 69 || 4E || 78 || 4E || 78 || LATIN CAPITAL LETTER N || | |
− | |6||16||22||36||54||36||54||DIGIT SIX|| | + | | O || 46 || 70 || 4F || 79 || CF || 207 || LATIN CAPITAL LETTER O || |
− | + | | P || 57 || 87 || 50 || 80 || 50 || 80 || LATIN CAPITAL LETTER P || | |
− | |7||07||7||37||55||B7||183||DIGIT SEVEN|| | + | | Q || 58 || 88 || 51 || 81 || D1 || 209 || LATIN CAPITAL LETTER Q || |
− | + | | R || 49 || 73 || 52 || 82 || D2 || 210 || LATIN CAPITAL LETTER R || | |
− | |8||08||8||38||56||B8||184||DIGIT EIGHT|| | + | | S || 32 || 50 || 53 || 83 || 53 || 83 || LATIN CAPITAL LETTER S || |
− | + | | T || 23 || 35 || 54 || 84 || D4 || 212 || LATIN CAPITAL LETTER T || | |
− | |9||19||25||39||57||39||57||DIGIT NINE|| | + | | U || 34 || 52 || 55 || 85 || 55 || 85 || LATIN CAPITAL LETTER U || |
− | | | + | | V || 25 || 37 || 56 || 86 || 56 || 86 || LATIN CAPITAL LETTER V || |
− | + | | W || 26 || 38 || 57 || 87 || D7 || 215 || LATIN CAPITAL LETTER W || | |
− | | | + | | X || 37 || 55 || 58 || 88 || D8 || 216 || LATIN CAPITAL LETTER X || |
− | + | | Y || 38 || 56 || 59 || 89 || 59 || 89 || LATIN CAPITAL LETTER Y || | |
− | | | + | | Z || 29 || 41 || 5A || 90 || 5A || 90 || LATIN CAPITAL LETTER Z || |
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
|- | |- | ||
|} | |} |
Revision as of 16:01, 17 September 2019
Contents
trivia
- old NC-maschines might use EIA or ISO 'paper-tape' encoding on serial-communication
links
- https://www.grecosystems.com/wp-content/uploads/2015/04/CNCMinifileOM.pdf (appendix 'F', page 61-62)
- https://i-logic.com/serial/punchholes.htm
- https://i-logic.com/serial/eia.htm
- https://books.google.de/books?id=4bJJbIaOgcYC&lpg=PA12&ots=pwQCwkgdWm&dq=iso%20eia%20paper%20tape%20cnc&hl=de&pg=PA16#v=onepage&q=iso%20eia%20paper%20tape%20cnc&f=false
conversion charts
char | EIA | ASCII | ISO | remark | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(hex) | (dec) | (hex) | (dec) | (hex) | (dec) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BS | 2A | 42 | 08 | 8 | 88 | 136 | BACKSPACE | HT | 33 | 51 | 09 | 9 | 09 | 9 | HORIZONTAL TABULATION | LF | 80 | 128 | 0A | 10 | 0A | 10 | LINE FEED | EOB | CR | 0D | 13 | 8D | 141 | CARRIAGE RETURN | 10 | 16 | 20 | 32 | A0 | 160 | SPACE | $ | 24 | 36 | 24 | 36 | DOLLAR SIGN | % | 5B | 91 | 25 | 37 | A5 | 165 | PERCENT SIGN | EOR – Rewind Stop in ASCII | & | 0E | 14 | 26 | 38 | A6 | 166 | AMPERSAND | ( | 1A | 26 | 28 | 40 | 28 | 40 | LEFT PARENTHESIS | ) | 4A | 74 | 29 | 41 | A9 | 169 | RIGHT PARENTHESIS | + | 70 | 112 | 2B | 43 | 2B | 43 | PLUS SIGN | , | 3B | 59 | 2C | 44 | COMMA | - | 40 | 64 | 2D | 45 | 2D | 45 | HYPHEN-MINUS | . | 6B | 107 | 2E | 46 | 2E | 46 | FULL STOP | / | 31 | 49 | 2F | 47 | AF | 175 | SOLIDUS | 0 | 20 | 32 | 30 | 48 | 30 | 48 | DIGIT ZERO | 1 | 01 | 1 | 31 | 49 | B1 | 177 | DIGIT ONE | 2 | 02 | 2 | 32 | 50 | B2 | 178 | DIGIT TWO | 3 | 13 | 19 | 33 | 51 | 33 | 51 | DIGIT THREE | 4 | 04 | 4 | 34 | 52 | B4 | 180 | DIGIT FOUR | 5 | 15 | 21 | 35 | 53 | 35 | 53 | DIGIT FIVE | 6 | 16 | 22 | 36 | 54 | 36 | 54 | DIGIT SIX | 7 | 07 | 7 | 37 | 55 | B7 | 183 | DIGIT SEVEN | 8 | 08 | 8 | 38 | 56 | B8 | 184 | DIGIT EIGHT | 9 | 19 | 25 | 39 | 57 | 39 | 57 | DIGIT NINE | : | 3A | 58 | 3A | 58 | COLON | = | 3D | 61 | BD | 189 | EQUALS SIGN | @ | 40 | 64 | C0 | 192 | COMMERCIAL AT | A | 61 | 97 | 41 | 65 | 41 | 65 | LATIN CAPITAL LETTER A | B | 62 | 98 | 42 | 66 | 42 | 66 | LATIN CAPITAL LETTER B | C | 73 | 115 | 43 | 67 | C3 | 195 | LATIN CAPITAL LETTER C | D | 64 | 100 | 44 | 68 | 44 | 68 | LATIN CAPITAL LETTER D | E | 75 | 117 | 45 | 69 | C5 | 197 | LATIN CAPITAL LETTER E | F | 76 | 118 | 46 | 70 | C6 | 198 | LATIN CAPITAL LETTER F | G | 67 | 103 | 47 | 71 | 47 | 71 | LATIN CAPITAL LETTER G | H | 68 | 104 | 48 | 72 | 48 | 72 | LATIN CAPITAL LETTER H | I | 79 | 121 | 49 | 73 | C9 | 201 | LATIN CAPITAL LETTER I | J | 51 | 81 | 4A | 74 | CA | 202 | LATIN CAPITAL LETTER J | K | 52 | 82 | 4B | 75 | 4B | 75 | LATIN CAPITAL LETTER K | L | 43 | 67 | 4C | 76 | CC | 204 | LATIN CAPITAL LETTER L | M | 54 | 84 | 4D | 77 | 4D | 77 | LATIN CAPITAL LETTER M | N | 45 | 69 | 4E | 78 | 4E | 78 | LATIN CAPITAL LETTER N | O | 46 | 70 | 4F | 79 | CF | 207 | LATIN CAPITAL LETTER O | P | 57 | 87 | 50 | 80 | 50 | 80 | LATIN CAPITAL LETTER P | Q | 58 | 88 | 51 | 81 | D1 | 209 | LATIN CAPITAL LETTER Q | R | 49 | 73 | 52 | 82 | D2 | 210 | LATIN CAPITAL LETTER R | S | 32 | 50 | 53 | 83 | 53 | 83 | LATIN CAPITAL LETTER S | T | 23 | 35 | 54 | 84 | D4 | 212 | LATIN CAPITAL LETTER T | U | 34 | 52 | 55 | 85 | 55 | 85 | LATIN CAPITAL LETTER U | V | 25 | 37 | 56 | 86 | 56 | 86 | LATIN CAPITAL LETTER V | W | 26 | 38 | 57 | 87 | D7 | 215 | LATIN CAPITAL LETTER W | X | 37 | 55 | 58 | 88 | D8 | 216 | LATIN CAPITAL LETTER X | Y | 38 | 56 | 59 | 89 | 59 | 89 | LATIN CAPITAL LETTER Y | Z | 29 | 41 | 5A | 90 | 5A | 90 | LATIN CAPITAL LETTER Z |
pySerial
ubuntu
prerequisites
sudo apt-get install socat
sudo apt install python-pip
pip install pyserial
virtual null-modem
- terminal[1]
sudo socat PTY,link=/dev/ttyS10 PTY,link=/dev/ttyS11
hack encodings
sudo cp usr/lip/python2.7/encodings/hp_roman8.py usr/lip/python2.7/encodings/iso_paper.py
- edit iso_paper.py as needed ...
""" Python Character Mapping Codec 'ISO_paper tape' see https://bastelbude.grade.de/mediawiki/index.php?title=EIA-ASCII-ISO_encoding for details valid: [BACKSPACE] [HORIZONTAL TABULATION] [LINE FEED] [CARRIAGE RETURN] [SPACE] $ % & ( ) + - . / 0 1 2 3 4 5 6 7 8 9 : = @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z """#" import codecs ### Codec APIs class Codec(codecs.Codec): def encode(self,input,errors='strict'): return codecs.charmap_encode(input,errors,encoding_map) def decode(self,input,errors='strict'): return codecs.charmap_decode(input,errors,decoding_map) class IncrementalEncoder(codecs.IncrementalEncoder): def encode(self, input, final=False): return codecs.charmap_encode(input,self.errors,encoding_map)[0] class IncrementalDecoder(codecs.IncrementalDecoder): def decode(self, input, final=False): return codecs.charmap_decode(input,self.errors,decoding_map)[0] class StreamWriter(Codec,codecs.StreamWriter): pass class StreamReader(Codec,codecs.StreamReader): pass ### encodings module API def getregentry(): return codecs.CodecInfo( name='iso-paper', encode=Codec().encode, decode=Codec().decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, streamreader=StreamReader, ) ### Decoding Map decoding_map = codecs.make_identity_dict(range(256)) decoding_map.update({ 0x0008: None, # needs to be set for encoding_map 0x000d: None, # needs to be set for encoding_map 0x0020: None, # needs to be set for encoding_map 0x0025: None, # needs to be set for encoding_map 0x0026: None, # needs to be set for encoding_map 0x0029: None, # needs to be set for encoding_map 0x002c: None, # needs to be set for encoding_map 0x002f: None, # needs to be set for encoding_map 0x0031: None, # needs to be set for encoding_map 0x0032: None, # needs to be set for encoding_map 0x0034: None, # needs to be set for encoding_map 0x0037: None, # needs to be set for encoding_map 0x0038: None, # needs to be set for encoding_map 0x003d: None, # needs to be set for encoding_map 0x0040: None, # needs to be set for encoding_map 0x0043: None, # needs to be set for encoding_map 0x0045: None, # needs to be set for encoding_map 0x0046: None, # needs to be set for encoding_map 0x0049: None, # needs to be set for encoding_map 0x004a: None, # needs to be set for encoding_map 0x004c: None, # needs to be set for encoding_map 0x004f: None, # needs to be set for encoding_map 0x0051: None, # needs to be set for encoding_map 0x0052: None, # needs to be set for encoding_map 0x0054: None, # needs to be set for encoding_map 0x0057: None, # needs to be set for encoding_map 0x0058: None, # needs to be set for encoding_map 0x0088: 0x0008, # BACKSPACE 0x0009: 0x0009, # HORIZONTAL TABULATION 0x000A: 0x000A, # LINE FEED 0x008D: 0x000D, # CARRIAGE RETURN 0x00A0: 0x0020, # SPACE 0x0024: 0x0024, # DOLLAR SIGN 0x00A5: 0x0025, # PERCENT SIGN 0x00A6: 0x0026, # AMPERSAND 0x0028: 0x0028, # LEFT PARENTHESIS 0x00A9: 0x0029, # RIGHT PARENTHESIS 0x002B: 0x002B, # PLUS SIGN 0x002D: 0x002D, # HYPHEN-MINUS 0x002E: 0x002E, # FULL STOP 0x00AF: 0x002F, # SOLIDUS 0x0030: 0x0030, # DIGIT ZERO 0x00B1: 0x0031, # DIGIT ONE 0x00B2: 0x0032, # DIGIT TWO 0x0033: 0x0033, # DIGIT THREE 0x00B4: 0x0034, # DIGIT FOUR 0x0035: 0x0035, # DIGIT FIVE 0x0036: 0x0036, # DIGIT SIX 0x00B7: 0x0037, # DIGIT SEVEN 0x00B8: 0x0038, # DIGIT EIGHT 0x0039: 0x0039, # DIGIT NINE 0x003A: 0x003A, # COLON 0x00BD: 0x003D, # EQUALS SIGN 0x00C0: 0x0040, # COMMERCIAL AT 0x0041: 0x0041, # LATIN CAPITAL LETTER A 0x0042: 0x0042, # LATIN CAPITAL LETTER B 0x00C3: 0x0043, # LATIN CAPITAL LETTER C 0x0044: 0x0044, # LATIN CAPITAL LETTER D 0x00C5: 0x0045, # LATIN CAPITAL LETTER E 0x00C6: 0x0046, # LATIN CAPITAL LETTER F 0x0047: 0x0047, # LATIN CAPITAL LETTER G 0x0048: 0x0048, # LATIN CAPITAL LETTER H 0x00C9: 0x0049, # LATIN CAPITAL LETTER I 0x00CA: 0x004A, # LATIN CAPITAL LETTER J 0x004B: 0x004B, # LATIN CAPITAL LETTER K 0x00CC: 0x004C, # LATIN CAPITAL LETTER L 0x004D: 0x004D, # LATIN CAPITAL LETTER M 0x004E: 0x004E, # LATIN CAPITAL LETTER N 0x00CF: 0x004F, # LATIN CAPITAL LETTER O 0x0050: 0x0050, # LATIN CAPITAL LETTER P 0x00D1: 0x0051, # LATIN CAPITAL LETTER Q 0x00D2: 0x0052, # LATIN CAPITAL LETTER R 0x0053: 0x0053, # LATIN CAPITAL LETTER S 0x00D4: 0x0054, # LATIN CAPITAL LETTER T 0x0055: 0x0055, # LATIN CAPITAL LETTER U 0x0056: 0x0056, # LATIN CAPITAL LETTER V 0x00D7: 0x0057, # LATIN CAPITAL LETTER W 0x00D8: 0x0058, # LATIN CAPITAL LETTER X 0x0059: 0x0059, # LATIN CAPITAL LETTER Y 0x005A: 0x005A, # LATIN CAPITAL LETTER Z }) ### Encoding Map encoding_map = codecs.make_encoding_map(decoding_map)
run miniterm
- terminal[2]
sudo python -m serial.tools.miniterm --echo --encoding hexlify
- terminal[3]
sudo python -m serial.tools.miniterm --encoding iso-paper
windows
prerequisites
- ...
virtual null-modem
- e.g. https://www.virtual-serial-port.org/de/articles/top-6-virtual-com-port-apps/#2
- install, set up and run in demo-mode
reference
- https://i-logic.com/dncserver/
- install, set up and run in demo-mode
hack encodings
- ...
run miniterm
- ...