main.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include <QCoreApplication>
  2. #include <QObject>
  3. #include <signal.h>
  4. #include "canctrl.h"
  5. #include <QDebug>
  6. #include <unistd.h>
  7. #include <thread>
  8. #include <iostream>
  9. #include <xmlparam.h>
  10. #include "ivversion.h"
  11. iv::Ivfault *gfault = nullptr;
  12. iv::Ivlog *givlog = nullptr;
  13. //void func()
  14. //{
  15. // int i;
  16. // i = 0;
  17. // while(1)
  18. // {
  19. // std::this_thread::sleep_for(std::chrono::milliseconds(1000));
  20. // i++;
  21. // qDebug("pid is ",getpid());
  22. // if(i == 10)break;
  23. // }
  24. // qDebug("pid is %d ",getpid());
  25. // kill(getpid(),SIGINT);
  26. //}
  27. int main(int argc, char *argv[])
  28. {
  29. showversion("driver_can_kvaser");
  30. QCoreApplication a(argc, argv);
  31. gfault = new iv::Ivfault("kvaser_can");
  32. givlog = new iv::Ivlog("kvaser_can");
  33. QString strpath = QCoreApplication::applicationDirPath();
  34. if(argc < 2){
  35. givlog->info("read param form driver_can_vci.xml");
  36. strpath = strpath + "/driver_can_kvaser.xml";
  37. }
  38. else{
  39. strpath = argv[1];
  40. givlog->info("set param by default value");
  41. }
  42. std::cout<<strpath.toStdString()<<std::endl;
  43. iv::xmlparam::Xmlparam xp(strpath.toStdString());
  44. std::string strmemsend0 = xp.GetParam("cansend0_kvaser","cansend0");
  45. std::string strmemsend1 = xp.GetParam("cansend1_kvaser","cansend1");
  46. std::string strmemrecv0 = xp.GetParam("canrecv0_kvaser","canrecv0");
  47. std::string strmemrecv1 = xp.GetParam("canrecv1_kvaser","canrecv1");
  48. std::string strmemsend_canstate = xp.GetParam("canstate","canstate");
  49. std::string strmemdevnum = xp.GetParam("devnum","0");
  50. std::string strmembaud0 = xp.GetParam("baud0","500k");
  51. std::string strmembaud1 = xp.GetParam("baud0","500k");
  52. canctrl * pcanctrl = new canctrl(strmemsend0.data(),strmemsend1.data(),strmemrecv0.data(),strmemrecv1.data(),
  53. strmemsend_canstate.data(),strmemdevnum.data(),strmembaud0.data(),strmembaud1.data());
  54. pcanctrl->start();
  55. // std::thread b(func);
  56. return a.exec();
  57. }