OEM.Collimator.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "OEM.Collimator.h"
  2. //#include "CCOS.Dev.FPD.Demo.h"
  3. #include "CCOS.Dev.Generator.CPI.h"
  4. OemCollimator::OemCollimator(std::shared_ptr <CCOS::Dev::IOEventCenter> EventCenter): super(EventCenter)
  5. {
  6. }
  7. OemCollimator::~OemCollimator()
  8. {
  9. }
  10. bool OemCollimator::Prepare()
  11. {
  12. printf("OemCollimator::Prepare\n");
  13. Register();
  14. return true;
  15. }
  16. void OemCollimator::Register()
  17. {
  18. printf("OemCollimator::Register\n");
  19. auto p = static_cast <CollimatorDevice*> (this);
  20. auto Disp = m_Dispatch.Lock().As();
  21. Disp->Action.Push("SetCollimatorSize", p, &CollimatorDevice::JSSetCollimatorSize);
  22. Disp->Action.Push("SetCollimatorFilter", p, &CollimatorDevice::JSSetCollimatorFilter);
  23. Disp->Action.Push("SetCollimatorSID", p, &CollimatorDevice::JSSetCollimatorSID);
  24. Disp->Action.Push("SetCollimatorAngle", p, &CollimatorDevice::JSSetCollimatorAngle);
  25. Disp->Get.Push("XSize", p, &CollimatorDevice::JSGetCollimatorXSize);
  26. Disp->Get.Push("YSize", p, &CollimatorDevice::JSGetCollimatorYSize);
  27. Disp->Get.Push("SID", p, &CollimatorDevice::JSGetCollimatorSID);
  28. Disp->Get.Push("Filter", p, &CollimatorDevice::JSGetCollimatorFilter);
  29. Disp->Get.Push("Angle", p, &CollimatorDevice::JSGetCollimatorAngle);
  30. }
  31. void OemCollimator::SetCtrlDev(CPIDevice* pCtrlDev)
  32. {
  33. m_pGEN = pCtrlDev;
  34. }
  35. RET_STATUS OemCollimator::SetCollimatorFilter(unsigned short pParams)
  36. {
  37. RET_STATUS ret = RET_STATUS::RET_FAILED;
  38. ret = m_pGEN->SetFilter(pParams);
  39. return ret;
  40. }
  41. RET_STATUS OemCollimator::SetCollimatorSize(unsigned short xsize, unsigned short ysize)
  42. {
  43. RET_STATUS ret = RET_STATUS::RET_FAILED;
  44. ret = m_pGEN->SetCollimatorSize(xsize, ysize);
  45. return ret;
  46. }