M1M3 Support System
Loading...
Searching...
No Matches
ILCDataTypes.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 ILCDATATYPES_H_
25#define ILCDATATYPES_H_
26
27#include <cRIO/DataTypes.h>
28#include <string>
29#include <vector>
30
31namespace LSST {
32namespace M1M3 {
33namespace SS {
34
35struct ILCTypes {
36 enum Type { Unknown = 0, HP = 1, FA = 2, HM = 3 };
37};
38
42struct ILCMap {
43 ILCTypes::Type Type;
44 uint8_t Subnet;
45 uint8_t Address;
46 int32_t ActuatorId;
47 int32_t DataIndex;
48 int32_t XDataIndex;
49 int32_t YDataIndex;
51
57};
58
59struct HPSettings {
60 uint8_t subnet[6];
61 uint8_t address[6];
62 int16_t id[6];
63 float xPosition[6];
64 float yPosition[6];
65 float zPosition[6];
66 float loadCellOffset[6];
67 float loadCellSensitivity[6];
68};
69
71 enum Type {
72 Hz50 = 0,
73 Hz60 = 1,
74 Hz100 = 2,
75 Hz120 = 3,
76 Hz200 = 4,
77 Hz240 = 5,
78 Hz300 = 6,
79 Hz400 = 7,
80 Hz480 = 8,
81 Hz600 = 9,
82 Hz1200 = 10,
83 Hz2400 = 11,
84 Hz4800 = 12,
85 NoChange = 255
86 };
87};
88
89struct ILCModes {
90 enum Type {
91 Standby = 0,
92 Disabled = 1,
93 Enabled = 2,
94 FirmwareUpdate = 3,
95 Fault = 4,
96 ClearFaults = 5,
97 NoChange = 65535
98 };
99};
100
101} /* namespace SS */
102} /* namespace M1M3 */
103} /* namespace LSST */
104
105#endif /* ILCDATATYPES_H_ */
Definition ILCDataTypes.h:59
ILC data.
Definition ILCDataTypes.h:42
bool Disabled
secondary index, -1 for single axis, 0-111
Definition ILCDataTypes.h:56
int32_t YDataIndex
X index. -1 for single axis FA, 0-99.
Definition ILCDataTypes.h:49
int32_t SecondaryDataIndex
Y index, -1 for single axis FA, 0-11.
Definition ILCDataTypes.h:50
int32_t XDataIndex
Z index. 0-155.
Definition ILCDataTypes.h:48
int32_t DataIndex
Actuator ID. 100-443 for FA, 0-5 for HP.
Definition ILCDataTypes.h:47
Definition ILCDataTypes.h:89
Definition ILCDataTypes.h:70
Definition ILCDataTypes.h:35