123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #include "stdafx.h"
- #include "LandmarkController.h"
- #include "ICommunicateEntity.h"
- using namespace DIOS::Dev::Detail::MachineryECOM;
- LandmarkController::LandmarkController()
- {
- }
- LandmarkController::~LandmarkController()
- {
- }
- std::string LandmarkController::CLASSID()
- {
- return "32087778-B64F-CB03-66D8-47F361473929";
- }
- void LandmarkController::Initialize(const std::string &name)
- {
- SetName(name);
- }
- void LandmarkController::OnCommunicationEstablished(ICommunicateEntity *communicate)
- {
- m_communicate = communicate;
- }
- int LandmarkController::ReadTubeAngleLowLandmarkStatus()
- {
- return DoReadLandmarkStatus(m_functionIds[ID_TUBE_ANGLE_LOW_LIMIT]);
- }
- int LandmarkController::ReadTubeAngleHighLandmarkStatus()
- {
- return DoReadLandmarkStatus(m_functionIds[ID_TUBE_ANGLE_HIGH_LIMIT]);
- }
- int LandmarkController::ReadTubeHeightLowLandmarkStatus()
- {
- return DoReadLandmarkStatus(m_functionIds[ID_TUBE_HEIGHT_LOW_LIMIT]);
- }
- int LandmarkController::ReadTubeHeightHighLandmarkStatus()
- {
- return DoReadLandmarkStatus(m_functionIds[ID_TUBE_HEIGHT_HIGH_LIMIT]);
- }
- int LandmarkController::ReadTubeHorizontalLeftLandmarkStatus()
- {
- return DoReadLandmarkStatus(m_functionIds[ID_TUBE_HORIZONTAL_LEFT_LIMIT]);
- }
- int LandmarkController::ReadTubeHorizontalRightLandmarkStatus()
- {
- return DoReadLandmarkStatus(m_functionIds[ID_TUBE_HORIZONTAL_RIGHT_LIMIT]);
- }
- int LandmarkController::DoReadLandmarkStatus(int interfaceid)
- {
- if (!m_communicate)
- {
- return 0;
- }
- GPIO_DI_PARAM params;
- params.input_mode = GIM_DIGITAL;
- params.active_level = 0x0;
- m_communicate->GPIO_DI_Ctrl(OP_READ, (GPIO_DI_ID)interfaceid, DI_ATTR_NONE, params);
- return params.active_level;
- }
|