Main.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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.RtdeSetupOutputs;
  8. import at.acdp.urweb.web.FestoXRServer;
  9. import com.nmote.nanohttp.NanoServer;
  10. import com.nmote.xr.HTTPServerEndpoint;
  11. import com.nmote.xr.XR;
  12. import org.slf4j.LoggerFactory;
  13. public class Main {
  14. private final static org.slf4j.Logger logger = LoggerFactory.getLogger(Main.class);
  15. public static IFHMaster fhm=new FHMasterSim();
  16. public static void main(String[] args) {
  17. Params app = null;
  18. try {
  19. app = picocli.CommandLine.populateCommand(new Params(), args);
  20. if(app==null) {
  21. System.exit(1);
  22. }
  23. NanoServer server = new NanoServer("http://0.0.0.0:" + app.port);
  24. RTDEClient r=new RTDEClient("127.0.0.1", 30004);
  25. r.start();
  26. var so=new RtdeSetupOutputs()
  27. .addVariable("timestamp")
  28. .addVariable("robot_mode");
  29. r.request(so);
  30. FestoXRServer fxrs = new FestoXRServer();
  31. HTTPServerEndpoint xrs = XR.server(fxrs, FestoXRServer.class);
  32. server.add(xrs);
  33. server.start();
  34. } catch (Exception e) {
  35. logger.error("Server exited", e);
  36. }
  37. try {
  38. fhm.start(app);
  39. } catch (Exception e) {
  40. logger.error("failed.", e);
  41. picocli.CommandLine.usage(new Params(), System.out);
  42. System.exit(1);
  43. }
  44. }
  45. }