mrfioc2  2.3.0
drvemInput.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2010 Brookhaven Science Associates, as Operator of
3 * Brookhaven National Laboratory.
4 * mrfioc2 is distributed subject to a Software License Agreement found
5 * in file LICENSE that is included with this distribution.
6 \*************************************************************************/
7 /*
8  * Author: Michael Davidsaver <mdavidsaver@gmail.com>
9  */
10 
11 #ifndef EVRMRMINPUT_H_INC
12 #define EVRMRMINPUT_H_INC
13 
14 #include <cstdlib>
15 #include "evr/input.h"
16 
24 class MRMInput : public Input
25 {
26 public:
27  MRMInput(const std::string& n, volatile unsigned char *, size_t);
28  virtual ~MRMInput(){};
29 
30  /* no locking needed */
31  virtual void lock() const OVERRIDE FINAL {};
32  virtual void unlock() const OVERRIDE FINAL {};
33 
34  virtual void dbusSet(epicsUInt16) OVERRIDE FINAL;
35  virtual epicsUInt16 dbus() const OVERRIDE FINAL;
36 
37  virtual void levelHighSet(bool) OVERRIDE FINAL;
38  virtual bool levelHigh() const OVERRIDE FINAL;
39 
40  virtual bool state() const OVERRIDE FINAL;
41 
42  virtual void edgeRiseSet(bool) OVERRIDE FINAL;
43  virtual bool edgeRise() const OVERRIDE FINAL;
44 
45  virtual void extModeSet(TrigMode) OVERRIDE FINAL;
46  virtual TrigMode extMode() const OVERRIDE FINAL;
47 
48  virtual void extEvtSet(epicsUInt32) OVERRIDE FINAL;
49  virtual epicsUInt32 extEvt() const OVERRIDE FINAL;
50 
51  virtual void backModeSet(TrigMode) OVERRIDE FINAL;
52  virtual TrigMode backMode() const OVERRIDE FINAL;
53 
54  virtual void backEvtSet(epicsUInt32) OVERRIDE FINAL;
55  virtual epicsUInt32 backEvt() const OVERRIDE FINAL;
56 
57 private:
58  volatile unsigned char * const base;
59  const size_t idx;
60 };
61 
62 
63 #endif // EVRMRMINPUT_H_INC
virtual void extModeSet(TrigMode) OVERRIDE FINAL
Set external (local) event trigger mode.
Definition: drvemInput.cpp:85
virtual bool levelHigh() const OVERRIDE FINAL
Definition: drvemInput.cpp:58
virtual void unlock() const OVERRIDE FINAL
Definition: drvemInput.h:32
virtual void dbusSet(epicsUInt16) OVERRIDE FINAL
Set mask of dbus bits are driven by this input.
Definition: drvemInput.cpp:28
virtual bool edgeRise() const OVERRIDE FINAL
Definition: drvemInput.cpp:79
Definition: input.h:24
virtual TrigMode backMode() const OVERRIDE FINAL
Definition: drvemInput.cpp:175
virtual void backEvtSet(epicsUInt32) OVERRIDE FINAL
Set the event code sent by an a backwards event.
Definition: drvemInput.cpp:193
virtual bool state() const OVERRIDE FINAL
Definition: drvemInput.cpp:64
virtual void extEvtSet(epicsUInt32) OVERRIDE FINAL
Set the event code sent by an externel (local) event.
Definition: drvemInput.cpp:125
virtual void edgeRiseSet(bool) OVERRIDE FINAL
Set active rise/fall when using edge trigger mode.
Definition: drvemInput.cpp:70
virtual TrigMode extMode() const OVERRIDE FINAL
Definition: drvemInput.cpp:107
virtual void lock() const OVERRIDE FINAL
Definition: drvemInput.h:31
virtual epicsUInt32 backEvt() const OVERRIDE FINAL
Definition: drvemInput.cpp:211
virtual void backModeSet(TrigMode) OVERRIDE FINAL
Set the backwards event trigger mode.
Definition: drvemInput.cpp:153
virtual epicsUInt32 extEvt() const OVERRIDE FINAL
Definition: drvemInput.cpp:143
virtual ~MRMInput()
Definition: drvemInput.h:28
virtual epicsUInt16 dbus() const OVERRIDE FINAL
Definition: drvemInput.cpp:39
TrigMode
Definition: input.h:18
MRMInput(const std::string &n, volatile unsigned char *, size_t)
Definition: drvemInput.cpp:20
virtual void levelHighSet(bool) OVERRIDE FINAL
Set active high/low when using level trigger mode.
Definition: drvemInput.cpp:49