LedSetMessage.h
Go to the documentation of this file.
00001 
00040 #ifndef LibMultiSense_LedSetMessage
00041 #define LibMultiSense_LedSetMessage
00042 
00043 #include "details/utility/Portability.hh"
00044 
00045 namespace crl {
00046 namespace multisense {
00047 namespace details {
00048 namespace wire {
00049 
00050 class LedSet {
00051 public:
00052     static CRL_CONSTEXPR IdType      ID      = ID_CMD_LED_SET;
00053     static CRL_CONSTEXPR VersionType VERSION = 1;
00054 
00055     //
00056     // Bit mask selecting which LEDs to update
00057 
00058     uint8_t mask;
00059 
00060     //
00061     // 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     LedSet(utility::BufferStreamReader&r, VersionType v) {serialize(r,v);};
00074     LedSet() : mask(0), flash(0) {};
00075 
00076     //
00077     // Serialization routine
00078 
00079     template <class Archiver>
00080         void serialize(Archiver&      archive,
00081                        const VersionType version)
00082     {
00083         archive & mask;
00084         for(uint32_t i=0; i<lighting::MAX_LIGHTS; i++)
00085             archive & intensity[i];
00086         archive & flash;
00087     }
00088 };
00089 
00090 }}}}; // namespaces
00091 
00092 #endif


multisense_lib
Author(s):
autogenerated on Fri Apr 5 2019 02:28:24