summaryrefslogtreecommitdiff
path: root/symbolize.py
blob: e5514f381a23474e3e08026488c84cdb7f656120 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/python


STATES = \
[( 10, 'STOP'),
 ( 20, 'WAIT_START'),
 ( 30, 'WAIT_ATX_OK'),
 ( 40, 'WAIT_V1P0'),
 ( 50, 'WAIT_V1P2'),
 ( 60, 'WAIT_V1P8'),
 ( 70, 'WAIT_RSMRST'),
 ( 80, 'CK410_VTT_GD'),
 ( 90, 'STATE_SYS_PWR_OK'),
 (100, 'CPU_RUN'),
 (110, 'WAIT_STOP')
]


import sys


def to_symbol(val):
    last = (-42, 'rien')
    for num, symb in STATES:
        if num == val:
            return symb
        if num > val:
            return last[1] + " + " + str(val - last[0])
        last = (num, symb)
    else:
        return last[1] + " + " + str(val - num)


items = []
for line in sys.stdin:
    line = line.strip()
    items.extend([int(el, 16) for el in line.split()])

for it in items:
    print to_symbol(it)