27#include <SAL_MTM1M3C.h>
29#include <ActiveBusList.h>
30#include <ChangeILCModeBusList.h>
31#include <ForceActuatorApplicationSettings.h>
32#include <ForceActuatorSettings.h>
33#include <FreezeSensorBusList.h>
34#include <HardpointActuatorApplicationSettings.h>
35#include <HardpointActuatorSettings.h>
36#include <HardpointMonitorApplicationSettings.h>
37#include <ILCDataTypes.h>
38#include <ILCMessageFactory.h>
39#include <ILCResponseParser.h>
40#include <ILCSubnetData.h>
41#include <ModbusBuffer.h>
42#include <PositionController.h>
43#include <RaisedBusList.h>
44#include <ReadBoostValveDCAGainBusList.h>
45#include <ReadCalibrationBusList.h>
46#include <ReportADCScanRateBusList.h>
47#include <ReportDCAIDBusList.h>
48#include <ReportDCAStatusBusList.h>
49#include <ReportServerIDBusList.h>
50#include <ReportServerStatusBusList.h>
51#include <ResetBustList.h>
52#include <SafetyController.h>
53#include <SetADCChanneOffsetAndSensitivityBusList.h>
54#include <SetADCScanRateBusList.h>
55#include <SetBoostValveDCAGainBusList.h>
81 void writeCalibrationDataBuffer();
82 void writeSetADCScanRateBuffer();
83 void writeSetBoostValveDCAGainBuffer();
84 void writeResetBuffer();
85 void writeReportServerIDBuffer();
86 void writeReportServerStatusBuffer();
87 void writeReportADCScanRateBuffer();
88 void writeReadCalibrationDataBuffer();
89 void writeReadBoostValveDCAGainBuffer();
90 void writeReportDCAIDBuffer();
91 void writeReportDCAStatusBuffer();
92 void writeSetModeDisableBuffer();
93 void writeSetModeEnableBuffer();
94 void writeSetModeStandbyBuffer();
95 void writeSetModeClearFaultsBuffer();
96 void writeFreezeSensorListBuffer();
114 void triggerModbus();
124 void read(uint8_t subnet);
126 void flush(uint8_t subnet);
129 void calculateHPPostion();
130 void calculateHPMirrorForces();
131 void calculateFAMirrorForces();
132 void clearResponses();
133 void verifyResponses();
135 void publishForceActuatorInfo();
136 void publishForceActuatorStatus();
137 void publishHardpointActuatorInfo();
138 void publishHardpointStatus();
139 void publishHardpointData();
140 void publishHardpointMonitorInfo();
141 void publishHardpointMonitorStatus();
142 void publishHardpointMonitorData();
170 bool isDisabled(uint32_t actuatorId) {
return _subnetData.getMap(actuatorId).Disabled; }
208 MTM1M3_hardpointActuatorDataC *_hardpointActuatorData;
210 MTM1M3_logevent_hardpointActuatorInfoC *_hardpointActuatorInfo;
213 int8_t _hpStepCommand[6];
218 int32_t _controlListToggle;
220 uint8_t _subnetToRxAddress(uint8_t subnet);
221 uint8_t _subnetToTxAddress(uint8_t subnet);
223 void _writeBusList(
BusList *busList);
225 void _updateHPSteps();
Definition ActiveBusList.h:35
Abstract class.
Definition BusList.h:57
Definition ChangeILCModeBusList.h:35
(Almost) constant force actuator values.
Definition ForceActuatorApplicationSettings.h:87
Definition FreezeSensorBusList.h:34
Loads Hardpoint Settings.
Definition HardpointActuatorApplicationSettings.h:51
Definition HardpointActuatorSettings.h:43
Definition HardpointMonitorApplicationSettings.h:40
Definition ILCMessageFactory.h:37
Definition ILCResponseParser.h:41
Definition ILCSubnetData.h:38
Utility class for Modbus buffer management.
Definition ModbusBuffer.h:42
Controls M1M3 position.
Definition PositionController.h:61
Definition RaisedBusList.h:34
Definition ReadBoostValveDCAGainBusList.h:33
Definition ReadCalibrationBusList.h:33
Definition ReportADCScanRateBusList.h:33
Definition ReportDCAIDBusList.h:33
Definition ReportDCAStatusBusList.h:33
Definition ReportServerIDBusList.h:33
Definition ReportServerStatusBusList.h:33
Definition ResetBustList.h:33
uint32_t hasDisabledFarNeighbor(uint32_t actuatorIndex)
Check if any far neighbor of an actuator with given index is disabled.
Definition SSILCs.cpp:454
void enableAllFA()
Enables all force actuators.
Definition SSILCs.cpp:448
void waitForAllSubnets(bool realtime_loop)
Wait for Modbus IRQs.
Definition SSILCs.cpp:230
void buildBusLists()
(Re)-build all bus lists.
Definition SSILCs.cpp:100
void enableFA(uint32_t actuatorId)
Enables given FA.
Definition SSILCs.cpp:442
void disableFA(uint32_t actuatorId)
Disable given FA.
Definition SSILCs.cpp:432
void writeRaisedListBuffer()
Called in enabled state (parked, raised,..).
Definition SSILCs.cpp:202
bool isDisabled(uint32_t actuatorId)
Check if given actuator is disabled.
Definition SSILCs.h:170
void writeControlListBuffer()
Called in enabled state.
Definition SSILCs.cpp:215
void writeActiveListBuffer()
Called in enabled state (parked, raised,..).
Definition SSILCs.cpp:209
Controls mirror safety.
Definition SafetyController.h:50
Definition SetADCChanneOffsetAndSensitivityBusList.h:36
Definition SetADCScanRateBusList.h:34
Definition SetBoostValveDCAGainBusList.h:34