Main.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package at.acdp.urweb;
  2. import at.acdp.urweb.fhpp.FHMaster;
  3. import at.acdp.urweb.fhpp.FHMasterSim;
  4. import at.acdp.urweb.fhpp.FHPP;
  5. import at.acdp.urweb.fhpp.IFHMaster;
  6. import at.acdp.urweb.rtde.RTDEClient;
  7. import at.acdp.urweb.rtde.packets.RtdeControlStart;
  8. import at.acdp.urweb.rtde.packets.RtdeSetupInputs;
  9. import at.acdp.urweb.rtde.packets.RtdeSetupOutputs;
  10. import at.acdp.urweb.web.FestoXRServer;
  11. import com.nmote.nanohttp.NanoServer;
  12. import com.nmote.xr.HTTPServerEndpoint;
  13. import com.nmote.xr.XR;
  14. import org.slf4j.LoggerFactory;
  15. public class Main {
  16. private final static org.slf4j.Logger logger = LoggerFactory.getLogger(Main.class);
  17. public static IFHMaster fhm=new FHMasterSim();
  18. public static void main(String[] args) {
  19. Params app = null;
  20. try {
  21. app = picocli.CommandLine.populateCommand(new Params(), args);
  22. if(app==null) {
  23. System.exit(1);
  24. }
  25. NanoServer server = new NanoServer("http://0.0.0.0:" + app.port);
  26. RTDEClient r=new RTDEClient("127.0.0.1", 30004);
  27. r.start();
  28. var so=new RtdeSetupOutputs()
  29. .addVariable("timestamp")
  30. .addVariable("robot_mode")
  31. .addVariable("safety_mode")
  32. .addVariable("safety_status")
  33. .addVariable("target_speed_fraction")
  34. .addVariable("speed_scaling");
  35. r.request(so);
  36. var si=new RtdeSetupInputs()
  37. .addVariable("input_int_register_24");
  38. r.request(si);
  39. System.out.println(si.recipe);
  40. var start=new RtdeControlStart();
  41. r.request(start);
  42. FestoXRServer fxrs = new FestoXRServer();
  43. HTTPServerEndpoint xrs = XR.server(fxrs, FestoXRServer.class);
  44. server.add(xrs);
  45. server.start();
  46. } catch (Exception e) {
  47. logger.error("Server exited", e);
  48. }
  49. try {
  50. fhm.start(app);
  51. } catch (Exception e) {
  52. logger.error("failed.", e);
  53. picocli.CommandLine.usage(new Params(), System.out);
  54. System.exit(1);
  55. }
  56. }
  57. }