ConOpSys V2970  P004.07
ANVILEX control operating system
Parameter_Base.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Parameter_Base.h
3 //! @brief ConOpSys parameter 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/Parameters/Parameter_Base.h $
7 //! $Revision: 2793 $
8 //! $Date: 2021-07-11 02:04:01 +0500 (So, 11 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 // Include system files
44 //------------------------------------------------------------------------------
45 
46 #include "System_Parameter_Index.h"
47 #include "Application_Resource_Configuration.h"
48 #include "ConOpSys_Variant.h"
49 #include "Parameter_Base_Defines.h"
50 #include "Protocol_Base.h"
51 #include "Block_Output_Connector.h"
53 
54 //------------------------------------------------------------------------------
55 // Class definitions
56 //------------------------------------------------------------------------------
57 
58 //! @brief Parameter base class
60 {
61 
62  //----------------------------------------------------------------------------
63  // Public defines, methods and variables
64  //----------------------------------------------------------------------------
65 
66  public:
67 
68  //!-------------------------------------------------------------------------
69  //! @brief Parameter base class constructor method.
70  //! @note None
71  //! \par Override
72  //! Not allowed
73  //! @attention Don't call this method directly.
74  //--------------------------------------------------------------------------
75 
77 
78  //!-------------------------------------------------------------------------
79  //! @brief Parameter object initialisation method.
80  //! @note None
81  //! @return BOOL - Initialisation status
82  //! @retval false - Parameter object initialisation failed
83  //! @retval true - Parameter object initialisation successed without any errors
84  //! \par Override
85  //! Requered
86  //! @attention None
87  //--------------------------------------------------------------------------
88 
89  virtual BOOL Init() = 0;
90 
91  //!-------------------------------------------------------------------------
92  //! @brief Set new parameter datatype.
93  //! @note None
94  //! @param [in] enum_Type - New parameter datatype
95  //! \par Override
96  //! Not allowed
97  //! @attention Don't call this method directly to change parameter data type.
98  //--------------------------------------------------------------------------
99 
101 
102  //!-------------------------------------------------------------------------
103  //! @brief Set media storage index
104  //! @note None
105  //! @param [in] u32_New_Media_Storage_Index - New media storage index
106  //! \par Override
107  //! Not allowed
108  //! @attention None
109  //--------------------------------------------------------------------------
110 
111  VOID Set_Media_Storage_Index( U32 u32_New_Media_Storage_Index );
112 
113  //!-------------------------------------------------------------------------
114  //! @brief Return test result for parameter is pointer type.
115  //! @note None
116  //! @return BOOL - Parameter type test result
117  //! @retval false - Parameter is non a pointer type
118  //! @retval true - Parameter is a pointer type
119  //! \par Override
120  //! Not allowed
121  //! @attention None
122  //--------------------------------------------------------------------------
123 
125 
126  //!-------------------------------------------------------------------------
127  //! @brief Return test result for parameter is storage type.
128  //! @note None
129  //! @return BOOL - Parameter type test result
130  //! @retval false - Parameter is non a storage type
131  //! @retval true - Parameter is a storage type
132  //! \par Override
133  //! Not allowed
134  //! @attention None
135  //--------------------------------------------------------------------------
136 
138 
139  //!-------------------------------------------------------------------------
140  //! @brief Return parameter name checking status.
141  //! @note None
142  //! @param [in] *c8_Parameter_Name - Pointer to the null terminated parameter name string
143  //! @return BOOL - Parameter name checking status
144  //! @retval false - Parameter has other name
145  //! @retval true - Parameter has same name
146  //! \par Override
147  //! Not allowed
148  //! @attention None
149  //--------------------------------------------------------------------------
150 
151  BOOL Is_Name( C8 *c8_Parameter_Name );
152 
153  //!-------------------------------------------------------------------------
154  //! @brief Return parameter identifier checking status.
155  //! @note None
156  //! @param [in] u32_ID - Parameter identifier
157  //! @return BOOL - Parameter identifier checking status
158  //! @retval false - Parameter has other identifier
159  //! @retval true - Parameter has same identifier
160  //! \par Override
161  //! Not allowed
162  //! @attention None
163  //--------------------------------------------------------------------------
164 
165  BOOL Is_ID( U32 u32_ID );
166 
167  //!-------------------------------------------------------------------------
168  //! @brief Return status of the parameter value validation.
169  //! @note None
170  //! @return BOOL - Validation status
171  //! @retval false - Parameter value invalid.
172  //! @retval true - Parameter value valid.
173  //! \par Override
174  //! Not allowed
175  //! @attention None
176  //--------------------------------------------------------------------------
177 
179 
180  //!-------------------------------------------------------------------------
181  //! @brief Return nonvalatile parameter status.
182  //! @note None
183  //! @return BOOL - Nonvalatile parameter status
184  //! @retval false - Parameter is non nonvolatile.
185  //! @retval true - Parameter is nonvolatile.
186  //! \par Override
187  //! Not allowed
188  //! @attention None
189  //--------------------------------------------------------------------------
190 
192 
193  //!-------------------------------------------------------------------------
194  //! @brief Return quasivalatile parameter status.
195  //! @note None
196  //! @return BOOL - Quasivalatile parameter status
197  //! @retval false - Parameter is non quasivolatile.
198  //! @retval true - Parameter is quasivolatile.
199  //! \par Override
200  //! Not allowed
201  //! @attention None
202  //--------------------------------------------------------------------------
203 
205 
206  //!-------------------------------------------------------------------------
207  //! @brief Return store to media parameter status.
208  //! @note None
209  //! @return BOOL - Store to media parameter status
210  //! @retval false - Parameter is not to store into media database.
211  //! @retval true - Parameter is to store into media database.
212  //! \par Override
213  //! Not allowed
214  //! @attention None
215  //--------------------------------------------------------------------------
216 
218 
219  //!-------------------------------------------------------------------------
220  //! @brief Return parameter initialisation status.
221  //! @note None
222  //! @return BOOL - Parameter initialisation status
223  //! @retval false - Parameter not initialised.
224  //! @retval true - Parameter initialised.
225  //! \par Override
226  //! Not allowed
227  //! @attention None
228  //--------------------------------------------------------------------------
229 
231 
232  //!-------------------------------------------------------------------------
233  //! @brief Return parameter default value initialisation status.
234  //! @note None
235  //! @return BOOL - Parameter default value initialisation status
236  //! @retval false - Parameter not initialised from default value.
237  //! @retval true - Parameter initialised from default value.
238  //! \par Override
239  //! Not allowed
240  //! @attention None
241  //--------------------------------------------------------------------------
242 
244 
245  //!-------------------------------------------------------------------------
246  //! @brief Return parameter media value initialisation status.
247  //! @note None
248  //! @return BOOL - Parameter media value initialisation status
249  //! @retval false - Parameter not initialised from media value.
250  //! @retval true - Parameter initialised from media value.
251  //! \par Override
252  //! Not allowed
253  //! @attention None
254  //--------------------------------------------------------------------------
255 
257 
258  //!-------------------------------------------------------------------------
259  //! @brief Return parameter writability status.
260  //! @note None
261  //! @return BOOL - Parameter writability status
262  //! @retval false - Parameter not writable.
263  //! @retval true - Parameter writable.
264  //! \par Override
265  //! Not allowed
266  //! @attention None
267  //--------------------------------------------------------------------------
268 
269  BOOL Is_Writable();
270 
271  //!-------------------------------------------------------------------------
272  //! @brief Return parameter readability status.
273  //! @note None
274  //! @return BOOL - Parameter readability status
275  //! @retval false - Parameter not readable.
276  //! @retval true - Parameter readable.
277  //! \par Override
278  //! Not allowed
279  //! @attention None
280  //--------------------------------------------------------------------------
281 
282  BOOL Is_Readable();
283 
284  //!-------------------------------------------------------------------------
285  //! @brief Return parameter array status.
286  //! @note None
287  //! @return BOOL - Parameter array status
288  //! @retval false - Parameter not an array.
289  //! @retval true - Parameter is an array.
290  //! \par Override
291  //! Not allowed
292  //! @attention None
293  //--------------------------------------------------------------------------
294 
295  BOOL Is_Array();
296 
297  //!-------------------------------------------------------------------------
298  //! @brief Return parameter element index exist status.
299  //! @note None
300  //! @param [in] u32_Element_Index - Parameter element index
301  //! @return BOOL - Parameter element index exist status
302  //! @retval false - Parameter element index not exists.
303  //! @retval true - Parameter element index exists.
304  //! \par Override
305  //! Not allowed
306  //! @attention None
307  //--------------------------------------------------------------------------
308 
309  BOOL Is_Element_Exists( U32 u32_Element_Index );
310 
311  //!-------------------------------------------------------------------------
312  //! @brief Send parameter information over given protocol
313  //! @note Override this method if sendig of extended parameter information requered
314  //! @param [in] *object_Protocol - Pointer to the protocol object
315  //! @return None
316  //! \par Override
317  //! Optional
318  //! @attention None
319  //--------------------------------------------------------------------------
320 
321  VOID Send_Information( TProtocol_Base *object_Protocol );
322 
323  //!-------------------------------------------------------------------------
324  //! @brief Write parameter value from zero terminated decimal string.
325  //! @note None
326  //! @param [in] *s8_New_Value - Pointer to the zero terminated decimal string
327  //! @return BOOL - Write status
328  //! @retval false - Write procedure failed
329  //! @retval true - Write procedure successed without any errors
330  //! \par Override
331  //! Not allowed
332  //! @attention None
333  //--------------------------------------------------------------------------
334 
335  BOOL Write_Value_As_String( C8 *s8_New_Value );
336 
337  //!-------------------------------------------------------------------------
338  //! @brief Write parameter value from zero terminated hex string.
339  //! @note None
340  //! @param [in] *s8_New_Value - Pointer to the zero terminated hex string
341  //! @return BOOL - Write status
342  //! @retval false - Write procedure failed
343  //! @retval true - Write procedure successed without any errors
344  //! \par Override
345  //! Not allowed
346  //! @attention None
347  //--------------------------------------------------------------------------
348 
349  BOOL Write_Value_As_Hex_String( C8 *s8_New_Value );
350 
351  //!-------------------------------------------------------------------------
352  //! @brief Write parameter element value from zero terminated hex string.
353  //! @note None
354  //! @param [in] *s8_New_Value - Pointer to the zero terminated hex string
355  //! @param [in] u32_Element_Index - Index of the element in array
356  //! @return BOOL - Write status
357  //! @retval false - Write procedure failed
358  //! @retval true - Write procedure successed without any errors
359  //! \par Override
360  //! Not allowed
361  //! @attention None
362  //--------------------------------------------------------------------------
363 
364  BOOL Write_Value_As_Hex_String( C8 *s8_New_Value, U32 u32_Element_Index );
365 
366  //!-------------------------------------------------------------------------
367  //! @brief Write parameter value from boolean value.
368  //! @note None
369  //! @param [in] bool_New_Value - Boolean value to write
370  //! @return BOOL - Write status
371  //! @retval false - Write procedure failed
372  //! @retval true - Write procedure successed without any errors
373  //! \par Override
374  //! Not allowed
375  //! @attention None
376  //--------------------------------------------------------------------------
377 
378  BOOL Write_Value_As_BOOL( BOOL bool_New_Value );
379 
380  //!-------------------------------------------------------------------------
381  //! @brief Write parameter value from U8 value.
382  //! @note None
383  //! @param [in] u8_New_Value - U8 value to write
384  //! @return BOOL - Write status
385  //! @retval false - Write procedure failed
386  //! @retval true - Write procedure successed without any errors
387  //! \par Override
388  //! Not allowed
389  //! @attention None
390  //--------------------------------------------------------------------------
391 
392  BOOL Write_Value_As_U8( U8 u8_New_Value );
393 
394  //!-------------------------------------------------------------------------
395  //! @brief Write parameter value from I8 value.
396  //! @note None
397  //! @param [in] i8_New_Value - I8 value to write
398  //! @return BOOL - Write status
399  //! @retval false - Write procedure failed
400  //! @retval true - Write procedure successed without any errors
401  //! \par Override
402  //! Not allowed
403  //! @attention None
404  //--------------------------------------------------------------------------
405 
406  BOOL Write_Value_As_I8( I8 i8_New_Value );
407 
408  //!-------------------------------------------------------------------------
409  //! @brief Write parameter value from U16 value.
410  //! @note None
411  //! @param [in] u16_New_Value - U16 value to write
412  //! @return BOOL - Write status
413  //! @retval false - Write procedure failed
414  //! @retval true - Write procedure successed without any errors
415  //! \par Override
416  //! Not allowed
417  //! @attention None
418  //--------------------------------------------------------------------------
419 
420  BOOL Write_Value_As_U16( U16 u16_New_Value );
421 
422  //!-------------------------------------------------------------------------
423  //! @brief Write parameter value from I16 value.
424  //! @note None
425  //! @param [in] i16_New_Value - I16 value to write
426  //! @return BOOL - Write status
427  //! @retval false - Write procedure failed
428  //! @retval true - Write procedure successed without any errors
429  //! \par Override
430  //! Not allowed
431  //! @attention None
432  //--------------------------------------------------------------------------
433 
434  BOOL Write_Value_As_I16( I16 i16_New_Value );
435 
436  //!-------------------------------------------------------------------------
437  //! @brief Write parameter value from U32 value.
438  //! @note None
439  //! @param [in] u32_New_Value - U32 value to write
440  //! @return BOOL - Write status
441  //! @retval false - Write procedure failed
442  //! @retval true - Write procedure successed without any errors
443  //! \par Override
444  //! Not allowed
445  //! @attention None
446  //--------------------------------------------------------------------------
447 
448  BOOL Write_Value_As_U32( U32 u32_New_Value );
449 
450  //!-------------------------------------------------------------------------
451  //! @brief Write parameter value from I32 value.
452  //! @note None
453  //! @param [in] i32_New_Value - I32 value to write
454  //! @return BOOL - Write status
455  //! @retval false - Write procedure failed
456  //! @retval true - Write procedure successed without any errors
457  //! \par Override
458  //! Not allowed
459  //! @attention None
460  //--------------------------------------------------------------------------
461 
462  BOOL Write_Value_As_I32( I32 i32_New_Value );
463 
464  //!-------------------------------------------------------------------------
465  //! @brief Write parameter value from U64 value.
466  //! @note None
467  //! @param [in] u64_New_Value - U64 value to write
468  //! @return BOOL - Write status
469  //! @retval false - Write procedure failed
470  //! @retval true - Write procedure successed without any errors
471  //! \par Override
472  //! Not allowed
473  //! @attention None
474  //--------------------------------------------------------------------------
475 
476  BOOL Write_Value_As_U64( U64 u64_New_Value );
477 
478  //!-------------------------------------------------------------------------
479  //! @brief Write parameter value from U64 value.
480  //! @note None
481  //! @param [in] u64_New_Value - U64 value to write
482  //! @param [in] u32_Element_Index - Index of the element in array
483  //! @return BOOL - Write status
484  //! @retval false - Write procedure failed
485  //! @retval true - Write procedure successed without any errors
486  //! \par Override
487  //! Not allowed
488  //! @attention None
489  //--------------------------------------------------------------------------
490 
491  BOOL Write_Value_As_U64( U64 u64_New_Value, U32 u32_Element_Index );
492 
493  //!-------------------------------------------------------------------------
494  //! @brief Write parameter value from I64 value.
495  //! @note None
496  //! @param [in] i64_New_Value - I64 value to write
497  //! @return BOOL - Write status
498  //! @retval false - Write procedure failed
499  //! @retval true - Write procedure successed without any errors
500  //! \par Override
501  //! Not allowed
502  //! @attention None
503  //--------------------------------------------------------------------------
504 
505  BOOL Write_Value_As_I64( I64 i64_New_Value );
506 
507  //!-------------------------------------------------------------------------
508  //! @brief Write parameter value from F32 value.
509  //! @note None
510  //! @param [in] f32_New_Value - F32 value to write
511  //! @return BOOL - Write status
512  //! @retval false - Write procedure failed
513  //! @retval true - Write procedure successed without any errors
514  //! \par Override
515  //! Not allowed
516  //! @attention None
517  //--------------------------------------------------------------------------
518 
519  BOOL Write_Value_As_F32( F32 f32_New_Value );
520 
521  //!-------------------------------------------------------------------------
522  //! @brief Write parameter value from F64 value.
523  //! @note None
524  //! @param [in] f64_New_Value - F64 value to write
525  //! @return BOOL - Write status
526  //! @retval false - Write procedure failed
527  //! @retval true - Write procedure successed without any errors
528  //! \par Override
529  //! Not allowed
530  //! @attention None
531  //--------------------------------------------------------------------------
532 
533  BOOL Write_Value_As_F64( F64 f64_New_Value );
534 
535  //!-------------------------------------------------------------------------
536  //! @brief Write parameter value from variant value.
537  //! @note None
538  //! @param [in] *object_New_Value - Pointer to variant value to write
539  //! @return BOOL - Write status
540  //! @retval false - Write procedure failed
541  //! @retval true - Write procedure successed without any errors
542  //! \par Override
543  //! Not allowed
544  //! @attention None
545  //--------------------------------------------------------------------------
546 
547  BOOL Write_Value_As_Variant( TConOpSys_Variant *object_New_Value );
548 
549  //!-------------------------------------------------------------------------
550  //! @brief Write parameter element value from variant value.
551  //! @note None
552  //! @param [in] *object_New_Value - Pointer to variant value to write
553  //! @param [in] u32_Element_Index - Index of the element in array
554  //! @return BOOL - Write status
555  //! @retval false - Write procedure failed
556  //! @retval true - Write procedure successed without any errors
557  //! \par Override
558  //! Not allowed
559  //! @attention None
560  //--------------------------------------------------------------------------
561 
562  BOOL Write_Value_As_Variant( TConOpSys_Variant *object_New_Value, U32 u32_Element_Index );
563 
564  //!-------------------------------------------------------------------------
565  //! @brief Read parameter value as boolean value.
566  //! @note None
567  //! @param [out] *bool_Value - Pointer to the boolean variable to read
568  //! @return BOOL - Read status
569  //! @retval false - Read procedure failed
570  //! @retval true - Read procedure successed without any errors
571  //! \par Override
572  //! Not allowed
573  //! @attention None
574  //--------------------------------------------------------------------------
575 
576  BOOL Read_Value_As_BOOL( BOOL *bool_Value );
577 
578  //!-------------------------------------------------------------------------
579  //! @brief Read parameter value as 8-bit unsigned value.
580  //! @note None
581  //! @param [out] *u8_Value - Pointer to the 8-bit unsigned variable to read
582  //! @return BOOL - Read status
583  //! @retval false - Read procedure failed
584  //! @retval true - Read procedure successed without any errors
585  //! \par Override
586  //! Not allowed
587  //! @attention None
588  //--------------------------------------------------------------------------
589 
590  BOOL Read_Value_As_U8( U8 *u8_Value );
591 
592  //!-------------------------------------------------------------------------
593  //! @brief Read parameter value as 8-bit signed value.
594  //! @note None
595  //! @param [out] *i8_Value - Pointer to the 8-bit signed variable to read
596  //! @return BOOL - Read status
597  //! @retval false - Read procedure failed
598  //! @retval true - Read procedure successed without any errors
599  //! \par Override
600  //! Not allowed
601  //! @attention None
602  //--------------------------------------------------------------------------
603 
604  BOOL Read_Value_As_I8( I8 *i8_Value );
605 
606  //!-------------------------------------------------------------------------
607  //! @brief Read parameter value as 16-bit unsigned value.
608  //! @note None
609  //! @param [out] *u16_Value - Pointer to the 16-bit unsigned variable to read
610  //! @return BOOL - Read status
611  //! @retval false - Read procedure failed
612  //! @retval true - Read procedure successed without any errors
613  //! \par Override
614  //! Not allowed
615  //! @attention None
616  //--------------------------------------------------------------------------
617 
618  BOOL Read_Value_As_U16( U16 *u16_Value );
619 
620  //!-------------------------------------------------------------------------
621  //! @brief Read parameter value as 16-bit signed value.
622  //! @note None
623  //! @param [out] *i16_Value - Pointer to the 16-bit signed variable to read
624  //! @return BOOL - Read status
625  //! @retval false - Read procedure failed
626  //! @retval true - Read procedure successed without any errors
627  //! \par Override
628  //! Not allowed
629  //! @attention None
630  //--------------------------------------------------------------------------
631 
632  BOOL Read_Value_As_I16( I16 *i16_Value );
633 
634  //!-------------------------------------------------------------------------
635  //! @brief Read parameter value as 32-bit unsigned value.
636  //! @note None
637  //! @param [out] *u32_Value - Pointer to the 32-bit unsigned variable to read
638  //! @return BOOL - Read status
639  //! @retval false - Read procedure failed
640  //! @retval true - Read procedure successed without any errors
641  //! \par Override
642  //! Not allowed
643  //! @attention None
644  //--------------------------------------------------------------------------
645 
646  BOOL Read_Value_As_U32( U32 *u32_Value );
647 
648  //!-------------------------------------------------------------------------
649  //! @brief Read parameter value as 32-bit signed value.
650  //! @note None
651  //! @param [out] *i32_Value - Pointer to the 32-bit signed variable to read
652  //! @return BOOL - Read status
653  //! @retval false - Read procedure failed
654  //! @retval true - Read procedure successed without any errors
655  //! \par Override
656  //! Not allowed
657  //! @attention None
658  //--------------------------------------------------------------------------
659 
660  BOOL Read_Value_As_I32( I32 *i32_Value );
661 
662  //!-------------------------------------------------------------------------
663  //! @brief Read parameter value as 64-bit unsigned value.
664  //! @note None
665  //! @param [out] *u64_Value - Pointer to the 64-bit unsigned variable to read
666  //! @return BOOL - Read status
667  //! @retval false - Read procedure failed
668  //! @retval true - Read procedure successed without any errors
669  //! \par Override
670  //! Not allowed
671  //! @attention None
672  //--------------------------------------------------------------------------
673 
674  BOOL Read_Value_As_U64( U64 *u64_Value );
675 
676  //!-------------------------------------------------------------------------
677  //! @brief Read parameter value as 64-bit signed value.
678  //! @note None
679  //! @param [out] *i64_Value - Pointer to the 64-bit signed variable to read
680  //! @return BOOL - Read status
681  //! @retval false - Read procedure failed
682  //! @retval true - Read procedure successed without any errors
683  //! \par Override
684  //! Not allowed
685  //! @attention None
686  //--------------------------------------------------------------------------
687 
688  BOOL Read_Value_As_I64( I64 *i64_Value );
689 
690  //!-------------------------------------------------------------------------
691  //! @brief Read parameter value as 32-bit floating point value.
692  //! @note None
693  //! @param [out] *f32_Value - Pointer to the 32-bit floating point variable to read
694  //! @return BOOL - Read status
695  //! @retval false - Read procedure failed
696  //! @retval true - Read procedure successed without any errors
697  //! \par Override
698  //! Not allowed
699  //! @attention None
700  //--------------------------------------------------------------------------
701 
702  BOOL Read_Value_As_F32( F32 *f32_Value );
703 
704  //!-------------------------------------------------------------------------
705  //! @brief Read parameter value as 64-bit floating point value.
706  //! @note None
707  //! @param [out] *f64_Value - Pointer to the 64-bit floating point variable to read
708  //! @return BOOL - Read status
709  //! @retval false - Read procedure failed
710  //! @retval true - Read procedure successed without any errors
711  //! \par Override
712  //! Not allowed
713  //! @attention None
714  //--------------------------------------------------------------------------
715 
716  BOOL Read_Value_As_F64( F64 *f64_Value );
717 
718  //!-------------------------------------------------------------------------
719  //! @brief Read parameter value as variant value.
720  //! @note None
721  //! @param [out] *object_Read_Value - Pointer to the variant variable to read
722  //! @return BOOL - Read status
723  //! @retval false - Read procedure failed
724  //! @retval true - Read procedure successed without any errors
725  //! \par Override
726  //! Not allowed
727  //! @attention None
728  //--------------------------------------------------------------------------
729 
730  BOOL Read_Value_As_Variant( TConOpSys_Variant *object_Read_Value );
731 
732  //!-------------------------------------------------------------------------
733  //! @brief Read parameter value as variant value.
734  //! @note None
735  //! @param [out] *object_Read_Value - Pointer to the variant variable to read
736  //! @param [in] *u32_Element_Index - Element index
737  //! @return BOOL - Read status
738  //! @retval false - Read procedure failed
739  //! @retval true - Read procedure successed without any errors
740  //! \par Override
741  //! Not allowed
742  //! @attention None
743  //--------------------------------------------------------------------------
744 
745  BOOL Read_Value_As_Variant( TConOpSys_Variant *object_Read_Value, U32 u32_Element_Index );
746 
747  //!-------------------------------------------------------------------------
748  //! @brief Read parameter value as raw data value.
749  //! @note None
750  //! @param [out] *u8_Raw_Data - Pointer to the data buffer variable to read
751  //! @return BOOL - Read status
752  //! @retval false - Read procedure failed
753  //! @retval true - Read procedure successed without any errors
754  //! \par Override
755  //! Not allowed
756  //! @attention None
757  //--------------------------------------------------------------------------
758 
759  BOOL Read_Value_As_Raw_Data( U8 *u8_Raw_Data );
760 
761  //!-------------------------------------------------------------------------
762  //! @brief Connect parameter to the function block output connector.
763  //! @note None
764  //! @param [in] *object_Connector - Pointer to the function block output connector
765  //! \par Override
766  //! Not allowed
767  //! @attention None
768  //--------------------------------------------------------------------------
769 
770  VOID Connect( TBlock_Output_Connector *object_Connector ); //!< Connect block output connector to the parameter
771 
772  //!-------------------------------------------------------------------------
773  //! @brief Connect parameter to the constant value of BOOL datatype.
774  //! @note None
775  //! @param [in] bool_Value - BOOL value
776  //! \par Override
777  //! Not allowed
778  //! @attention None
779  //--------------------------------------------------------------------------
780 
781  VOID Connect( BOOL bool_Value );
782 
783  //!-------------------------------------------------------------------------
784  //! @brief Connect parameter to the constant value of I8 datatype.
785  //! @note None
786  //! @param [in] i8_Value - I8 value to connect
787  //! \par Override
788  //! Not allowed
789  //! @attention None
790  //--------------------------------------------------------------------------
791 
792  VOID Connect( I8 i8_Value );
793 
794  //!-------------------------------------------------------------------------
795  //! @brief Connect parameter to the constant value of U8 datatype.
796  //! @note None
797  //! @param [in] u8_Value - U8 value to connect
798  //! \par Override
799  //! Not allowed
800  //! @attention None
801  //--------------------------------------------------------------------------
802 
803  VOID Connect( U8 u8_Value );
804 
805  //!-------------------------------------------------------------------------
806  //! @brief Connect parameter to the constant value of I16 datatype.
807  //! @note None
808  //! @param [in] i16_Value - I16 value to connect
809  //! \par Override
810  //! Not allowed
811  //! @attention None
812  //--------------------------------------------------------------------------
813 
814  VOID Connect( I16 i16_Value );
815 
816  //!-------------------------------------------------------------------------
817  //! @brief Connect parameter to the constant value of U16 datatype.
818  //! @note None
819  //! @param [in] u16_Value - U16 value to connect
820  //! \par Override
821  //! Not allowed
822  //! @attention None
823  //--------------------------------------------------------------------------
824 
825  VOID Connect( U16 u16_Value );
826 
827  //!-------------------------------------------------------------------------
828  //! @brief Connect parameter to the constant value of I32 datatype.
829  //! @note None
830  //! @param [in] i32_Value - I32 value to connect
831  //! \par Override
832  //! Not allowed
833  //! @attention None
834  //--------------------------------------------------------------------------
835 
836  VOID Connect( I32 i32_Value );
837 
838  //!-------------------------------------------------------------------------
839  //! @brief Connect parameter to the constant value of U32 datatype.
840  //! @note None
841  //! @param [in] u32_Value - U32 value to connect
842  //! \par Override
843  //! Not allowed
844  //! @attention None
845  //--------------------------------------------------------------------------
846 
847  VOID Connect( U32 u32_Value );
848 
849  //!-------------------------------------------------------------------------
850  //! @brief Connect parameter to the constant value of I64 datatype.
851  //! @note None
852  //! @param [in] i64_Value - I64 value to connect
853  //! \par Override
854  //! Not allowed
855  //! @attention None
856  //--------------------------------------------------------------------------
857 
858  VOID Connect( I64 i64_Value );
859 
860  //!-------------------------------------------------------------------------
861  //! @brief Connect parameter to the constant value of U64 datatype.
862  //! @note None
863  //! @param [in] u64_Value - U64 value to connect
864  //! \par Override
865  //! Not allowed
866  //! @attention None
867  //--------------------------------------------------------------------------
868 
869  VOID Connect( U64 u64_Value );
870 
871  //!-------------------------------------------------------------------------
872  //! @brief Connect parameter to the constant value of F32 datatype.
873  //! @note None
874  //! @param [in] f32_Value - F32 value to connect
875  //! \par Override
876  //! Not allowed
877  //! @attention None
878  //--------------------------------------------------------------------------
879 
880  VOID Connect( F32 f32_Value );
881 
882  //!-------------------------------------------------------------------------
883  //! @brief Connect parameter to the constant value of F64 datatype.
884  //! @note None
885  //! @param [in] f64_Value - F64 value to connect
886  //! \par Override
887  //! Not allowed
888  //! @attention None
889  //--------------------------------------------------------------------------
890 
891  VOID Connect( F64 f64_Value );
892 
893  //!-------------------------------------------------------------------------
894  //! @brief Get parameter identifier.
895  //! @note None
896  //! @return U32 - Parameter identifier
897  //! \par Override
898  //! Not allowed
899  //! @attention None
900  //--------------------------------------------------------------------------
901 
902  U32 Get_ID();
903 
904  //!-------------------------------------------------------------------------
905  //! @brief Get parameter underlying storage data type.
906  //! @note None
907  //! @return TConOpSys_Variant_Data_Type - Parameter underlying storage data type
908  //! \par Override
909  //! Not allowed
910  //! @attention None
911  //--------------------------------------------------------------------------
912 
914 
915  //!-------------------------------------------------------------------------
916  //! @brief Get parameter properties as U32 value.
917  //! @note None
918  //! @return U32 - Parameter properties
919  //! \par Override
920  //! Not allowed
921  //! @attention None
922  //--------------------------------------------------------------------------
923 
925 
926  //!-------------------------------------------------------------------------
927  //! @brief Get parameter element count by array parameters.
928  //! @note None
929  //! @return U32 - Parameter element count
930  //! \par Override
931  //! Not allowed
932  //! @attention None
933  //--------------------------------------------------------------------------
934 
936 
937  //!-------------------------------------------------------------------------
938  //! @brief Get parameter actual datatype.
939  //! @note None
940  //! @return TConOpSys_Variant_Data_Type - Parameter actual datatype
941  //! \par Override
942  //! Not allowed
943  //! @attention None
944  //--------------------------------------------------------------------------
945 
947 
948  //!-------------------------------------------------------------------------
949  //! @brief Get parameter actual access mode.
950  //! @note None
951  //! @return TParameter_Access_Mode - Parameter actual access mode
952  //! \par Override
953  //! Not allowed
954  //! @attention None
955  //--------------------------------------------------------------------------
956 
958 
959  //!-------------------------------------------------------------------------
960  //! @brief Get parameter actual boundary check mode.
961  //! @note None
962  //! @return TParameter_Boundary_Check_Mode - Parameter actual boundary check mode
963  //! \par Override
964  //! Not allowed
965  //! @attention None
966  //--------------------------------------------------------------------------
967 
969 
970  //!-------------------------------------------------------------------------
971  //! @brief Get parameter actual display format.
972  //! @note None
973  //! @return TParameter_Display_Format - Parameter actual display format
974  //! \par Override
975  //! Not allowed
976  //! @attention None
977  //--------------------------------------------------------------------------
978 
980 
981  //!-------------------------------------------------------------------------
982  //! @brief Get parameter nonvolatile flag.
983  //! @note None
984  //! @return BOOL - Parameter nonvolatile flag
985  //! @retval false - Parameter volatile
986  //! @retval true - Parameter nonvolatile
987  //! \par Override
988  //! Not allowed
989  //! @attention None
990  //--------------------------------------------------------------------------
991 
993 
994  //!-------------------------------------------------------------------------
995  //! @brief Get parameter value in bytes.
996  //! @note None
997  //! @return U32 - Parameter value size in byte
998  //! \par Override
999  //! Not allowed
1000  //! @attention None
1001  //--------------------------------------------------------------------------
1002 
1003  U32 Get_Size();
1004 
1005  //!-------------------------------------------------------------------------
1006  //! @brief Get parameter minimum value as variant.
1007  //! @note None
1008  //! @return TConOpSys_Variant - Parameter minimum value
1009  //! \par Override
1010  //! Not allowed
1011  //! @attention None
1012  //--------------------------------------------------------------------------
1013 
1015 
1016  //!-------------------------------------------------------------------------
1017  //! @brief Get parameter maximum value as variant.
1018  //! @note None
1019  //! @return TConOpSys_Variant - Parameter maximum value
1020  //! \par Override
1021  //! Not allowed
1022  //! @attention None
1023  //--------------------------------------------------------------------------
1024 
1026 
1027  //!-------------------------------------------------------------------------
1028  //! @brief Get parameter default value as variant.
1029  //! @note None
1030  //! @return TConOpSys_Variant - Parameter default value
1031  //! \par Override
1032  //! Not allowed
1033  //! @attention None
1034  //--------------------------------------------------------------------------
1035 
1037 
1038  //!-------------------------------------------------------------------------
1039  //! @brief Get parameter actual value as variant.
1040  //! @note None
1041  //! @return TConOpSys_Variant - Parameter actual value
1042  //! \par Override
1043  //! Not allowed
1044  //! @attention None
1045  //--------------------------------------------------------------------------
1046 
1048 
1049  //!-------------------------------------------------------------------------
1050  //! @brief Get parameter actual underlaying storage datatype.
1051  //! @note None
1052  //! @return TConOpSys_Variant_Data - Parameter actual underlaying storage datatype
1053  //! \par Override
1054  //! Not allowed
1055  //! @attention None
1056  //--------------------------------------------------------------------------
1057 
1059 
1060  //!-------------------------------------------------------------------------
1061  //! @brief Get parameter actual underlaying storage datatype.
1062  //! @note None
1063  //! @param [in] u32_Element_Index - Element index for
1064  //! @return TConOpSys_Variant_Data - Parameter actual underlaying storage datatype
1065  //! \par Override
1066  //! Not allowed
1067  //! @attention None
1068  //--------------------------------------------------------------------------
1069 
1070  TConOpSys_Variant_Data Get_Variant_Data( U32 u32_Element_Index );
1071 
1072  //!-------------------------------------------------------------------------
1073  //! @brief Get parameter actual media storage index.
1074  //! @note None
1075  //! @return U32 - Parameter actual media storage index
1076  //! \par Override
1077  //! Not allowed
1078  //! @attention None
1079  //--------------------------------------------------------------------------
1080 
1082 
1083  //!-------------------------------------------------------------------------
1084  //! @brief Clear parameter actual media storage index.
1085  //! @note None
1086  //! \par Override
1087  //! Not allowed
1088  //! @attention None
1089  //--------------------------------------------------------------------------
1090 
1092 
1093  //!-------------------------------------------------------------------------
1094  //! @brief Get parameter actual PUUID high.
1095  //! @note None
1096  //! @return U64 - Parameter actual PUUID high
1097  //! \par Override
1098  //! Not allowed
1099  //! @attention None
1100  //--------------------------------------------------------------------------
1101 
1102  U64 Get_PUUID_High();
1103 
1104  //!-------------------------------------------------------------------------
1105  //! @brief Get parameter actual PUUID low.
1106  //! @note None
1107  //! @return U64 - Parameter actual PUUID low
1108  //! \par Override
1109  //! Not allowed
1110  //! @attention None
1111  //--------------------------------------------------------------------------
1112 
1113  U64 Get_PUUID_Low();
1114 
1115  //!-------------------------------------------------------------------------
1116  //! @brief Get parameter element count.
1117  //! @note None
1118  //! @return U32 - Parameter element count
1119  //! \par Override
1120  //! Not allowed
1121  //! @attention None
1122  //--------------------------------------------------------------------------
1123 
1125 
1126  //!-------------------------------------------------------------------------
1127  //! @brief Get parameter name.
1128  //! @note Returns pointer to the parameter name string
1129  //! @return C8* - Pointer to the parameter name string
1130  //! \par Override
1131  //! Not allowed
1132  //! @attention None
1133  //--------------------------------------------------------------------------
1134 
1136 
1137  //!-------------------------------------------------------------------------
1138  //! @brief Get parameter group name.
1139  //! @note Returns pointer to the parameter group name string
1140  //! @return C8* - Pointer to the parameter group name string
1141  //! \par Override
1142  //! Not allowed
1143  //! @attention None
1144  //--------------------------------------------------------------------------
1145 
1146  C8* Get_Group_Name();
1147 
1148  //!-------------------------------------------------------------------------
1149  //! @brief Get parameter description.
1150  //! @note Returns pointer to the parameter description string
1151  //! @return C8* - Pointer to the parameter description string
1152  //! \par Override
1153  //! Not allowed
1154  //! @attention None
1155  //--------------------------------------------------------------------------
1156 
1157  C8* Get_Description();
1158 
1159  //!-------------------------------------------------------------------------
1160  //! @brief Get parameter units name.
1161  //! @note Returns pointer to the parameter units name string
1162  //! @return C8* - Pointer to the parameter units name string
1163  //! \par Override
1164  //! Not allowed
1165  //! @attention None
1166  //--------------------------------------------------------------------------
1167 
1168  C8* Get_Unit_Name();
1169 
1170  //!-------------------------------------------------------------------------
1171  //! @brief Clear parameter value.
1172  //! @note Set parameter value storage to initial zero condition
1173  //! \par Override
1174  //! Not allowed
1175  //! @attention None
1176  //--------------------------------------------------------------------------
1177 
1178  VOID Clear_Value();
1179 
1180  //!-------------------------------------------------------------------------
1181  //! @brief Parameter initialisation data default virtual processing method.
1182  //! @note None
1183  //! @return BOOL - Method execution status
1184  //! @retval false - Parameter initialisation failed with error
1185  //! @retval true - Parameter initialisation successed
1186  //! \par Override
1187  //! Optional
1188  //! @attention None
1189  //--------------------------------------------------------------------------
1190 
1191  virtual BOOL Init_Data_Processing();
1192 
1193  //!-------------------------------------------------------------------------
1194  //! @brief Parameter pre-read data processing default virtual processing method.
1195  //! @note None
1196  //! @return BOOL - Method execution status
1197  //! @retval false - Parameter pre-read data processing failed with error
1198  //! @retval true - Parameter pre-read data processing successed
1199  //! \par Override
1200  //! Optional
1201  //! @attention None
1202  //--------------------------------------------------------------------------
1203 
1204  virtual BOOL Pre_Read_Data_Processing();
1205 
1206  //!-------------------------------------------------------------------------
1207  //! @brief Parameter post-read data processing default virtual processing method.
1208  //! @note None
1209  //! @return BOOL - Method execution status
1210  //! @retval false - Parameter post-read data processing failed with error
1211  //! @retval true - Parameter post-read data processing successed
1212  //! \par Override
1213  //! Optional
1214  //! @attention None
1215  //--------------------------------------------------------------------------
1216 
1217  virtual BOOL Post_Read_Data_Processing();
1218 
1219  //!-------------------------------------------------------------------------
1220  //! @brief Parameter pre-write data processing default virtual processing method.
1221  //! @note None
1222  //! @return BOOL - Method execution status
1223  //! @retval false - Parameter pre-write data processing failed with error
1224  //! @retval true - Parameter pre-write data processing successed
1225  //! \par Override
1226  //! Optional
1227  //! @attention None
1228  //--------------------------------------------------------------------------
1229 
1230  virtual BOOL Pre_Write_Data_Processing();
1231 
1232  //!-------------------------------------------------------------------------
1233  //! @brief Parameter post-write data processing default virtual processing method.
1234  //! @note None
1235  //! @return BOOL - Method execution status
1236  //! @retval false - Parameter post-write data processing failed with error
1237  //! @retval true - Parameter post-write data processing successed
1238  //! \par Override
1239  //! Optional
1240  //! @attention None
1241  //--------------------------------------------------------------------------
1242 
1243  virtual BOOL Post_Write_Data_Processing();
1244 
1245  //!-------------------------------------------------------------------------
1246  //! @brief Check parameter boundary data processing default virtual processing method.
1247  //! @note None
1248  //! @return BOOL - Method execution status
1249  //! @retval false - Parameter boundary test processing failed with error
1250  //! @retval true - Parameter boundary test processing successed
1251  //! \par Override
1252  //! Optional
1253  //! @attention None
1254  //--------------------------------------------------------------------------
1255 
1257 
1258  //!-------------------------------------------------------------------------
1259  //! @brief Fix parameter boundary data processing default virtual processing method.
1260  //! @note None
1261  //! @return BOOL - Method execution status
1262  //! @retval false - Parameter boundary test processing failed with error
1263  //! @retval true - Parameter boundary test processing successed
1264  //! \par Override
1265  //! Optional
1266  //! @attention None
1267  //--------------------------------------------------------------------------
1268 
1270 
1271  //!-------------------------------------------------------------------------
1272  //! @brief Set parameter value store request.
1273  //! @note Calling this method mark parameter for flush into nonvolatile parameter memory
1274  //! \par Override
1275  //! Not allowed
1276  //! @attention Parameter flushing works only for volatile and quasivolaatile parameters
1277  //--------------------------------------------------------------------------
1278 
1280 
1281  //!-------------------------------------------------------------------------
1282  //! @brief Clear parameter value store request.
1283  //! @note None
1284  //! \par Override
1285  //! Not allowed
1286  //! @attention None
1287  //--------------------------------------------------------------------------
1288 
1290 
1291  //!-------------------------------------------------------------------------
1292  //! @brief Initialise parameter value from the media.
1293  //! @note None
1294  //! @param [in] *struct_Variant_Data_Pointer - Pointer to the initialisation data object
1295  //! \par Override
1296  //! Not allowed
1297  //! @attention None
1298  //--------------------------------------------------------------------------
1299 
1300  VOID Initialise_From_Media( TConOpSys_Variant_Data struct_Variant_Data_Pointer );
1301 
1302  //!-------------------------------------------------------------------------
1303  //! @brief Initialise parameter value from the media.
1304  //! @note None
1305  //! @param [in] *struct_Variant_Data_Pointer - Pointer to the initialisation data object
1306  //! @param [in] *u32_Element_Index - Element index
1307  //! \par Override
1308  //! Not allowed
1309  //! @attention None
1310  //--------------------------------------------------------------------------
1311 
1312  VOID Initialise_From_Media( TConOpSys_Variant_Data struct_Variant_Data_Pointer, U32 u32_Element_Index );
1313 
1314  //!-------------------------------------------------------------------------
1315  //! @brief Append parameter descriptor data to the hash value.
1316  //! @note None
1317  //! @param [inout] *u32_Hash_Value - Pointer to the hash value
1318  //! \par Override
1319  //! Not allowed
1320  //! @attention None
1321  //--------------------------------------------------------------------------
1322 
1323  VOID Append_Hash_Data( U32 *u32_Hash_Value );
1324 
1325  // ANVILEX ToDo : Implement this method and move Set_Type method to private methods.
1326  // Type replecation requered by scope functionaality
1327  // BOOL Replicate_Type_From_Parameter( TParameter_Base *object_Parameter );
1328 
1329  //--------------------------------------------------------------------------
1330  // Public operators
1331  //--------------------------------------------------------------------------
1332 
1333  //! @brief Connect to the output connector
1334  VOID operator=( TBlock_Output_Connector &object_Connector );
1335 
1336  //--------------------------------------------------------------------------
1337  // Public variables
1338  //--------------------------------------------------------------------------
1339 
1340  //! @brief Parameter value storage variable
1341  //! @todo Make struct_Value variable protected or private.
1343 
1344  //----------------------------------------------------------------------------
1345  // Protected defines, methods and variables
1346  //----------------------------------------------------------------------------
1347 
1348  protected:
1349 
1350  //!-------------------------------------------------------------------------
1351  //! @brief Configure parameter from parameter descriptor.
1352  //! @note None
1353  //! @param [in] *struct_New_Parameter_Descriptor - Pointer to the parameter descriptor
1354  //! @return BOOL - Method execution status
1355  //! @retval false - Parameter cofiguration failed
1356  //! @retval true - Parameter cofiguration successed
1357  //! \par Override
1358  //! Not allowed
1359  //! @attention None
1360  //--------------------------------------------------------------------------
1361 
1362  BOOL Configure( const TParameter_Descriptor *struct_New_Parameter_Descriptor );
1363 
1364  //!-------------------------------------------------------------------------
1365  //! @brief Initiaise parameter value method.
1366  //! @note This method performs internal parameter data storage initialisation
1367  //! @return BOOL - Method execution status
1368  //! @retval false - Parameter value initialisation failed
1369  //! @retval true - Parameter value initialisation successed
1370  //! \par Override
1371  //! Not allowed
1372  //! @attention None
1373  //--------------------------------------------------------------------------
1374 
1376 
1377  //!-------------------------------------------------------------------------
1378  //! @brief Initiaise single element parameter method.
1379  //! @note This method performs internal parameter data storage initialisation
1380  //! @return BOOL - Method execution status
1381  //! @retval false - Parameter value initialisation failed
1382  //! @retval true - Parameter value initialisation successed
1383  //! \par Override
1384  //! Not allowed
1385  //! @attention None
1386  //--------------------------------------------------------------------------
1387 
1389 
1390  //!-------------------------------------------------------------------------
1391  //! @brief Initiaise array parameter method.
1392  //! @note This method performs internal parameter data storage initialisation
1393  //! @return BOOL - Method execution status
1394  //! @retval false - Parameter value initialisation failed
1395  //! @retval true - Parameter value initialisation successed
1396  //! \par Override
1397  //! Not allowed
1398  //! @attention None
1399  //--------------------------------------------------------------------------
1400 
1402 
1403  //--------------------------------------------------------------------------
1404  // Protected variables
1405  //--------------------------------------------------------------------------
1406 
1407  //! @brief Pointer to the parameter descriptor structure
1409 
1410  //--------------------------------------------------------------------------
1411  // Protected variables reserved for extension
1412  //--------------------------------------------------------------------------
1413 
1414 //! @todo ANVILEX KM: ???
1415 // BOOL bool_Trace_Allowed;
1416 // BOOL bool_Scope_Allowed;
1417 // BOOL bool_Nonvolatile;
1418 // BOOL bool_Hidden;
1419 // BOOL bool_Valid;
1420 // TConOpSys_Color object_Color; //!< Parameter default graph colour
1421 // U32 u32_Element_Count; //!< Parameter element count variable (Reserved for functionality expansion)
1422 
1423  //----------------------------------------------------------------------------
1424  // Private defines, methods and variables
1425  //----------------------------------------------------------------------------
1426 
1427  private:
1428 
1429  //!-------------------------------------------------------------------------
1430  //! @brief Check value against actual bounds method.
1431  //! @note None
1432  //! @param [in] *object_New_Value - Pointer to the value
1433  //! @return BOOL - Method execution status
1434  //! @retval false - Value in bounds
1435  //! @retval true - Value out of bounds
1436  //! \par Override
1437  //! Optional
1438  //! @attention None
1439  //--------------------------------------------------------------------------
1440 
1441  BOOL Check_Limits( TConOpSys_Variant *object_New_Value );
1442 
1443  //!-------------------------------------------------------------------------
1444  //! @brief Check and fix out of limit values method.
1445  //! @note This method verified actual parameter values against actual boundaries and set value to default in out of boundaries case
1446  //! @return BOOL - Method execution status
1447  //! @retval false - Parameter value in bounds
1448  //! @retval true - Parameter value out of bounds
1449  //! \par Override
1450  //! Optional
1451  //! @attention None
1452  //--------------------------------------------------------------------------
1453 
1455 
1456  //--------------------------------------------------------------------------
1457  // Private variables
1458  //--------------------------------------------------------------------------
1459 
1460  //! @brief Parameter status
1462 
1463  //! @brief Media storage index
1465 
1466 };
1467 
1468 //------------------------------------------------------------------------------
1469 // End of file
1470 //------------------------------------------------------------------------------
Block output connecttor class header file.
ConOpSys variant class header file.
TConOpSys_Variant_Data_Type
Definition: ConOpSys_Variant_Data_Type.h:57
int BOOL
Boolean datatype definition.
Definition: Defines.h:124
#define NULL
Definition: Defines.h:388
unsigned long long U64
Binary 64-Bit unsigned integer datatype defenition.
Definition: Defines.h:213
long I32
2s Compliment 32-Bit signed integer datatype defenition
Definition: Defines.h:206
unsigned char U8
Binary 8-Bit unsigned integer datatype defenition.
Definition: Defines.h:183
signed char I8
2s Compliment 8-Bit signed integer datatype defenition
Definition: Defines.h:186
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
short I16
2s Compliment 16-Bit signed integer datatype defenition
Definition: Defines.h:196
long long I64
2s Compliment 64-Bit signed integer datatype defenition
Definition: Defines.h:217
double F64
IEEE-754 64-Bit double presession floating point numbers datatype defenition.
Definition: Defines.h:327
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
char C8
ASCII 8-Bit char datatype defenition.
Definition: Defines.h:156
Parameter database defines header file.
TParameter_Access_Mode
Parameter local access mode enumeration.
Definition: Parameter_Base_Defines.h:60
TParameter_Display_Format
Parameter fisplay format enumeration.
Definition: Parameter_Base_Defines.h:178
TParameter_Boundary_Check_Mode
Parameter boundary check mode enimeration.
Definition: Parameter_Base_Defines.h:133
Parameter database definintions header file.
Communication protocol base class header file.
ConOpSys system parameter index definition header file.
Function block output connector class.
Definition: Block_Output_Connector.h:59
ConOpSys variant class.
Definition: ConOpSys_Variant.h:851
Parameter base class.
Definition: Parameter_Base.h:60
VOID Set_Type(TConOpSys_Variant_Data_Type enum_Type)
Set new parameter datatype.
Definition: Parameter_Base.cpp:5733
U64 Get_PUUID_Low()
Get parameter actual PUUID low.
Definition: Parameter_Base.cpp:5982
C8 * Get_Unit_Name()
Get parameter units name.
Definition: Parameter_Base.cpp:6043
BOOL Is_Default_Initialised()
Return parameter default value initialisation status.
Definition: Parameter_Base.cpp:702
TConOpSys_Variant_Data_Type Get_Type()
Get parameter actual datatype.
Definition: Parameter_Base.cpp:5769
virtual BOOL Pre_Write_Data_Processing()
Parameter pre-write data processing default virtual processing method.
Definition: Parameter_Base.cpp:6103
BOOL Is_Initialised()
Return parameter initialisation status.
Definition: Parameter_Base.cpp:641
BOOL Read_Value_As_U8(U8 *u8_Value)
Read parameter value as 8-bit unsigned value.
Definition: Parameter_Base.cpp:3446
virtual BOOL Post_Read_Data_Processing()
Parameter post-read data processing default virtual processing method.
Definition: Parameter_Base.cpp:6091
BOOL Write_Value_As_U64(U64 u64_New_Value)
Write parameter value from U64 value.
Definition: Parameter_Base.cpp:2728
BOOL Write_Value_As_F32(F32 f32_New_Value)
Write parameter value from F32 value.
Definition: Parameter_Base.cpp:2923
virtual BOOL Init_Data_Processing()
Parameter initialisation data default virtual processing method.
Definition: Parameter_Base.cpp:6067
U32 u32_Media_Storage_Index
Media storage index.
Definition: Parameter_Base.h:1464
BOOL Is_Nonvolatile()
Return nonvalatile parameter status.
Definition: Parameter_Base.cpp:603
BOOL Read_Value_As_U64(U64 *u64_Value)
Read parameter value as 64-bit unsigned value.
Definition: Parameter_Base.cpp:4028
TConOpSys_Variant_Data_Type Get_Storage_Type()
Get parameter underlying storage data type.
Definition: Parameter_Base.cpp:5805
BOOL Write_Value_As_U8(U8 u8_New_Value)
Write parameter value from U8 value.
Definition: Parameter_Base.cpp:2350
VOID Connect(TBlock_Output_Connector *object_Connector)
Connect parameter to the function block output connector.
Definition: Parameter_Base.cpp:6263
BOOL Read_Value_As_I64(I64 *i64_Value)
Read parameter value as 64-bit signed value.
Definition: Parameter_Base.cpp:4125
BOOL Read_Value_As_F32(F32 *f32_Value)
Read parameter value as 32-bit floating point value.
Definition: Parameter_Base.cpp:4222
TParameter_Boundary_Check_Mode Get_Limit_Check_Mode()
Get parameter actual boundary check mode.
Definition: Parameter_Base.cpp:5563
BOOL Read_Value_As_BOOL(BOOL *bool_Value)
Read parameter value as boolean value.
Definition: Parameter_Base.cpp:3349
BOOL Write_Value_As_F64(F64 f64_New_Value)
Write parameter value from F64 value.
Definition: Parameter_Base.cpp:2986
BOOL Read_Value_As_U16(U16 *u16_Value)
Read parameter value as 16-bit unsigned value.
Definition: Parameter_Base.cpp:3640
U64 Get_PUUID_High()
Get parameter actual PUUID high.
Definition: Parameter_Base.cpp:5970
BOOL Read_Value_As_F64(F64 *f64_Value)
Read parameter value as 64-bit floating point value.
Definition: Parameter_Base.cpp:4319
VOID Clear_Value()
Clear parameter value.
Definition: Parameter_Base.cpp:6055
BOOL Is_Name(C8 *c8_Parameter_Name)
Return parameter name checking status.
Definition: Parameter_Base.cpp:516
BOOL Is_Writable()
Return parameter writability status.
Definition: Parameter_Base.cpp:780
BOOL Is_Readable()
Return parameter readability status.
Definition: Parameter_Base.cpp:891
BOOL Is_Storage_Type()
Return test result for parameter is storage type.
Definition: Parameter_Base.cpp:5793
BOOL Is_Pointer_Type()
Return test result for parameter is pointer type.
Definition: Parameter_Base.cpp:5781
BOOL Read_Value_As_I8(I8 *i8_Value)
Read parameter value as 8-bit signed value.
Definition: Parameter_Base.cpp:3543
U32 Get_ID()
Get parameter identifier.
Definition: Parameter_Base.cpp:5475
TConOpSys_Variant Get_Maximum_Value()
Get parameter maximum value as variant.
Definition: Parameter_Base.cpp:5834
U32 Get_Media_Storage_Index()
Get parameter actual media storage index.
Definition: Parameter_Base.cpp:5946
U32 Get_Parameter_Properties()
Get parameter properties as U32 value.
Definition: Parameter_Base.cpp:5695
virtual BOOL Post_Write_Data_Processing()
Parameter post-write data processing default virtual processing method.
Definition: Parameter_Base.cpp:6115
VOID Append_Hash_Data(U32 *u32_Hash_Value)
Append parameter descriptor data to the hash value.
Definition: Parameter_Base.cpp:6728
VOID Clear_Media_Storage_Index()
Clear parameter actual media storage index.
Definition: Parameter_Base.cpp:5958
VOID Clear_Store_Request()
Clear parameter value store request.
Definition: Parameter_Base.cpp:6163
BOOL Write_Value_As_U32(U32 u32_New_Value)
Write parameter value from U32 value.
Definition: Parameter_Base.cpp:2602
BOOL Read_Value_As_Variant(TConOpSys_Variant *object_Read_Value)
Read parameter value as variant value.
Definition: Parameter_Base.cpp:4416
BOOL Is_Quasivolatile()
Return quasivalatile parameter status.
Definition: Parameter_Base.cpp:615
TParameter_Access_Mode Get_Access_Mode()
Get parameter actual access mode.
Definition: Parameter_Base.cpp:5519
BOOL Initialise_Array()
Initiaise array parameter method.
Definition: Parameter_Base.cpp:337
virtual BOOL Check_And_Fix_Parameter_Boundary_Processing()
Fix parameter boundary data processing default virtual processing method.
Definition: Parameter_Base.cpp:6139
BOOL Is_Value_Valid()
Return status of the parameter value validation.
Definition: Parameter_Base.cpp:591
BOOL Is_Media_Initialised()
Return parameter media value initialisation status.
Definition: Parameter_Base.cpp:741
BOOL Write_Value_As_I16(I16 i16_New_Value)
Write parameter value from I16 value.
Definition: Parameter_Base.cpp:2539
BOOL Is_Array()
Return parameter array status.
Definition: Parameter_Base.cpp:1002
TConOpSys_Variant Get_Minimum_Value()
Get parameter minimum value as variant.
Definition: Parameter_Base.cpp:5817
BOOL Read_Value_As_Raw_Data(U8 *u8_Raw_Data)
Read parameter value as raw data value.
Definition: Parameter_Base.cpp:4541
VOID Initialise_From_Media(TConOpSys_Variant_Data struct_Variant_Data_Pointer)
Initialise parameter value from the media.
Definition: Parameter_Base.cpp:6179
C8 * Get_Parameter_Name()
Get parameter name.
Definition: Parameter_Base.cpp:6006
BOOL Read_Value_As_U32(U32 *u32_Value)
Read parameter value as 32-bit unsigned value.
Definition: Parameter_Base.cpp:3834
BOOL Is_Element_Exists(U32 u32_Element_Index)
Return parameter element index exist status.
Definition: Parameter_Base.cpp:1014
BOOL Write_Value_As_String(C8 *s8_New_Value)
Write parameter value from zero terminated decimal string.
Definition: Parameter_Base.cpp:1951
TParameter_Descriptor * struct_Parameter_Descriptor
Pointer to the parameter descriptor structure.
Definition: Parameter_Base.h:1408
U32 Get_Size()
Get parameter value in bytes.
Definition: Parameter_Base.cpp:5757
VOID operator=(TBlock_Output_Connector &object_Connector)
Connect to the output connector.
Definition: Parameter_Base.cpp:6753
TConOpSys_Variant_Data Get_Variant_Data()
Get parameter actual underlaying storage datatype.
Definition: Parameter_Base.cpp:5882
BOOL Initialise_Element()
Initiaise single element parameter method.
Definition: Parameter_Base.cpp:438
BOOL Get_Nonvolatile_Flag()
Get parameter nonvolatile flag.
Definition: Parameter_Base.cpp:5651
BOOL Is_Store_To_Media_Database()
Return store to media parameter status.
Definition: Parameter_Base.cpp:627
BOOL Write_Value_As_Variant(TConOpSys_Variant *object_New_Value)
Write parameter value from variant value.
Definition: Parameter_Base.cpp:3049
U32 Get_Element_Count()
Get parameter element count.
Definition: Parameter_Base.cpp:5994
BOOL Configure(const TParameter_Descriptor *struct_New_Parameter_Descriptor)
Configure parameter from parameter descriptor.
Definition: Parameter_Base.cpp:84
BOOL Check_And_Fix_Out_Of_Limit_Value()
Check and fix out of limit values method.
Definition: Parameter_Base.cpp:1553
TParameter_Status struct_Status
Parameter status.
Definition: Parameter_Base.h:1461
BOOL Write_Value_As_I8(I8 i8_New_Value)
Write parameter value from I8 value.
Definition: Parameter_Base.cpp:2413
U32 Get_Parameter_Element_Count()
Get parameter element count by array parameters.
Definition: Parameter_Base.cpp:5721
BOOL Read_Value_As_I16(I16 *i16_Value)
Read parameter value as 16-bit signed value.
Definition: Parameter_Base.cpp:3737
virtual BOOL Init()=0
Parameter object initialisation method.
BOOL Write_Value_As_Hex_String(C8 *s8_New_Value)
Write parameter value from zero terminated hex string.
Definition: Parameter_Base.cpp:2088
BOOL Write_Value_As_BOOL(BOOL bool_New_Value)
Write parameter value from boolean value.
Definition: Parameter_Base.cpp:2287
BOOL Write_Value_As_I64(I64 i64_New_Value)
Write parameter value from I64 value.
Definition: Parameter_Base.cpp:2860
C8 * Get_Description()
Get parameter description.
Definition: Parameter_Base.cpp:6031
C8 * Get_Group_Name()
Get parameter group name.
Definition: Parameter_Base.cpp:6019
BOOL Read_Value_As_I32(I32 *i32_Value)
Read parameter value as 32-bit signed value.
Definition: Parameter_Base.cpp:3931
BOOL Check_Limits(TConOpSys_Variant *object_New_Value)
Check value against actual bounds method.
Definition: Parameter_Base.cpp:1179
TConOpSys_Variant Get_Default_Value()
Get parameter default value as variant.
Definition: Parameter_Base.cpp:5851
TParameter_Display_Format Get_Display_Format()
Get parameter actual display format.
Definition: Parameter_Base.cpp:5607
TConOpSys_Variant struct_Value
Parameter value storage variable.
Definition: Parameter_Base.h:1342
BOOL Write_Value_As_I32(I32 i32_New_Value)
Write parameter value from I32 value.
Definition: Parameter_Base.cpp:2665
virtual BOOL Check_Parameter_Boundary_Processing()
Check parameter boundary data processing default virtual processing method.
Definition: Parameter_Base.cpp:6127
VOID Set_Media_Storage_Index(U32 u32_New_Media_Storage_Index)
Set media storage index.
Definition: Parameter_Base.cpp:5745
VOID Send_Information(TProtocol_Base *object_Protocol)
Send parameter information over given protocol.
Definition: Parameter_Base.cpp:1053
BOOL Initialise_Value()
Initiaise parameter value method.
Definition: Parameter_Base.cpp:234
TConOpSys_Variant Get_Value()
Get parameter actual value as variant.
Definition: Parameter_Base.cpp:5868
TParameter_Base()
Parameter base class constructor method.
Definition: Parameter_Base.cpp:72
virtual BOOL Pre_Read_Data_Processing()
Parameter pre-read data processing default virtual processing method.
Definition: Parameter_Base.cpp:6079
BOOL Write_Value_As_U16(U16 u16_New_Value)
Write parameter value from U16 value.
Definition: Parameter_Base.cpp:2476
VOID Set_Store_Request()
Set parameter value store request.
Definition: Parameter_Base.cpp:6151
BOOL Is_ID(U32 u32_ID)
Return parameter identifier checking status.
Definition: Parameter_Base.cpp:579
Definition: Protocol_Base.h:57
Parameter description structure definition.
Definition: Parameter_Base_Defines.h:365
ConOpSys variant data storage structure.
Definition: ConOpSys_Variant.h:403
Parameter satus word.
Definition: Parameter_Base_Defines.h:498
U32 u32_Status
Parameter status raw data.
Definition: Parameter_Base_Defines.h:501