ConOpSys V2970  P004.07
ANVILEX control operating system
Application_Base.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Application_Base.h
3 //! @brief Application base 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/Application/Application_Base.h $
7 //! $Revision: 2790 $
8 //! $Date: 2021-07-10 20:39:24 +0500 (Sa, 10 Jul 2021) $
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 #pragma once
41 
42 //------------------------------------------------------------------------------
43 // System includes
44 //------------------------------------------------------------------------------
45 
46 #include "System_Resource.h"
47 
48 //!-----------------------------------------------------------------------------
49 //! @brief Application base class
50 //! @details Application base class must be used as parent class to create an any user application.
51 //!
52 //! With this class, following functions can be done:
53 //! - Register application commands
54 //! - Register application parameters
55 //------------------------------------------------------------------------------
56 
58 {
59 
60  //----------------------------------------------------------------------------
61  // Public defines, methods and variables
62  //----------------------------------------------------------------------------
63 
64  public:
65 
66  //!-------------------------------------------------------------------------
67  //! @brief Class constructor method
68  //! @note The method create application object.
69  //! @return None
70  //! \par Override
71  //! Not allowed
72  //! @attention Don't call this method directly.
73  //--------------------------------------------------------------------------
74 
76 
77  //!-------------------------------------------------------------------------
78  //! @brief Application destructor method
79  //! @note The method destroys application object.
80  //! @return None
81  //! \par Override
82  //! Not allowed
83  //! @attention Don't call this method directly.
84  //--------------------------------------------------------------------------
85 
87 
88  //!-------------------------------------------------------------------------
89  //! @brief Application initialisation method
90  //! @note The method initialise hardware and system objects.
91  //! @return None
92  //! \par Override
93  //! Allowed
94  //! @attention Don't call this method directly.
95  //--------------------------------------------------------------------------
96 
97  VOID Init();
98 
99  //!-------------------------------------------------------------------------
100  //! @brief Application run method
101  //! @note The method runs main system functionality.
102  //! @return None
103  //! \par Override
104  //! Allowed
105  //! @attention Don't call this method directly.
106  //--------------------------------------------------------------------------
107 
108  VOID Run();
109 
110  //!-------------------------------------------------------------------------
111  //! @brief Application finalisation method
112  //! @note The method prepare hardware and system objects for the system shutdown.
113  //! @return None
114  //! \par Override
115  //! Allowed
116  //! @attention Don't call this method directly.
117  //--------------------------------------------------------------------------
118 
119  VOID Done();
120 
121  //!-------------------------------------------------------------------------
122  //! @brief Application emergency trip method
123  //! @note The method called if emergendy trip condition occured in the runtime system.
124  //! @return None
125  //! \par Override
126  //! Optional
127  //! @attention Don't call this method directly.
128  //--------------------------------------------------------------------------
129 
130  VOID Trip();
131 
132  //!-------------------------------------------------------------------------
133  //! @brief Set application shutdown request method
134  //! @note The method set application shutdown request.
135  //! @return BOOL - Application shutdown request status
136  //! @retval false - Application shutdown not requested
137  //! @retval true - Application shutdown requested
138  //! \par Override
139  //! Not allowed
140  //! @attention None
141  //--------------------------------------------------------------------------
142 
144 
145  //!-------------------------------------------------------------------------
146  //! @brief Get application shutdown request method
147  //! @note The method returns application shutdown request status.
148  //! @return BOOL - Shutdown request status
149  //! @retval false - Shutdown not requested
150  //! @retval true - Shutdown requested
151  //! \par Override
152  //! Not allowed
153  //! @attention None
154  //--------------------------------------------------------------------------
155 
157 
158  //!-------------------------------------------------------------------------
159  //! @brief User application timer initialisation method
160  //! @note The method implements user timer initialiseation.
161  //! @return None
162  //! \par Override
163  //! Optional
164  //! @attention Don't call this method directly.
165  //--------------------------------------------------------------------------
166 
167  virtual VOID Init_Application_Timers();
168 
169  //!-------------------------------------------------------------------------
170  //! @brief User application timer start operation method
171  //! @note The method starts user application timer operation and enable interrupts from it.
172  //! @return None
173  //! \par Override
174  //! Optional
175  //! @attention Don't call this method directly.
176  //--------------------------------------------------------------------------
177 
178  virtual VOID Start_Application_Timers();
179 
180  //!-------------------------------------------------------------------------
181  //! @brief User application timer stop operation method
182  //! @note The method stops user application timer operation and disable interrupts from it.
183  //! @return None
184  //! \par Override
185  //! Optional
186  //! @attention Don't call this method directly.
187  //--------------------------------------------------------------------------
188 
189  virtual VOID Stop_Application_Timers();
190 
191  //!-------------------------------------------------------------------------
192  //! @brief Control task initialization method
193  //! @note This method is called once when the task is initialized.
194  //! @return None
195  //! \par Override
196  //! Optional
197  //! @attention Don't call this method directly.
198  //--------------------------------------------------------------------------
199 
200  virtual VOID Control_Task_Init();
201 
202  //!-------------------------------------------------------------------------
203  //! @brief System task initialization method
204  //! @note This method is called once when the task is initialized.
205  //! @return None
206  //! \par Override
207  //! Optional
208  //! @attention Don't call this method directly.
209  //--------------------------------------------------------------------------
210 
211  virtual VOID System_Task_Init();
212 
213  //!-------------------------------------------------------------------------
214  //! @brief Background task initialization method
215  //! @note This method is called once when the task is initialized.
216  //! @return None
217  //! \par Override
218  //! Optional
219  //! @attention Don't call this method directly.
220  //--------------------------------------------------------------------------
221 
222  virtual VOID Background_Task_Init();
223 
224  //!-------------------------------------------------------------------------
225  //! @brief Control task executable method
226  //! @note This method is called constantly with a time interval specified by the user.
227  //! @return None
228  //! \par Override
229  //! Optional
230  //! @attention Don't call this method directly.
231  //--------------------------------------------------------------------------
232 
233  virtual VOID Control_Task_Execute();
234 
235  //!-------------------------------------------------------------------------
236  //! @brief System task executable method
237  //! @note This method is called every 1 ms.
238  //! @return None
239  //! \par Override
240  //! Optional
241  //! @attention Don't call this method directly.
242  //--------------------------------------------------------------------------
243 
244  virtual VOID System_Task_Execute();
245 
246  //!-------------------------------------------------------------------------
247  //! @brief Background task executable method
248  //! @note This method is called after execute all main tasks.
249  //! @return None
250  //! \par Override
251  //! Optional
252  //! @attention Don't call this method directly.
253  //--------------------------------------------------------------------------
254 
255  virtual VOID Background_Task_Execute();
256 
257  //!-------------------------------------------------------------------------
258  //! @brief User command registration method
259  //! @note The method register user defined commands by command manager system.
260  //! @return None
261  //! \par Override
262  //! Requered
263  //! @attention Don't call this method directly
264  //--------------------------------------------------------------------------
265 
266  virtual VOID Register_Commands() = 0;
267 
268  //!-------------------------------------------------------------------------
269  //! @brief User command registration method
270  //! @note The method register user parameters commands by parameter manager system.
271  //! @return None
272  //! \par Override
273  //! Requered
274  //! @attention Don't call this method directly.
275  //--------------------------------------------------------------------------
276 
277  virtual VOID Register_Parameters() = 0;
278 
279  //!-------------------------------------------------------------------------
280  //! @brief Process data mapping method
281  //! @note The method map read and write process data.
282  //! @return None
283  //! \par Override
284  //! Allowed
285  //! @attention Don't call this method directly.
286  //--------------------------------------------------------------------------
287 
288  virtual VOID Map_Process_Data();
289 
290  //!-------------------------------------------------------------------------
291  //! @brief User application LEDs processing method
292  //! @note The method implements user application LEDs functionality.
293  //! @return None
294  //! \par Override
295  //! Optional
296  //! @attention This method is depricated. Don't use it for new applications.
297  //--------------------------------------------------------------------------
298 
300 
301  //!-------------------------------------------------------------------------
302  //! @brief Background task method
303  //! @note The method implements user application background task functionality.
304  //! @return None
305  //! \par Override
306  //! Requered
307  //! @attention None
308  //--------------------------------------------------------------------------
309 
310 // VOID Background_Task() = 0;
311 
312  //!-------------------------------------------------------------------------
313  //! @brief Control task method
314  //! @note The method implements user application control task functionality.
315  //! @return None
316  //! \par Override
317  //! Requered
318  //! @attention None
319  //--------------------------------------------------------------------------
320 
321 // VOID Control_Task() = 0;
322 
323  //!-------------------------------------------------------------------------
324  //! @brief Realtime task method
325  //! @note The method implements user application realtime task functionality.
326  //! @return None
327  //! \par Override
328  //! Requered
329  //! @attention None
330  //--------------------------------------------------------------------------
331 
332 // VOID Realtime_Task() = 0;
333 
334  //!-------------------------------------------------------------------------
335  //! @brief System task handler method
336  //! @note None
337  //! @return None
338  //! \par Override
339  //! Not allowed
340  //! @attention None
341  //--------------------------------------------------------------------------
342 
344 
345  //!-------------------------------------------------------------------------
346  //! @brief Control task handler method
347  //! @note None
348  //! @return None
349  //! \par Override
350  //! Not allowed
351  //! @attention None
352  //--------------------------------------------------------------------------
353 
355 
356  //!-------------------------------------------------------------------------
357  //! @brief Get background task application maximal execution time in seconds
358  //! @note None
359  //! @return F32 - Background task application maximal execution time in seconds
360  //! \par Override
361  //! Not allowed
362  //! @attention None
363  //--------------------------------------------------------------------------
364 
366 
367  //!-------------------------------------------------------------------------
368  //! @brief Get background task actual execution time in seconds
369  //! @note None
370  //! @return F32 - Background task actual execution time in seconds
371  //! \par Override
372  //! Not allowed
373  //! @attention None
374  //--------------------------------------------------------------------------
375 
377 
378  //!-------------------------------------------------------------------------
379  //! @brief Get background task maximal execution time in seconds
380  //! @note None
381  //! @return U64 - Background task maximal execution time
382  //! \par Override
383  //! Not allowed
384  //! @attention None
385  //--------------------------------------------------------------------------
386 
388 
389  //!-------------------------------------------------------------------------
390  //! @brief Get background task actual execution time
391  //! @note None
392  //! @return U64 - Background task actual execution time
393  //! \par Override
394  //! Not allowed
395  //! @attention None
396  //--------------------------------------------------------------------------
397 
399 
400  //!-------------------------------------------------------------------------
401  //! @brief Get background task execution loops counter
402  //! @note None
403  //! @return U64 - Background task execution loops counter
404  //! \par Override
405  //! Not allowed
406  //! @attention None
407  //--------------------------------------------------------------------------
408 
410 
411  //!-------------------------------------------------------------------------
412  //! @brief Get system task core maximal execution time in seconds
413  //! @note None
414  //! @return F32 - System task core maximal execution time in seconds
415  //! \par Override
416  //! Not allowed
417  //! @attention None
418  //--------------------------------------------------------------------------
419 
421 
422  //!-------------------------------------------------------------------------
423  //! @brief Get system task core actual execution time in seconds
424  //! @note None
425  //! @return F32 - System task core actual execution time in seconds
426  //! \par Override
427  //! Not allowed
428  //! @attention None
429  //--------------------------------------------------------------------------
430 
432 
433  //!-------------------------------------------------------------------------
434  //! @brief Get system task application maximal execution time in seconds
435  //! @note None
436  //! @return F32 - System task application maximal execution time in seconds
437  //! \par Override
438  //! Not allowed
439  //! @attention None
440  //--------------------------------------------------------------------------
441 
443 
444  //!-------------------------------------------------------------------------
445  //! @brief Get system task application actual execution time in seconds
446  //! @note None
447  //! @return F32 - System task application actual execution time in seconds
448  //! \par Override
449  //! Not allowed
450  //! @attention None
451  //--------------------------------------------------------------------------
452 
454 
455  //!-------------------------------------------------------------------------
456  //! @brief Get system task actual cycle time
457  //! @note None
458  //! @return U64 - System task actual cycle time
459  //! \par Override
460  //! Not allowed
461  //! @attention None
462  //--------------------------------------------------------------------------
463 
465 
466  //!-------------------------------------------------------------------------
467  //! @brief Get system task core maximal execution time
468  //! @note None
469  //! @return U64 - System task core maximal execution time
470  //! \par Override
471  //! Not allowed
472  //! @attention None
473  //--------------------------------------------------------------------------
474 
476 
477  //!-------------------------------------------------------------------------
478  //! @brief Get system task core actual execution time
479  //! @note None
480  //! @return U64 - System task core actual execution time
481  //! \par Override
482  //! Not allowed
483  //! @attention None
484  //--------------------------------------------------------------------------
485 
487 
488  //!-------------------------------------------------------------------------
489  //! @brief Get system task application maximal execution time
490  //! @note None
491  //! @return U64 - System task application maximal execution time
492  //! \par Override
493  //! Not allowed
494  //! @attention None
495  //--------------------------------------------------------------------------
496 
498 
499  //!-------------------------------------------------------------------------
500  //! @brief Get system task application actual execution time
501  //! @note None
502  //! @return U64 - System task application actual execution time
503  //! \par Override
504  //! Not allowed
505  //! @attention None
506  //--------------------------------------------------------------------------
507 
509 
510  //!-------------------------------------------------------------------------
511  //! @brief Get system task execution loops counter
512  //! @note None
513  //! @return U64 - System task execution loops counter
514  //! \par Override
515  //! Not allowed
516  //! @attention None
517  //--------------------------------------------------------------------------
518 
520 
521  //!-------------------------------------------------------------------------
522  //! @brief Get system task actual cycle time in seconds
523  //! @note None
524  //! @return F32 - System task actual cycle time in seconds
525  //! \par Override
526  //! Not allowed
527  //! @attention None
528  //--------------------------------------------------------------------------
529 
531 
532  //!-------------------------------------------------------------------------
533  //! @brief Get system task execution time violation counter method.
534  //! @note None
535  //! @return U32 - System task execution time violation counter
536  //! \par Override
537  //! Not allowed
538  //! @attention None
539  //--------------------------------------------------------------------------
540 
542 
543  //!-------------------------------------------------------------------------
544  //! @brief Get system task execution time violation loop method.
545  //! @note None
546  //! @return U64 - System task execution time violation loop
547  //! \par Override
548  //! Not allowed
549  //! @attention None
550  //--------------------------------------------------------------------------
551 
553 
554 /*
555  //!-------------------------------------------------------------------------
556  //! @brief Get control task core maximal execution time in seconds
557  //! @note None
558  //! @return F32 - Control task core maximal execution time in seconds
559  //! \par Override
560  //! Not allowed
561  //! @attention None
562  //--------------------------------------------------------------------------
563 
564  F32 Get_Control_Task_Core_Maximal_Execution_Time_s();
565 
566  //!-------------------------------------------------------------------------
567  //! @brief Get control task core actual execution time in seconds
568  //! @note None
569  //! @return F32 - Control task core actual execution time in seconds
570  //! \par Override
571  //! Not allowed
572  //! @attention None
573  //--------------------------------------------------------------------------
574 
575  F32 Get_Control_Task_Core_Actual_Execution_Time_s();
576 
577  //!-------------------------------------------------------------------------
578  //! @brief Get control task core maximal execution time
579  //! @note None
580  //! @return U64 - Control task core maximal execution time
581  //! \par Override
582  //! Not allowed
583  //! @attention None
584  //--------------------------------------------------------------------------
585 
586  U64 Get_Control_Task_Core_Maximal_Execution_Time_U64();
587 
588  //!-------------------------------------------------------------------------
589  //! @brief Get control task core actual execution time
590  //! @note None
591  //! @return U64 - Control task core actual execution time
592  //! \par Override
593  //! Not allowed
594  //! @attention None
595  //--------------------------------------------------------------------------
596 
597  U64 Get_Control_Task_Core_Actual_Execution_Time_U64();
598 */
599  //!-------------------------------------------------------------------------
600  //! @brief Get control task maximal execution time in seconds
601  //! @note None
602  //! @return F32 - Control task maximal execution time in seconds
603  //! \par Override
604  //! Not allowed
605  //! @attention None
606  //--------------------------------------------------------------------------
607 
609 
610  //!-------------------------------------------------------------------------
611  //! @brief Get control task actual execution time in seconds
612  //! @note None
613  //! @return F32 - Control task actual execution time in seconds
614  //! \par Override
615  //! Not allowed
616  //! @attention None
617  //--------------------------------------------------------------------------
618 
620 
621  //!-------------------------------------------------------------------------
622  //! @brief Get control task maximal execution time
623  //! @note None
624  //! @return U64 - Control task maximal execution time
625  //! \par Override
626  //! Not allowed
627  //! @attention None
628  //--------------------------------------------------------------------------
629 
631 
632  //!-------------------------------------------------------------------------
633  //! @brief Get control task actual execution time
634  //! @note None
635  //! @return U64 - Control task actual execution time
636  //! \par Override
637  //! Not allowed
638  //! @attention None
639  //--------------------------------------------------------------------------
640 
642 
643  //!-------------------------------------------------------------------------
644  //! @brief Get control task execution loops counter
645  //! @note None
646  //! @return U64 - Control task execution loops counter
647  //! \par Override
648  //! Not allowed
649  //! @attention None
650  //--------------------------------------------------------------------------
651 
653 
654  //!-------------------------------------------------------------------------
655  //! @brief Get control task actual cycle time
656  //! @note None
657  //! @return U64 - Control task actual cycle time
658  //! \par Override
659  //! Not allowed
660  //! @attention None
661  //--------------------------------------------------------------------------
662 
664 
665  //!-------------------------------------------------------------------------
666  //! @brief Get control task actual cycle time in seconds
667  //! @note None
668  //! @return F32 - Control task actual cycle time in seconds
669  //! \par Override
670  //! Not allowed
671  //! @attention None
672  //--------------------------------------------------------------------------
673 
675 
676  //!-------------------------------------------------------------------------
677  //! @brief Get control task execution time violation counter method.
678  //! @note None
679  //! @return U32 - Control task execution time violation counter
680  //! \par Override
681  //! Not allowed
682  //! @attention None
683  //--------------------------------------------------------------------------
684 
686 
687  //!-------------------------------------------------------------------------
688  //! @brief Get control task execution time violation loop method.
689  //! @note None
690  //! @return U64 - Control task execution time violation loop
691  //! \par Override
692  //! Not allowed
693  //! @attention None
694  //--------------------------------------------------------------------------
695 
697 
698  //----------------------------------------------------------------------------
699  // Protected defines, methods and variables
700  //----------------------------------------------------------------------------
701 
702  protected:
703 
704  //--------------------------------------------------------------------------
705  // Protected methods
706  //--------------------------------------------------------------------------
707 
708  //!-------------------------------------------------------------------------
709  //! @brief Connect function blocks method
710  //! @note The method implements interconnection of function blocks.
711  //! @return None
712  //! \par Override
713  //! Requered
714  //! @attention None
715  //--------------------------------------------------------------------------
716 
718 
719  //--------------------------------------------------------------------------
720  // Protected variables
721  //--------------------------------------------------------------------------
722 
723  //! @brief Sample time of system task
725 
726  //! @brief Sample time of control task
728 
729  //----------------------------------------------------------------------------
730  // Private defines, methods and variables
731  //----------------------------------------------------------------------------
732 
733  private:
734 
735  //--------------------------------------------------------------------------
736  // Private variables
737  //--------------------------------------------------------------------------
738 
739  //! @brief Application shutdown request flag
741 
742  //! @brief Enablr application task execution flag
744 
745  //--------------------------------------------------------------------------
746 
747  //! @brief Background task execution start time
749 
750  //! @brief Background task application execution end timestamp
752 
753  //! @brief Background task actual task execution time
755 
756  //! @brief Background task maximal task execution time
758 
759  //! @brief Background task execution loop counter
761 
762  //--------------------------------------------------------------------------
763 
764  //! @brief System task Execution first loop flag
766 
767  //! @brief System task execution start time
769 
770  //! @brief System task execution end time
772 
773  //! @brief System task actual execution cycle time
775 
776  //! @brief System task core actual execution end timestampt
778 
779  //! @brief System task core actual execution time
781 
782  //! @brief System task maximal core task execution time
784 
785  //! @brief System task application execution end timestamp
787 
788  //! @brief System task actual task execution time
790 
791  //! @brief System task maximal task execution time
793 
794  //! @brief System task execution loop counter
796 
797  //! @brief System task execution time violation counter
799 
800  //! @brief System task execution time violation loop
802 
803  //--------------------------------------------------------------------------
804 
805  //! @brief Control task Execution first loop flag
807 
808  //! @brief Control task execution start time
810 
811  //! @brief Control task execution end time
813 
814  //! @brief Control task actual execution cycle time
816 /*
817  //! @brief Control task core actual execution end timestampt
818  U64 u64_Control_Task_Core_Execution_End_Timestamp = (U64)0;
819 
820  //! @brief Control task core actual execution time
821  U64 u64_Control_Task_Core_Actual_Execution_Time = (U64)0;
822 
823  //! @brief Control task maximal core task execution time
824  U64 u64_Control_Task_Core_Maximal_Execution_Time = (U64)0;
825 */
826 
827  //! @brief Control task execution end timestamp
829 
830  //! @brief Control task actual task execution time
832 
833  //! @brief Control task maximal task execution time
835 
836  //! @brief Control task execution loop counter
838 
839  //! @brief Control task execution time violation counter
841 
842  //! @brief Control task execution time violation loop
844 
845 };
846 
847 //------------------------------------------------------------------------------
848 // End of file
849 //------------------------------------------------------------------------------
int BOOL
Boolean datatype definition.
Definition: Defines.h:124
unsigned long long U64
Binary 64-Bit unsigned integer datatype defenition.
Definition: Defines.h:213
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
float F32
IEEE-754 32-Bit single presession floating point numbers datatype defenition.
Definition: Defines.h:324
System resource header file.
Application base class.
Definition: Application_Base.h:58
U64 Get_Control_Task_Actual_Cycle_Time_U64()
Get control task actual cycle time.
Definition: Application_Base.cpp:2000
F32 Get_Control_Task_Actual_Cycle_Time_s()
Get control task actual cycle time in seconds.
Definition: Application_Base.cpp:2012
F32 Get_Background_Task_Actual_Execution_Time_s()
Get background task actual execution time in seconds.
Definition: Application_Base.cpp:1701
virtual VOID Control_Task_Execute()
Control task executable method.
Definition: Application_Base.cpp:2081
U64 u64_System_Task_Core_Maximal_Execution_Time
System task maximal core task execution time.
Definition: Application_Base.h:783
U64 Get_System_Task_Execution_Loops_Counter()
Get system task execution loops counter.
Definition: Application_Base.cpp:1838
U64 u64_System_Task_Application_Actual_Execution_Time
System task actual task execution time.
Definition: Application_Base.h:789
U64 Get_Control_Task_Actual_Execution_Time_U64()
Get control task actual execution time.
Definition: Application_Base.cpp:1978
TApplication_Base()
Class constructor method.
Definition: Application_Base.cpp:102
U64 u64_Control_Task_Actual_Cycle_Time
Control task actual execution cycle time.
Definition: Application_Base.h:815
BOOL Is_Application_Shutdown_Request()
Get application shutdown request method.
Definition: Application_Base.cpp:1352
U64 Get_Control_Task_Execution_Time_Violation_Loop()
Get control task execution time violation loop method.
Definition: Application_Base.cpp:2036
F32 Get_Control_Task_Actual_Execution_Time_s()
Get control task actual execution time in seconds.
Definition: Application_Base.cpp:1955
U32 u32_System_Task_Execution_Time_Violation_Counter
System task execution time violation counter.
Definition: Application_Base.h:798
U64 u64_Control_Task_Execution_End_Timestamp
Control task execution end timestamp.
Definition: Application_Base.h:828
F32 Get_Background_Task_Maximal_Execution_Time_s()
Get background task application maximal execution time in seconds.
Definition: Application_Base.cpp:1689
F32 Get_Control_Task_Maximal_Execution_Time_s()
Get control task maximal execution time in seconds.
Definition: Application_Base.cpp:1943
virtual VOID Start_Application_Timers()
User application timer start operation method.
Definition: Application_Base.cpp:1375
F32 Get_System_Task_Core_Actual_Execution_Time_s()
Get system task core actual execution time in seconds.
Definition: Application_Base.cpp:1758
U64 u64_System_Task_Application_Execution_End_Timestamp
System task application execution end timestamp.
Definition: Application_Base.h:786
U64 u64_System_Task_Core_Execution_End_Timestamp
System task core actual execution end timestampt.
Definition: Application_Base.h:777
F32 Get_System_Task_Application_Actual_Execution_Time_s()
Get system task application actual execution time in seconds.
Definition: Application_Base.cpp:1782
U64 u64_System_Task_Execution_Start_Timestamp
System task execution start time.
Definition: Application_Base.h:768
U64 u64_System_Task_Application_Maximal_Execution_Time
System task maximal task execution time.
Definition: Application_Base.h:792
VOID Trip()
Application emergency trip method.
Definition: Application_Base.cpp:1318
U64 Get_Background_Task_Maximal_Execution_Time_U64()
Get background task maximal execution time in seconds.
Definition: Application_Base.cpp:1713
U32 Get_System_Task_Execution_Time_Violation_Counter()
Get system task execution time violation counter method.
Definition: Application_Base.cpp:1873
virtual VOID Register_Parameters()=0
User command registration method.
virtual VOID Control_Task_Init()
Control task initialization method.
Definition: Application_Base.cpp:2048
U64 Get_System_Task_Actual_Cycle_Time_U64()
Get system task actual cycle time.
Definition: Application_Base.cpp:1849
U64 u64_Background_Task_Maximal_Execution_Time
Background task maximal task execution time.
Definition: Application_Base.h:757
VOID System_Task_Handler()
Background task method.
Definition: Application_Base.cpp:1535
VOID Process_Application_LEDs()
User application LEDs processing method.
Definition: Application_Base.cpp:1408
U64 Get_Background_Task_Actual_Execution_Time_U64()
Get background task actual execution time.
Definition: Application_Base.cpp:1724
U64 u64_Control_Task_Actual_Execution_Time
Control task actual task execution time.
Definition: Application_Base.h:831
VOID Run()
Application run method.
Definition: Application_Base.cpp:964
U64 Get_System_Task_Application_Maximal_Execution_Time_U64()
Get system task application maximal execution time.
Definition: Application_Base.cpp:1816
U64 Get_System_Task_Core_Actual_Execution_Time_U64()
Get system task core actual execution time.
Definition: Application_Base.cpp:1805
U64 Get_System_Task_Core_Maximal_Execution_Time_U64()
Get system task core maximal execution time.
Definition: Application_Base.cpp:1794
U32 Get_Control_Task_Execution_Time_Violation_Counter()
Get control task execution time violation counter method.
Definition: Application_Base.cpp:2024
BOOL bool_Control_Task_Execution_First_Loop
Control task Execution first loop flag.
Definition: Application_Base.h:806
virtual VOID System_Task_Execute()
System task executable method.
Definition: Application_Base.cpp:2092
U64 u64_Control_Task_Maximal_Execution_Time
Control task maximal task execution time.
Definition: Application_Base.h:834
F32 Get_System_Task_Core_Maximal_Execution_Time_s()
Get system task core maximal execution time in seconds.
Definition: Application_Base.cpp:1746
BOOL bool_Appication_Shutdown
Application shutdown request flag.
Definition: Application_Base.h:740
U64 u64_Control_Task_Execution_Loops_Counter
Control task execution loop counter.
Definition: Application_Base.h:837
U64 u64_Control_Task_Execution_Time_Violation_Loop
Control task execution time violation loop.
Definition: Application_Base.h:843
virtual VOID Map_Process_Data()
Process data mapping method.
Definition: Application_Base.cpp:1397
BOOL bool_System_Task_Execution_First_Loop
System task Execution first loop flag.
Definition: Application_Base.h:765
virtual VOID Init_Application_Timers()
User application timer initialisation method.
Definition: Application_Base.cpp:1364
U32 u32_Control_Task_Execution_Time_Violation_Counter
Control task execution time violation counter.
Definition: Application_Base.h:840
F32 f32_System_Task_Sample_Time
Sample time of system task.
Definition: Application_Base.h:724
U64 u64_System_Task_Actual_Cycle_Time
System task actual execution cycle time.
Definition: Application_Base.h:774
virtual VOID Stop_Application_Timers()
User application timer stop operation method.
Definition: Application_Base.cpp:1386
U64 u64_Control_Task_Execution_Last_Timestamp
Control task execution end time.
Definition: Application_Base.h:812
U64 u64_System_Task_Execution_Time_Violation_Loop
System task execution time violation loop.
Definition: Application_Base.h:801
virtual VOID Register_Commands()=0
User command registration method.
U64 u64_System_Task_Execution_Loops_Counter
System task execution loop counter.
Definition: Application_Base.h:795
U64 Get_Background_Task_Execution_Loops_Counter()
Get background task execution loops counter.
Definition: Application_Base.cpp:1735
~TApplication_Base()
Application destructor method.
Definition: Application_Base.cpp:110
BOOL bool_Task_Enable
Enablr application task execution flag.
Definition: Application_Base.h:743
U64 Get_System_Task_Execution_Time_Violation_Loop()
Get system task execution time violation loop method.
Definition: Application_Base.cpp:1885
U64 u64_Control_Task_Execution_Start_Timestamp
Control task execution start time.
Definition: Application_Base.h:809
F32 Get_System_Task_Application_Maximal_Execution_Time_s()
Get system task application maximal execution time in seconds.
Definition: Application_Base.cpp:1770
U64 Get_Control_Task_Execution_Loops_Counter()
Get control task execution loops counter.
Definition: Application_Base.cpp:1989
virtual VOID Background_Task_Execute()
Background task executable method.
Definition: Application_Base.cpp:2103
U64 u64_Background_Task_Actual_Execution_Time
Background task actual task execution time.
Definition: Application_Base.h:754
F32 Get_System_Task_Actual_Cycle_Time_s()
Get system task actual cycle time in seconds.
Definition: Application_Base.cpp:1861
VOID Done()
Application finalisation method.
Definition: Application_Base.cpp:1305
U64 Get_Control_Task_Maximal_Execution_Time_U64()
Get control task maximal execution time.
Definition: Application_Base.cpp:1967
virtual VOID Connect_Function_Blocks()=0
Connect function blocks method.
U64 u64_System_Task_Core_Actual_Execution_Time
System task core actual execution time.
Definition: Application_Base.h:780
VOID Init()
Application initialisation method.
Definition: Application_Base.cpp:121
U64 Get_System_Task_Application_Actual_Execution_Time_U64()
Get system task application actual execution time.
Definition: Application_Base.cpp:1827
U64 u64_Background_Task_Execution_Loops_Counter
Background task execution loop counter.
Definition: Application_Base.h:760
BOOL Set_Application_Shutdown_Request()
Set application shutdown request method.
Definition: Application_Base.cpp:1329
F32 f32_Control_Task_Sample_Time
Sample time of control task.
Definition: Application_Base.h:727
virtual VOID Background_Task_Init()
Background task initialization method.
Definition: Application_Base.cpp:2070
VOID Control_Task_Handler()
Control task handler method.
Definition: Application_Base.cpp:1419
U64 u64_Background_Task_Execution_Start_Timestamp
Background task execution start time.
Definition: Application_Base.h:748
U64 u64_System_Task_Execution_Last_Timestamp
System task execution end time.
Definition: Application_Base.h:771
virtual VOID System_Task_Init()
System task initialization method.
Definition: Application_Base.cpp:2059
U64 u64_Background_Task_Execution_End_Timestamp
Background task application execution end timestamp.
Definition: Application_Base.h:751