STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
ControlMessages.hpp
Go to the documentation of this file.
1
#ifndef DAQ_CONTROL_MESSAGES_HPP
2
#define DAQ_CONTROL_MESSAGES_HPP
3
4
#include <cstdint>
5
6
#include "
../../CommsMessage.hpp
"
7
8
namespace
comms
{
9
namespace
messages
{
10
namespace
control
{
11
12
// Import CommsMessage from parent namespace
13
using
comms::CommsMessage;
14
15
/**
16
* @brief Actuator command message
17
*
18
* Contains commands sent to actuators (valves, igniters, etc.).
19
*/
20
using
ActuatorCommandMessage
=
21
CommsMessage
<uint64_t,
// (0) timestamp_ns - monotonic timestamp
22
uint8_t,
// (1) actuator_id - Actuator identifier
23
uint8_t,
// (2) command_type - Command type (OPEN, CLOSE, PULSE, etc.)
24
float,
// (3) value - Command value (duration, duty cycle, etc.)
25
uint8_t
// (4) status - Command status/acknowledgment
26
>;
27
28
/**
29
* @brief Control state message
30
*
31
* Contains current control system state (PID terms, setpoints, etc.).
32
*/
33
using
ControlStateMessage
=
CommsMessage
<uint64_t,
// (0) timestamp_ns - monotonic timestamp
34
double,
// (1) setpoint_x - X-axis setpoint
35
double,
// (2) setpoint_y - Y-axis setpoint
36
double,
// (3) setpoint_z - Z-axis setpoint
37
double,
// (4) pid_p_x - X-axis proportional term
38
double,
// (5) pid_i_x - X-axis integral term
39
double,
// (6) pid_d_x - X-axis derivative term
40
double,
// (7) pid_p_y - Y-axis proportional term
41
double,
// (8) pid_i_y - Y-axis integral term
42
double,
// (9) pid_d_y - Y-axis derivative term
43
double,
// (10) pid_p_z - Z-axis proportional term
44
double,
// (11) pid_i_z - Z-axis integral term
45
double
// (12) pid_d_z - Z-axis derivative term
46
>;
47
48
}
// namespace control
49
}
// namespace messages
50
using
comms::CommsMessage
;
51
}
// namespace comms
52
53
#endif
// DAQ_CONTROL_MESSAGES_HPP
CommsMessage.hpp
comms::messages::control
Definition
ControllerMessages.hpp:10
comms::messages::control::ActuatorCommandMessage
CommsMessage< uint64_t, uint8_t, uint8_t, float, uint8_t > ActuatorCommandMessage
Actuator command message.
Definition
ControlMessages.hpp:20
comms::messages::control::ControlStateMessage
CommsMessage< uint64_t, double, double, double, double, double, double, double, double, double, double, double, double > ControlStateMessage
Control state message.
Definition
ControlMessages.hpp:33
comms::messages
Definition
BoardHeartbeatMessage.hpp:9
comms
Central message header for all communication messages.
Definition
CommsMessage.hpp:11
comms::CommsMessage
CommsMessage - Template-based message serialization.
Definition
CommsMessage.hpp:24
daq-server
diablo_server
transport
include
comms
messages
control
ControlMessages.hpp
Generated by
1.15.0