M1M3 Support System
Loading...
Searching...
No Matches
HardpointTestController.h
1/*
2 * This file is part of LSST M1M3 support system package.
3 *
4 * Developed for the Telescope & Site Software Systems.
5 * This product includes software developed by the LSST Project
6 * (https://www.lsst.org).
7 * See the COPYRIGHT file at the top-level directory of this distribution
8 * for details of code ownership.
9 *
10 * This program is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22 */
23
24#ifndef HARDPOINTTESTCONTROLLER_H_
25#define HARDPOINTTESTCONTROLLER_H_
26
27#include <SAL_MTM1M3.h>
28
29#include <HardpointActuatorSettings.h>
30#include <PositionController.h>
31#include <cRIO/DataTypes.h>
32
33namespace LSST {
34namespace M1M3 {
35namespace SS {
36
41class HardpointTestController : public MTM1M3_logevent_hardpointTestStatusC {
42public:
43 HardpointTestController(PositionController *positionController);
44
52 int startHardpointTest(int hardpointIndex);
53
58 void runLoop();
59
68 int killHardpointTest(int hardpointIndex);
69
77 bool isTested(int hardpointIndex);
78
79private:
80 bool _runHardpointLoop(int hardpointIndex);
81
82 PositionController *_positionController;
83 HardpointActuatorSettings *_hardpointActuatorSettings;
84 MTM1M3_hardpointActuatorDataC *_hardpointActuatorData;
85 MTM1M3_logevent_hardpointActuatorStateC *_hardpointActuatorState;
86};
87
88} // namespace SS
89} // namespace M1M3
90} // namespace LSST
91
92#endif /* HARDPOINTTESTCONTROLLER_H_ */
Definition HardpointActuatorSettings.h:43
int startHardpointTest(int hardpointIndex)
Starts hardpoint test.
Definition HardpointTestController.cpp:56
int killHardpointTest(int hardpointIndex)
Stops hardpoint test in progress;.
Definition HardpointTestController.cpp:80
void runLoop()
Run single loop.
Definition HardpointTestController.cpp:69
bool isTested(int hardpointIndex)
Returns true if given hardpoint is being tested.
Definition HardpointTestController.cpp:100
Controls M1M3 position.
Definition PositionController.h:61