-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommand_rules.h
More file actions
37 lines (29 loc) · 1.01 KB
/
command_rules.h
File metadata and controls
37 lines (29 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#pragma once
#include "command.h"
#include <vector>
namespace Sequencer {
enum class CameraState {
IDLE,
READY,
EXPOSING,
READING
};
const CommandSpecMap camerad_specs = {
{ CAMERAD_ACTIVATE, {0, 4} },
{ CAMERAD_DEACTIVATE, {1, 4} },
{ CAMERAD_OPEN, {0, 1} },
{ CAMERAD_CLOSE, {0, 0} },
{ CAMERAD_EXPTIME, {0, 1} },
{ CAMERAD_EXPOSE, {0, 0} },
{ CAMERAD_READOUT, {0, 2} }
};
const std::vector<Transition<CameraState>> camerad_transitions = {
{ CameraState::IDLE, CAMERAD_OPEN, CameraState::READY },
{ CameraState::READY, CAMERAD_ACTIVATE, CameraState::READY },
{ CameraState::READY, CAMERAD_DEACTIVATE, CameraState::READY },
{ CameraState::READY, CAMERAD_EXPTIME, CameraState::READY },
{ CameraState::READY, CAMERAD_EXPOSE, CameraState::EXPOSING },
{ CameraState::EXPOSING, CAMERAD_READOUT, CameraState::READING },
{ CameraState::READING, CAMERAD_READOUT, CameraState::READY }
};
}