ccNOos  v0.0.0
Build Portable Microcontroller Applications!
compute_module.h
Go to the documentation of this file.
1 /** \file compute_module.h
2 * \brief <a href="https://www.inmechasol.org/" target="_blank">IMS</a>:
3  <a href="https://github.com/InMechaSol/ccNOos" target="_blank">ccNOos</a>,
4  Declarations for straight C and C++
5 
6  Copyright 2021 <a href="https://www.inmechasol.org/" target="_blank">InMechaSol, Inc</a>
7 
8  Licensed under the Apache License, Version 2.0(the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  http://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 Notes:
21  (.c includes .h) - for straight C or
22  (.cpp includes .c which includes .h) - for C++ wrapped straight C
23  *Always compiled to a single compilation unit, either C or CPP, not both
24 
25 */
26 
27 #ifndef __COMPUTE_MODULE__
28 #define __COMPUTE_MODULE__
29 
30 #include "version_config.h"
31 
33 {
35 };
36 
38 
39 #ifdef __cplusplus
40 //class executionSystemClass; // forward declaration of execution system class
41 
42 class computeModuleClass // declaration of compute module class
43 {
44 protected:
45  struct computeModuleStruct *compModDataPtr = nullptr;
46 public:
47  computeModuleClass(
48  struct computeModuleStruct *compModDataPtrIn
49  );
50  virtual int mod_setup() = 0;
51  virtual int mod_loop() = 0;
52  virtual void mod_systick() = 0;
53  virtual int mod_excphandler() = 0;
54  struct computeModuleStruct* getModuleDataPtr();
55 };
56 
57 #endif // !__cplusplus
58 #endif // ! __COMPUTE_MODULE__
computeModuleStruct
Definition: compute_module.h:33
CreateComputeModuleStruct
struct computeModuleStruct CreateComputeModuleStruct()
Definition: compute_module.c:30
version_config.h
IMS: ccNOos, Declarations for straight C and C++
computeModuleStruct::exceptionFlags
UI_32 exceptionFlags
Definition: compute_module.h:34