projects
/
eisenbahn.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
be68dfb46dbba34304c9c609cbae354563c2c992
[eisenbahn.git]
/
trennfix
/
sw
/
mm_lookup.h
1
#ifndef __MM_LOOKUP_H
2
#define __MM_LOOKUP_H
3
4
/*
5
* Lookup decoder number.
6
*
7
*/
8
static uint8_t
lookup_decoder
(
uint8_t
mm_byte
)
9
{
10
switch
(
mm_byte
) {
11
/* 0x00 is invalid */
12
case
0xc0
:
return
1
;
13
case
0x80
:
return
2
;
14
case
0x30
:
return
3
;
15
case
0xf0
:
return
4
;
16
case
0xb0
:
return
5
;
17
case
0x20
:
return
6
;
18
case
0xe0
:
return
7
;
19
case
0xa0
:
return
8
;
20
21
case
0x0c
:
return
9
;
22
case
0xcc
:
return
10
;
23
case
0x8c
:
return
11
;
24
case
0x3c
:
return
12
;
25
case
0xfc
:
return
13
;
26
case
0xbc
:
return
14
;
27
case
0x2c
:
return
15
;
28
case
0xec
:
return
16
;
29
case
0xac
:
return
17
;
30
31
case
0x08
:
return
18
;
32
case
0xc8
:
return
19
;
33
case
0x88
:
return
20
;
34
case
0x38
:
return
21
;
35
case
0xf8
:
return
22
;
36
case
0xb8
:
return
23
;
37
case
0x28
:
return
24
;
38
case
0xe8
:
return
25
;
39
40
default
:
41
return
0
;
42
}
43
}
44
45
static uint8_t
lookup_command
(
uint8_t
mm_byte
)
46
{
47
switch
(
mm_byte
) {
48
case
0xc3
:
return
1
;
49
case
0x03
:
return
2
;
50
case
0xf3
:
return
3
;
51
case
0x33
:
return
4
;
52
case
0xcf
:
return
5
;
53
case
0x0f
:
return
6
;
54
case
0xff
:
return
7
;
55
case
0x3f
:
return
8
;
56
default
:
57
return
0
;
58
}
59
}
60
61
62
#endif