LogicDeviceHandSwitch.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #include "stdafx.h"
  2. #include "LogicDeviceHandSwitch.h"
  3. #include "PacketAnalizer.h"
  4. #include "DIOS.Dev.Machinery.Driver.ECOM.h"
  5. using namespace DIOS::Dev::Detail::MachineryECOM;
  6. LogicDeviceHandSwitch::LogicDeviceHandSwitch(MachineryECOMDriver* pMachineryDriver)
  7. :ExposureSwitchUnit(pMachineryDriver)
  8. {
  9. }
  10. LogicDeviceHandSwitch::~LogicDeviceHandSwitch()
  11. {
  12. }
  13. RET_STATUS LogicDeviceHandSwitch::HSWNotify_FirstLevelUp()
  14. {
  15. m_bOneHSWStatus->SetVal("0");
  16. RET_STATUS ret = RET_STATUS::RET_SUCCEED;
  17. ResDataObject NotifyData;
  18. PacketAnalizer::MakeNotify(NotifyData, PACKET_CMD_UPDATE, AttrKey::MachineryHandSwitchState, "0");
  19. m_pMachineryDriver->FireNotify(AttrKey::MachineryHandSwitchState, "0");
  20. m_MachineryHandSwtichState[AttrKey::MachineryHandSwitchState] = 0;
  21. if (gbusinessLog) gbusinessLog->Info("[LogicDeviceHandSwitch][HSWNotify][Handswitch_1][Up]");
  22. return RET_STATUS::RET_SUCCEED;
  23. }
  24. RET_STATUS LogicDeviceHandSwitch::HSWNotify_FirstLevelDown()
  25. {
  26. m_bOneHSWStatus->SetVal("1");
  27. RET_STATUS ret = RET_STATUS::RET_SUCCEED;
  28. ResDataObject NotifyData;
  29. PacketAnalizer::MakeNotify(NotifyData, PACKET_CMD_UPDATE, AttrKey::MachineryHandSwitchState, "1");
  30. m_pMachineryDriver->FireNotify(AttrKey::MachineryHandSwitchState, "1");
  31. m_MachineryHandSwtichState[AttrKey::MachineryHandSwitchState] = 1;
  32. if (gbusinessLog) gbusinessLog->Info("[LogicDeviceHandSwitch][HSWNotify][Handswitch_1][Down]");
  33. return RET_STATUS::RET_SUCCEED;
  34. }
  35. RET_STATUS LogicDeviceHandSwitch::HSWNotify_SecondLevelUp()
  36. {
  37. m_bTwoHSWStatus->SetVal("0");
  38. RET_STATUS ret = RET_STATUS::RET_SUCCEED;
  39. ResDataObject NotifyData;
  40. PacketAnalizer::MakeNotify(NotifyData, PACKET_CMD_UPDATE, AttrKey::MachineryHandSwitchState, "0");
  41. m_pMachineryDriver->FireNotify(AttrKey::MachineryHandSwitchState, "0");
  42. m_MachineryHandSwtichState[AttrKey::MachineryHandSwitchState] = 0;
  43. if (gbusinessLog) gbusinessLog->Info("[LogicDeviceHandSwitch][HSWNotify][Handswitch_2][Up]");
  44. return RET_STATUS::RET_SUCCEED;
  45. }
  46. RET_STATUS LogicDeviceHandSwitch::HSWNotify_SecondLevleDown()
  47. {
  48. m_bTwoHSWStatus->SetVal("1");
  49. RET_STATUS ret = RET_STATUS::RET_SUCCEED;
  50. ResDataObject NotifyData;
  51. PacketAnalizer::MakeNotify(NotifyData, PACKET_CMD_UPDATE, AttrKey::MachineryHandSwitchState, "2");
  52. m_pMachineryDriver->FireNotify(AttrKey::MachineryHandSwitchState, "2");
  53. m_MachineryHandSwtichState[AttrKey::MachineryHandSwitchState] = 2;
  54. if (gbusinessLog) gbusinessLog->Info("[LogicDeviceHandSwitch][HSWNotify][Handswitch_2][Down]");
  55. return RET_STATUS::RET_SUCCEED;
  56. }
  57. RET_STATUS LogicDeviceHandSwitch::SwitchState(HANDSWITCH_STATUS hsw)
  58. {
  59. RET_STATUS ret = RET_STATUS::RET_SUCCEED;
  60. switch (hsw)
  61. {
  62. case HSW_FIRST_DOWN:
  63. ret = HSWNotify_FirstLevelDown();
  64. break;
  65. case HSW_FIRST_UP:
  66. ret = HSWNotify_FirstLevelUp();
  67. break;
  68. case HSW_SECOND_DOWN:
  69. ret = HSWNotify_SecondLevleDown();
  70. break;
  71. case HSW_SECOND_UP:
  72. ret = HSWNotify_SecondLevelUp();
  73. break;
  74. default:
  75. break;
  76. }
  77. return ret;
  78. }