mirror of https://github.com/koreader/koreader
add ev_log replay script
parent
4841d1bda9
commit
9b4935d5ec
@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding:utf-8 -*-
|
||||||
|
|
||||||
|
import pprint
|
||||||
|
import struct
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
EV_LOG = "ev_double.log"
|
||||||
|
EV_PIPE = "emu_event"
|
||||||
|
|
||||||
|
def gen_ev_from_log_entry(line):
|
||||||
|
values = line.split("|")
|
||||||
|
return {
|
||||||
|
"time": {
|
||||||
|
"sec": int(values[3]),
|
||||||
|
"usec": int(values[4]),
|
||||||
|
},
|
||||||
|
"type": int(values[0]),
|
||||||
|
"code": int(values[1]),
|
||||||
|
"value": int(values[2]),
|
||||||
|
}
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("ev_log", type=str,
|
||||||
|
help="event log file to replay")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# parse ev log into dictionaries
|
||||||
|
evs = [gen_ev_from_log_entry(line.strip())
|
||||||
|
for line in open(args.ev_log)]
|
||||||
|
#pprint.pprint(evs)
|
||||||
|
|
||||||
|
# replay evs
|
||||||
|
ev_pipe = open(EV_PIPE, "w")
|
||||||
|
for ev in evs:
|
||||||
|
#@TODO also simulate timing here 25.02 2013 (houqp)
|
||||||
|
ev_pipe.write(
|
||||||
|
struct.pack("llHHi",
|
||||||
|
ev["time"]["sec"], ev["time"]["usec"],
|
||||||
|
ev["type"],
|
||||||
|
ev["code"],
|
||||||
|
ev["value"])
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue