main
John Lauer Publish independent Astra ESC source and full-pad Kelvin review lesson d057af8 23d ago
import json,subprocess,time,pathlib,shlex,datetime
D=pathlib.Path(__file__).parent
B='C:/Users/arav/Downloads/adom-gate/esc-demo/astra-independent/esc-g431-astra-independent.kicad_pcb'
def call(v,a):
 cmd=['adom-bridge','--ai-thread','Astra independent ESC','--target','arav-rog',v,json.dumps(a,separators=(',',':'))]
 t=time.time();p=subprocess.run(cmd,capture_output=True,text=True);r=json.loads(p.stdout)
 with (D/'evidence/calls.jsonl').open('a') as f:f.write(json.dumps(dict(start=t,end=time.time(),utc=datetime.datetime.fromtimestamp(t,datetime.timezone.utc).isoformat(),verb=v,args=a,command=shlex.join(cmd),result=r))+'\n')
 if r.get('success') is False or r.get('status')=='error':raise RuntimeError(r)
 return r
if __name__=='__main__':
 import sys
 r=call(sys.argv[1],json.loads(sys.argv[2] if len(sys.argv)>2 else '{}'));print(json.dumps(r,indent=2))