Developer Application Interface (ARC API) v4.5.8
ARC, Inc. GenIV Application Interface
CArcAlertPacket.h
1// +------------------------------------------------------------------------------------------------------------------+
2// | FILE: CArcAlertPacket.h ( GenIV ) |
3// +------------------------------------------------------------------------------------------------------------------+
4// | PURPOSE: This file defines the ARC device/controller exception packet class. |
5// | |
6// | AUTHOR: Scott Streit DATE: August 14, 2014 |
7// | |
8// | Copyright 2014 Astronomical Research Cameras, Inc. All rights reserved. |
9// +------------------------------------------------------------------------------------------------------------------+
12#pragma once
13
14#ifdef _WINDOWS
15 #pragma warning( disable: 4251 )
16#endif
17
18#include <cstdint>
19#include <memory>
20
21#include <CArcStatusPacket.h>
22#include <CArcDeviceDllMain.h>
23
24
25namespace arc
26{
27 namespace gen4
28 {
29
35 class GEN4_CARCDEVICE_API CArcAlertPacket final : public CArcStatusPacket
36 {
37 public:
38
42
45 virtual ~CArcAlertPacket( void );
46
50 bool headerValid( void ) const noexcept override;
51
56 const std::string translate( void );
57
63 const std::string getName( void ) const noexcept override;
64
66 static constexpr std::uint32_t MAX_PACKET_SIZE = CArcPacket::MAX_PACKET_SIZE;
67
68 protected:
69
70 /* The packet payload id */
71 static constexpr std::uint8_t PAYLOAD_ID = 0xAE;
72
73 /* The packet data value to tell the driver to read from the alert register */
74 static constexpr std::uint32_t READ_ALERT = 0x414C5254;
75 };
76
77 } // end gen4 namespace
78} // end arc namespace
79
80
81
82#ifndef DOXYGEN_SHOULD_SKIP_THIS
83
84namespace std
85{
91 template<>
92 class GEN4_CARCDEVICE_API default_delete< arc::gen4::CArcAlertPacket >
93 {
94 public:
95
99 void operator()( arc::gen4::CArcAlertPacket* pObj );
100 };
101}
102
103#endif // DOXYGEN_SHOULD_SKIP_THIS
bool headerValid(void) const noexcept override
virtual ~CArcAlertPacket(void)
const std::string translate(void)
const std::string getName(void) const noexcept override
static constexpr auto MAX_PACKET_SIZE
Definition: CArcPacket.h:194
Definition: CArcBase.h:50