Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

DC_PUSDataReportingPacket.h

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // DC_PUSDataReportingPacket.h 00005 // 00006 // Version 1.0 00007 // Date 01.11.03 00008 // Author A. Pasetti (P&P Software) 00009 00010 #ifndef DC_PUSDataReportingPacketH 00011 #define DC_PUSDataReportingPacketH 00012 00013 #include "../GeneralInclude/ForwardDeclarations.h" 00014 #include "../GeneralInclude/BasicTypes.h" 00015 #include "../GeneralInclude/Constants.h" 00016 #include "../Telemetry/PUSTelemetryPacket.h" 00017 00137 class DC_PUSDataReportingPacket : public PUSTelemetryPacket { 00138 00139 private: 00140 bool enabled; 00141 00142 unsigned char* defBuffer; 00143 unsigned int defBufferSize; 00144 unsigned int defBufferCounter; // number of bytes loaded in the packet definition buffer 00145 00146 unsigned char* valBuffer; 00147 unsigned int valBufferSize; 00148 00149 unsigned int indSID; 00150 unsigned int indCollectionInterval; 00151 unsigned int indNPAR1; 00152 unsigned int indNFA; 00153 00154 struct FaDescType { 00155 unsigned char nrep; // repetition count (number of frames to be collected in one interval) 00156 TD_PUSNumberOfParameters npar; 00157 unsigned int size; // number of bytes required to store one set of samples (one frame) 00158 TD_PUSCollectionInterval counter; // after a call to update(): the number of remaining 00159 // update cycles before a data collection 00160 unsigned int rep; // after a call to update(): the number of frames already collected 00161 // in this collection interval 00162 unsigned int ind; // index of defBuffer where the first byte of the first FA parameter is stored 00163 unsigned int val; // index of valBuffer where the first byte of the FA values is stored 00164 }; 00165 FaDescType* F; 00166 unsigned int faDescSize; 00167 unsigned int FAcounter; // number of FA in the packet 00168 00169 protected: 00183 TD_DataPoolId getParameterId(unsigned int faIndex, unsigned int parPos); 00184 00185 public: 00195 DC_PUSDataReportingPacket(void); 00196 00201 void setEnabled(bool enabledStatus); 00202 00207 bool isEnabled() const; 00208 00213 TD_PUSCollectionInterval getCollectionInterval(); 00214 00220 TD_PUSNumberOfParameters getNPAR1(); 00221 00226 unsigned char getNFA(); 00227 00232 TD_SID getSID(); 00233 00253 void setDefinitionBuffer(unsigned int i, unsigned char val); 00254 00267 unsigned char getDefinitionBuffer(unsigned int i); 00268 00274 unsigned int getDefinitionBufferLength(void); 00275 00293 virtual void update(); 00294 00302 void reset(); 00303 00341 virtual unsigned int getNumberOfBytes (void); 00342 00350 virtual unsigned char getUnsignedByte(unsigned int n); 00351 00358 virtual unsigned char* getStartAddress(void); 00359 00366 virtual bool isFastAcquisitionImplemented(void); 00367 00377 void setDefinitionBufferSize(unsigned int size); 00378 00383 unsigned int getDefinitionBufferSize(); 00384 00392 void setMaxNumberFA(unsigned int n); 00393 00399 unsigned int getMaxNumberFA(void); 00400 00407 void setValueBufferSize(unsigned int size); 00408 00413 unsigned int getValueBufferSize(void); 00414 00424 virtual bool isObjectConfigured(void); 00425 00426 }; 00427 00428 #endif
Copyright 2003 P&P Software GmbH - All Rights Reserved