import os, io, time, json from ckcc.client import ColdcardDevice from ckcc.protocol import CCProtocolPacker from ckcc.cli import real_file_upload d=ColdcardDevice(sn='/tmp/cksim-3.sock') def E(c): r=d.send_recv(b'EXEC'+c.encode(),encrypt=False); return r.decode() if isinstance(r,(bytes,bytearray)) else r def K(k): d.send_recv(CCProtocolPacker.sim_keypress(k.encode('ascii'))) def st(): r=d.send_recv(CCProtocolPacker.hsm_status()); r=r.decode() if isinstance(r,(bytes,bytearray)) else r; return json.loads(r) S=lambda: E("RV.write(repr(sim_display.story))") pf=os.path.expanduser('~/cksim/policy.json') flen,sha=real_file_upload(open(pf,'rb'),d) d.send_recv(CCProtocolPacker.hsm_start(flen,sha)); time.sleep(1.5) print('SCREEN1:', S()[:600]) K('y'); time.sleep(1.5) print('SCREEN2:', S()[:600]) print('ACTIVE_after_y:', st().get('active'))