picadae calibration programs
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

velTableToDataStruct.py 1014B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import json
  2. from common import parse_yaml_cfg
  3. ymlFn = 'p_ac.yml'
  4. ifn = 'velMapD.json'
  5. ofn = 'velMapD.h'
  6. with open(ofn,"wt") as f1:
  7. with open(ifn,"r") as f:
  8. d = json.load(f)
  9. f1.write("{\n");
  10. for key,velL in d.items():
  11. f1.write("{ ")
  12. f1.write( str(key) + ", { " )
  13. for us,x in velL:
  14. f1.write("%5i, " % (us))
  15. f1.write("} },\n")
  16. f1.write("}\n\n");
  17. cfg = parse_yaml_cfg(ymlFn)
  18. d = cfg.calibrateArgs['holdDutyPctD']
  19. n = 0
  20. for key,dutyL in d.items():
  21. n = max(n, len(dutyL))
  22. f1.write("{\n")
  23. for key,dutyL in d.items():
  24. f1.write( str(key)+", {")
  25. for i,(us,duty) in enumerate(dutyL):
  26. f1.write("{ %i, %i }, " % (us,duty))
  27. for j in range(i,n):
  28. f1.write("{ -1, -1 }, ")
  29. f1.write("},\n");
  30. f1.write("}\n");