versadac  1
versadac - Scalable Recorder Firmware
fb_modbus.h
1 /*******************************************************************************
2 FILE : fb_modbus.h
3 AUTHOR : Karl Wakeham
4 SYSTEM : VxWorks on ARM
5 DESCRIPTION : Modbus slave header
6 *******************************************************************************/
7 #ifndef __MODBUS_H
8 #define __MODBUS_H
9 
10 #include "mb.h"
11 #include "mb_drivertask.h"
12 
13 extern "C"
14 {
15  #include "network.h"
16 }
17 
18 class MB_Driver;
19 
20 class fb_modbus
21 {
22  public:
23 
24  friend class MB_Connection;
25  friend class MB_ConnectionManager;
26  friend class MB_DataCache;
27  friend class MB_Driver;
28  friend class MB_Serial;
29 
30  fb_modbus();
31  ~fb_modbus();
32 
33  void recreate();
34  void update();
35  void start();
36  void updateSlaveDiagnostics(uint8 z_connectionNumber, char *z_status);
37 
38  static MB_Driver *m_pDriverTask;
39  MB_Serial *m_pSerialSlave;
40 
41  private:
42 
43  MB_ConnectionManager *m_pConnectionManager;
44  MB_DataCache *m_pDataCache;
45 
46  typedef struct ind_data_s
47  {
48  uint8 m_RO[MB_RO_INDIRECT_SIZE*2];
49  uint8 m_RW[MB_RW_INDIRECT_SIZE*2];
50 
51  }ind_data_t;
52 
53  network_data_t *m_net_ram_data;
54 
55  protected:
56 
57  bool m_enableCodeBReply[MAX_SERIAL_PORTS];
58  bool m_enableTalkThrough[MAX_SERIAL_PORTS];
59 };
60 
61 #endif // __MODBUS_H
Definition: mb_manager.h:24
Definition: fb_modbus.h:20
Definition: mb_connection.h:28
Definition: mb_drivertask.h:58
Definition: mb_datacache.h:21
Definition: mb_serial.h:18