versadac  1
versadac - Scalable Recorder Firmware
mc_dataWriteDouble.h
1 /*******************************************************************************
2 FILE : mc_dataWriteDouble.h
3 VERSION : $Id: mc_dataWriteDouble.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_DATAWRITEDOUBLE_H
9 #define __MC_DATAWRITEDOUBLE_H
10 #include "mc_dataWrite.h"
11 #include "ENUM_MCScalingTypes.h"
12 #include "ENUM_MCDataTypes.h"
13 #include "ENUM_MCUpdateIntervals.h"
14 
16 {
17  protected:
19  ENUM_MCFunctionCodes z_function,
20  uint16 z_baseRegister,
21  ENUM_MCDataTypes z_dataType,
22  ENUM_MCScalingTypes z_scalingType,
23  double z_scaleLow,
24  double z_scaleHigh,
25  uint8 z_decPointPos
26  );
27  public:
28 
29  virtual ~mc_dataWriteDouble();
30 
31  static mc_dataWriteDouble* newTransaction(
32  uint8 z_deviceNo,
33  ENUM_MCUpdateIntervals z_frequency,
34  ENUM_MCFunctionCodes z_function,
35  uint16 z_baseRegister,
36  ENUM_MCDataTypes z_dataType,
37  ENUM_MCScalingTypes z_scalingType,
38  double z_scaleLow,
39  double z_scaleHigh,
40  uint8 z_decPointPos
41  );
42 
43  void writeValue(double z_value);
44 
45  virtual void printTo(FILE*);
46 
47  private:
48  static uint16 writeNumberOfRegs(ENUM_MCDataTypes z_dataType);
49 
50  ENUM_MCDataTypes m_dataType;
51  ENUM_MCScalingTypes m_scalingType;
52  double m_scaleLow;
53  double m_scaleHigh;
54  uint8 m_decPointPos;
55  double m_lastValue;
56 
57 };
58 
59 #endif
Definition: mc_dataWrite.h:12
Definition: mc_dataWriteDouble.h:15