Developer Application Interface (ARC API) v4.5.9
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 status_e : const std::uint32_t
40#else
41 typedef enum eStatusType
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 ),
51 REDY = _u32( 0x52454459 )
53#ifdef __cplusplus
54 };
55#else
56 } status_e;
57#endif
58
59
63#ifdef __cplusplus
64 enum class cmds_e : const std::uint32_t
65#else
66 typedef enum eCmdType
67#endif
68 {
69 STOP = _u32( 0x53544F50 ),
71 CRDY = _u32( 0x43524459 ),
72 TDL = _u32( 0x0054444C ),
74 GCC = _u32( 0x00474343 ),
75 GCA = _u32( 0x00474341 ),
76 GCVA = _u32( 0x47435641 ),
77 GSS = _u32( 0x00475353 ),
79 GBMP = _u32( 0x47424D50 ),
80 GAMP = _u32( 0x47414D50 ),
82 DIM = _u32( 0x0044494D ),
84 SEX = _u32( 0x00534558 ),
85 RET = _u32( 0x00524554 ),
86 REXM = _u32( 0x5245584D ),
88 SYN = _u32( 0x0053594E ),
89 GPXC = _u32( 0x47505843 ),
91 AVC = _u32( 0x00415643 ),
92 EVC = _u32( 0x00455643 ),
93 GVPC = _u32( 0x47565043 ),
95 AMC = _u32( 0x00414D43 ),
96 SSA = _u32( 0x00535341 ),
98 EBTL = _u32( 0x4542544C ),
99 RDBT = _u32( 0x52444254 ),
100 RDT = _u32( 0x00524454 ),
101 RDTC = _u32( 0x52445443 ),
102 EPCL = _u32( 0x4550434C ),
103 RPSC = _u32( 0x52505343 ),
105 RWFM = _u32( 0x5257464D ),
106 EFM = _u32( 0x0045464D ),
108 LEDS = _u32( 0x4C454453 ),
109 RTSG = _u32( 0x52545347 ),
111 EDBL = _u32( 0x4544424C ),
112 RWDC = _u32( 0x52574443 ),
113 RRV = _u32( 0x00525256 ),
115 GSSM = _u32( 0x4753534D ),
117 BRI = _u32( 0x00425249 ),
119 RWTR = _u32( 0x52575452 ),
120 WTD = _u32( 0x00575444 ),
121 RWWG = _u32( 0x52575747 ),
123 RVR = _u32( 0x00525652 ),
124 WVD = _u32( 0x00575644 ),
126 SHUT = _u32( 0x53485554 ),
128 IIA = _u32( 0x00494941 ),
129 CIB = _u32( 0x00434942 )
131#ifdef __cplusplus
132 };
133#else
134 } cmds_e;
135#endif
136
137
138#ifdef __cplusplus
139 constexpr auto ARC440_INVALID_CHANNEL_ADDRESS = _u32( 0x00000099 );
140#else
141 #define ARC440_INVALID_CHANNEL_ADDRESS _u32( 0x00000099 )
142#endif
143
144
145#ifdef __cplusplus
146 constexpr auto ARC420_READ_EXPOSE_MODE = _u32( 0x52 );
147 constexpr auto ARC420_ENABLE_EXPOSE_MODE = _u32( 0x45 );
148#else
149 #define ARC420_READ_EXPOSE_MODE _u32( 0x52 );
150 #define ARC420_ENABLE_EXPOSE_MODE _u32( 0x45 );
151#endif
152
153#ifdef __cplusplus
154
155 } // end gen4 namespace
156 } // end arc namespace
157
158#endif
constexpr auto ARC420_READ_EXPOSE_MODE
constexpr auto ARC440_INVALID_CHANNEL_ADDRESS
constexpr auto ARC420_ENABLE_EXPOSE_MODE
Definition: CArcBase.h:46