M1M3 Support System
Loading...
Searching...
No Matches
AirSupplyStatus.h
1/*
2 * This file is part of LSST M1M3 support system package.
3 *
4 * Developed for the Vera C. Rubin Telescope and Site System.
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 LSST_AIRSUPPLYSTATUS_H
25#define LSST_AIRSUPPLYSTATUS_H
26
27#include <chrono>
28
29#include <SAL_MTM1M3.h>
30
31#include <cRIO/DataTypes.h>
32#include <cRIO/Singleton.h>
33
34namespace LSST {
35namespace M1M3 {
36namespace SS {
37
41class AirSupplyStatus : public MTM1M3_logevent_airSupplyStatusC, public cRIO::Singleton<AirSupplyStatus> {
42public:
43 AirSupplyStatus(token);
44
45 void send();
46
47 void setAirCommanded(bool _airCommandedOn);
48
57 bool setOutputs(double _timestamp, bool _airCommandOutputOn);
58
59 bool setInputs(double _timestamp, bool _airValveClosed, bool _airValveOpened);
60
61private:
62 bool _updated;
63 std::chrono::steady_clock::time_point _airToggledTime;
64};
65
66} // namespace SS
67} // namespace M1M3
68} // namespace LSST
69
70#endif // ! LSST_AIRSUPPLYSTATUS_H
Handles air supply status.
Definition AirSupplyStatus.h:41
bool setOutputs(double _timestamp, bool _airCommandOutputOn)
Set outputs, returns if mismatch is detected.
Definition AirSupplyStatus.cpp:62