LedStatusMessage.h
Go to the documentation of this file.
00001 
00040 #ifndef LibMultiSense_LedStatusMessage
00041 #define LibMultiSense_LedStatusMessage
00042 
00043 #include "details/utility/Portability.hh"
00044 
00045 namespace crl {
00046 namespace multisense {
00047 namespace details {
00048 namespace wire {
00049 
00050 class LedStatus {
00051 public:
00052     static CRL_CONSTEXPR IdType      ID      = ID_DATA_LED_STATUS;
00053     static CRL_CONSTEXPR VersionType VERSION = 1;
00054 
00055     //
00056     // Bit mask indicating which LEDs are implemented
00057 
00058     uint8_t available;
00059 
00060     //
00061     // Current LED duty cycles; 0 = off; 255 = 100%
00062 
00063     uint8_t intensity[lighting::MAX_LIGHTS];
00064 
00065     //
00066     // If non-zero, LEDs are only on while sensors are exposing
00067 
00068     uint8_t flash;
00069 
00070     //
00071     // Constructors
00072 
00073     LedStatus(utility::BufferStreamReader&r, VersionType v) {serialize(r,v);};
00074     LedStatus() : available(0), flash(0) {};
00075 
00076     //
00077     // Serialization routine
00078     
00079     template<class Archive>
00080         void serialize(Archive&          message,
00081                        const VersionType version)
00082     {
00083         message & available;
00084         for(uint32_t i=0; i<lighting::MAX_LIGHTS; i++)
00085             message & intensity[i];
00086         message & flash;
00087     }
00088 };
00089 
00090 }}}}; // namespaces
00091 
00092 #endif


multisense_lib
Author(s):
autogenerated on Thu Aug 27 2015 14:01:11