OEM.Collimator.cpp 1.6 KB

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