Developer Application Interface (ARC API) v4.5.8
ARC, Inc. GenIV Application Interface
ArcCommandDefs.h
1// +------------------------------------------------------------------------------------------------------------------+
2// | FILE: CArcCommandDefs.h ( GenIV ) |
3// +------------------------------------------------------------------------------------------------------------------+
4// | PURPOSE: This file defines the ARC controller constants and macros. |
5// | |
6// | AUTHOR: Scott Streit DATE: March 16, 2018 |
7// | |
8// | Copyright 2018 Astronomical Research Cameras, Inc. All rights reserved. |
9// +------------------------------------------------------------------------------------------------------------------+
12#pragma once
13
14
15#ifdef __cplusplus
16
17 #include <cstdint>
18
19 auto constexpr _u32( std::uint32_t x ) { return static_cast<std::uint32_t>( x ); }
20
21 namespace arc
22 {
23 namespace gen4
24 {
25
26#else
27
28 #include <stdint.h>
29
30 #define _u32( x ) ( uint32_t )x
31
32#endif
33
34
38#ifdef __cplusplus
39 enum class cmds_e : const std::uint32_t
40#else
41 typedef enum eCmdType
42#endif
43 {
44 DONE = _u32( 0x444F4E45 ),
45 EROR = _u32( 0x45524F52 ),
46 REDO = _u32( 0x5245444F ),
47 BUSY = _u32( 0x42555359 ),
48 IVPF = _u32( 0x49565046 ),
49 TOUT = _u32( 0x544F5554 ),
50 ROUT = _u32( 0x524F5554 ),
52 STOP = _u32( 0x53544F50 ),
54 CRDY = _u32( 0x43524459 ),
55 TDL = _u32( 0x0054444C ),
57 GCC = _u32( 0x00474343 ),
58 GCA = _u32( 0x00474341 ),
59 GCVA = _u32( 0x47435641 ),
60 GSS = _u32( 0x00475353 ),
62 GBMP = _u32( 0x47424D50 ),
63 GAMP = _u32( 0x47414D50 ),
65 DIM = _u32( 0x0044494D ),
67 SEX = _u32( 0x00534558 ),
68 RET = _u32( 0x00524554 ),
69 PEX = _u32( 0x00504558 ),
70 CET = _u32( 0x00434554 ),
71 REXM = _u32( 0x5245584D ),
72 EXM = _u32( 0x0045584D ),
74 SYN = _u32( 0x0053594E ),
75 GPXC = _u32( 0x47505843 ),
77 AVC = _u32( 0x00415643 ),
78 DVC = _u32( 0x00445643 ),
79 EVC = _u32( 0x00455643 ),
80 GVPC = _u32( 0x47565043 ),
82 AMC = _u32( 0x00414D43 ),
83 SSA = _u32( 0x00535341 ),
85 EBTL = _u32( 0x4542544C ),
86 RDBT = _u32( 0x52444254 ),
87 RDT = _u32( 0x00524454 ),
88 RDTC = _u32( 0x52445443 ),
89 EPCL = _u32( 0x4550434C ),
90 RPSC = _u32( 0x52505343 ),
92 RFM = _u32( 0x0052464D ),
93 WFM = _u32( 0x0057464D ),
94 EFM = _u32( 0x0045464D ),
96 LEDS = _u32( 0x4C454453 ),
97 RTSG = _u32( 0x52545347 ),
99 EDBL = _u32( 0x4544424C ),
100 RWDC = _u32( 0x52574443 ),
101 RRV = _u32( 0x00525256 ),
103 GSSM = _u32( 0x4753534D ),
105 BRI = _u32( 0x00425249 ),
107 RWTR = _u32( 0x52575452 ),
108 WTD = _u32( 0x00575444 ),
109 RWWG = _u32( 0x52575747 ),
111 RVR = _u32( 0x00525652 ),
112 WVD = _u32( 0x00575644 ),
114 SHUT = _u32( 0x53485554 ),
116 IIA = _u32( 0x00494941 ),
117 CIB = _u32( 0x00434942 )
119#ifdef __cplusplus
120 };
121#else
122 } cmds_e;
123#endif
124
125
126#ifdef __cplusplus
127 constexpr auto ARC440_INVALID_CHANNEL_ADDRESS = _u32( 0x00000099 );
128#else
129 #define ARC440_INVALID_CHANNEL_ADDRESS _u32( 0x00000099 )
130#endif
131
132
133#ifdef __cplusplus
134
135 } // end gen4 namespace
136 } // end arc namespace
137
138#endif
constexpr auto ARC440_INVALID_CHANNEL_ADDRESS
Definition: CArcBase.h:50