versadac  1
versadac - Scalable Recorder Firmware
mc_dataWrite.h
1 /*******************************************************************************
2 FILE : mc_dataWrite.h
3 VERSION : $Id: mc_dataWrite.h 4938 2006-10-10 14:20:18Z martinto $
4 SYSTEM : __GNUC__ on vxworks
5 DESCRIPTION : Master comms dataWrite class
6 *******************************************************************************/
7 
8 #ifndef __MC_DATAWRITE_H
9 #define __MC_DATAWRITE_H
10 #include "mc_data.h"
11 
12 class mc_dataWrite: public mc_data
13 {
14  protected:
15  mc_dataWrite(ENUM_MCFunctionCodes z_function, uint16 z_baseRegister, uint16 z_numberOfRegs);
16 
17  public:
18  virtual ~mc_dataWrite();
19  virtual bool isInstanceOfDataWrite();
20  uint16 getBaseRegister(){return m_baseRegister;};
21  uint16 getNumberOfRegs(){return m_numberOfRegs;};
22  bool schedulesBefore(mc_data *z_data);
23 
24  protected:
25  void setData(void *datap, uint16 size);
26  virtual mc_data *merge(uint16 z_maxBlockSize, uint16 z_numberOfBoundaries, uint16 *z_boundaries);
27  virtual bool mergeableWrite();
28 
29  private:
30  static uint16 writeRequestLength(ENUM_MCFunctionCodes z_function, uint16 z_numberOfRegs);
31  static uint16 writeResponseLength(ENUM_MCFunctionCodes z_function);
32  uint16 m_baseRegister;
33  uint16 m_numberOfRegs;
34 };
35 
36 #endif
Definition: mc_data.h:17
Definition: mc_dataWrite.h:12