ConOpSys V2970  P004.07
ANVILEX control operating system
ABCC_DPV1.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file ABCC_DPV1.h
3 //! @brief ANYBUS Profibus module driver class header file.
4 //! @attention No special attention requered.
5 //! @copyright (C) 2015-2020 ANVILEX LLC
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Engine/Communication/ABCC/ABCC_DPV1.h $
7 //! $Revision: 2278 $
8 //! $Date: 2020-12-12 05:47:21 +0500 (Sa, 12 Dez 2020) $
9 //! $Author: minch $
10 //------------------------------------------------------------------------------
11 //
12 // Redistribution and use in source and binary forms, with or without
13 // modification, are permitted provided that the following conditions are met:
14 //
15 // 1. Redistributions of source code must retain the above copyright notice,
16 // this list of conditions and the following disclaimer.
17 //
18 // 2. Redistributions in binary form must reproduce the above copyright notice,
19 // this list of conditions and the following disclaimer in the documentation
20 // and/or other materials provided with the distribution.
21 //
22 // 3. Neither the name of ANVILEX nor the names of its contributors may be
23 // used to endorse or promote products derived from this software without
24 // specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
30 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 // POSSIBILITY OF SUCH DAMAGE.
37 //
38 //------------------------------------------------------------------------------
39 
40 /*******************************************************************************
41 ********************************************************************************
42 ** **
43 ** ABCC Starter Kit version 3.04.01 (2018-01-23) **
44 ** **
45 ** Delivered with: **
46 ** ABP 7.55.01 (2017-12-20) **
47 ** ABCC Driver 5.04.01 (2017-12-18) **
48 ** */
49 /*******************************************************************************
50 ********************************************************************************
51 ** COPYRIGHT NOTIFICATION (c) 2013 HMS Industrial Networks AB **
52 ** **
53 ** This code is the property of HMS Industrial Networks AB. **
54 ** The source code may not be reproduced, distributed, or used without **
55 ** permission. When used together with a product from HMS, permission is **
56 ** granted to modify, reproduce and distribute the code in binary form **
57 ** without any restrictions. **
58 ** **
59 ** THE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. HMS DOES NOT **
60 ** WARRANT THAT THE FUNCTIONS OF THE CODE WILL MEET YOUR REQUIREMENTS, OR **
61 ** THAT THE OPERATION OF THE CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR **
62 ** THAT DEFECTS IN IT CAN BE CORRECTED. **
63 ********************************************************************************
64 ********************************************************************************
65 ** This is an example implementation of an application handler to control the
66 ** ABCC module. It has support to initialise, run and reset/shutdown the ABCC.
67 ** The state machine shall be executed cyclically and it returns its current
68 ** status after every execution.
69 ********************************************************************************
70 ********************************************************************************
71 **
72 ** Services:
73 **
74 ** APPL_HandleAbcc() - Runs the state machine controlling the ABCC module
75 ** APPL_RestoreToDefault() - Restores any NVS parameter to its default value
76 ** APPL_GetCandidateFwAvailable() - Call to check if there is a firmware in the candidate area
77 ** APPL_SetCandidateFwAvailable() - Sets whether firmware is available in the candidate area
78 ** APPL_IsResetRequestAllowed() - Check if a reset is allowed
79 ** APPL_SetHwSwitch1Value() - Set switch 1 value
80 **
81 ********************************************************************************
82 ********************************************************************************
83 */
84 
85 #pragma once
86 
87 //------------------------------------------------------------------------------
88 
89 //#include <string.h>
90 
91 //------------------------------------------------------------------------------
92 
93 //#include "Defines.h"
94 
95 //------------------------------------------------------------------------------
96 
97 //#include "abcc_drv_cfg.h"
98 //#include "abp.h"
99 
100 //------------------------------------------------------------------------------
101 
102 #include "Protocol_Base.h"
103 
104 #include "ABCC_Base.h"
105 
106 //------------------------------------------------------------------------------
107 // Class TABCC_DPV1
108 //------------------------------------------------------------------------------
109 
110 class TABCC_DPV1 : public TABCC_Base
111 {
112 
113  //----------------------------------------------------------------------------
114  // Public methods and variables
115  //----------------------------------------------------------------------------
116 
117  public:
118 
119  //--------------------------------------------------------------------------
120 
121  TABCC_DPV1(); //!< Class constructor method
122 
123  //!-------------------------------------------------------------------------
124  //! @brief Class destructor method.
125  //! @note None
126  //! \par Override
127  //! Not allowed
128  //! @attention Don't call this method directly.
129  //--------------------------------------------------------------------------
130 
131 // virtual ~TABCC_DPV1();
132 
133 // VOID Init(); //!< Init anybus system
134 // VOID Execute();
135 // VOID Done(); //!< Finalise anybus system
136 
137 // VOID Send_Information( TProtocol_Base *object_Protocol );
138 
139  //----------------------------------------------------------------------------
140  // Protected methods and variables
141  //----------------------------------------------------------------------------
142 
143  protected:
144 
145  virtual VOID Object_Command( ABP_MsgType* psNewMessage, ABP_MsgType *psResponceMessage );
146  virtual VOID Instance_Command( ABP_MsgType* psNewMessage, ABP_MsgType *psResponceMessage );
147 
148  //----------------------------------------------------------------------------
149  // Private methods and variables
150  //----------------------------------------------------------------------------
151 
152  private:
153 
154 };
155 
156 //------------------------------------------------------------------------------
157 // End Of File
158 //------------------------------------------------------------------------------
ANYBUS module base class header file.
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
Communication protocol base class header file.
Definition: ABCC_Base.h:177
Definition: ABCC_DPV1.h:111
TABCC_DPV1()
Class constructor method.
Definition: ABCC_DPV1.cpp:224
virtual VOID Instance_Command(ABP_MsgType *psNewMessage, ABP_MsgType *psResponceMessage)
Instance command processing method.
Definition: ABCC_DPV1.cpp:373
virtual VOID Object_Command(ABP_MsgType *psNewMessage, ABP_MsgType *psResponceMessage)
Class destructor method.
Definition: ABCC_DPV1.cpp:254