ConOpSys V2970  P004.07
ANVILEX control operating system
ConOpSys_Variant.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file ConOpSys_Variant.h
3 //! @brief ConOpSys variant class header file.
4 //! @copyright (C) 2004-2020 ANVILEX LLC
5 //! @attention No special attention requered.
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Common/ConOpSys_Variant.h $
7 //! $Revision: 2944 $
8 //! $Date: 2022-02-26 10:45:42 +0500 (Sa, 26 Feb 2022) $
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 "Defines.h"
48 
49 //#if CONOPSYS_TARGET == CONOPSYS_TARGET_DEVICE
50 //#include "Application_Resource_Configuration.h"
51 //#endif
52 
53 #include "Application_Resource_Configuration.h"
54 
55 //------------------------------------------------------------------------------
56 // VDC tool related includes
57 //------------------------------------------------------------------------------
58 
59 #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
60 #include <System.hpp>
61 #endif
62 
63 //------------------------------------------------------------------------------
64 // Class definitions
65 //------------------------------------------------------------------------------
66 /*
67 //! @brief Variant data type enumeration
68 enum class TConOpSys_Variant_Data_Type : U8
69 {
70 
71  //! @brief Unassigned data type marker
72  enum_Unassigned = 0,
73 
74  //! @brief Unknown data type marker
75  enum_Unknown = 255,
76 
77  //! @brief Variant contains value of boolean data type
78  enum_BOOL = 1,
79 
80  //! @brief Variant contains pointer to value of boolean data type
81  enum_PBOOL = 2,
82 
83  //! @brief Variant contains pointer to array of values of boolean data type
84  enum_ABOOL = 108,
85 
86  //! @brief Variant contains value of U8 data type
87  enum_U8 = 3,
88 
89  //! @brief Variant contains pointer to value of U8 data type
90  enum_PU8 = 4,
91 
92  //! @brief Variant contains pointer to array of values of U8 data type
93  enum_AU8 = 109,
94 
95  //! @brief Variant contains value of I8 data type
96  enum_I8 = 5,
97 
98  //! @brief Variant contains pointer to value of I8 data type
99  enum_PI8 = 6,
100 
101  //! @brief Variant contains pointer to array of values of I8 data type
102  enum_AI8 = 110,
103 
104  //! @brief Variant contains value of U16 data type
105  enum_U16 = 7,
106 
107  //! @brief Variant contains pointer to value of U16 data type
108  enum_PU16 = 8,
109 
110  //! @brief Variant contains pointer to array of values of U16 data type
111  enum_AU16 = 111,
112 
113  //! @brief Variant contains value of I16 data type
114  enum_I16 = 9,
115 
116  //! @brief Variant contains pointer to value of I16 data type
117  enum_PI16 = 10,
118 
119  //! @brief Variant contains pointer to array of values of I16 data type
120  enum_AI16 = 112,
121 
122  //! @brief Variant contains value of U32 data type
123  enum_U32 = 11,
124 
125  //! @brief Variant contains pointer to value of U32 data type
126  enum_PU32 = 12,
127 
128  //! @brief Variant contains pointer to array of values of U32 data type
129  enum_AU32 = 113,
130 
131  //! @brief Variant contains value of I32 data type
132  enum_I32 = 13,
133 
134  //! @brief Variant contains pointer to value of I32 data type
135  enum_PI32 = 14,
136 
137  //! @brief Variant contains pointer to array of values of I32 data type
138  enum_AI32 = 114,
139 
140  //! @brief Variant contains value of U64 data
141  enum_U64 = 15,
142 
143  //! @brief Variant contains pointer to value of U64 data type
144  enum_PU64 = 16,
145 
146  //! @brief Variant contains pointer to array of values of U64 data type
147  enum_AU64 = 115,
148 
149  //! @brief Variant contains value of I64 data type
150  enum_I64 = 17,
151 
152  //! @brief Variant contains pointer to value of I64 data type
153  enum_PI64 = 18,
154 
155  //! @brief Variant contains pointer to array of values of I64 data type
156  enum_AI64 = 116,
157 
158  //! @brief Variant contains value of U128 data
159  //! @note PU128 data type reserved for future use
160  enum_U128 = 19,
161 
162  //! @brief Variant contains pointer to value of U128 data type
163  //! @note PU128 data type reserved for future use
164  enum_PU128 = 20,
165 
166  //! @brief Variant contains pointer to array of values of U128 data type
167  //! @note AU128 data type reserved for future use
168  enum_AU128 = 117,
169 
170  //! @brief Variant contains value of I128 data
171  //! @note I128 data type reserved for future use
172  enum_I128 = 21,
173 
174  //! @brief Variant contains pointer to value of I128 data type
175  //! @note PI128 data type reserved for future use
176  enum_PI128 = 22,
177 
178  //! @brief Variant contains pointer to array of values of I128 data type
179  //! @note AI128 data type reserved for future use
180  enum_AI128 = 118,
181 
182  //! @brief Variant contains value of U256 data
183  //! @note U256 data type reserved for future use
184  enum_U256 = 23,
185 
186  //! @brief Variant contains pointer to value of U256 data type
187  //! @note PU256 data type reserved for future use
188  enum_PU256 = 24,
189 
190  //! @brief Variant contains pointer to array of values of U256 data type
191  //! @note AU256 data type reserved for future use
192  enum_AU256 = 119,
193 
194  //! @brief Variant contains value of I256 data
195  //! @note PI256 data type reserved for future use
196  enum_I256 = 25,
197 
198  //! @brief Variant contains pointer to value of I256 data type
199  //! @note PI256 data type reserved for future use
200  enum_PI256 = 26,
201 
202  //! @brief Variant contains pointer to array of values of I256 data type
203  enum_AI256 = 120,
204 
205  //! @brief Variant contains value of F16 data
206  //! @note F16 data type reserved for future use
207  enum_F16 = 27,
208 
209  //! @brief Variant contains pointer to value of F16 data type
210  //! @note PF16 data type reserved for future use
211  enum_PF16 = 28,
212 
213  //! @brief Variant contains pointer to array of values of F16 data type
214  //! @note F16 data type reserved for future use
215  enum_AF16 = 121,
216 
217  //! @brief Variant contains value of F32 data
218  enum_F32 = 29,
219 
220  //! @brief Variant contains pointer to value of F32 data type
221  enum_PF32 = 30,
222 
223  //! @brief Variant contains pointer to array of values of F32 data type
224  enum_AF32 = 122,
225 
226  //! @brief Variant contains value of F64 data
227  enum_F64 = 31,
228 
229  //! @brief Variant contains pointer to value of F64 data type
230  enum_PF64 = 32,
231 
232  //! @brief Variant contains pointer to array of values of F64 data type
233  enum_AF64 = 123,
234 
235  // Test for F80 datatype supported
236  #if ( PARAMETER_DATATYPE_F80_SUPPORT == (true) )
237 
238  //! @brief Variant contains value of F80 data
239  //! @note F80 data type reserved for future use
240  enum_F80 = 33, // Reserved
241 
242  //! @brief Variant contains pointer to value of F80 data type
243  //! @note PF80 data type reserved for future use
244  enum_PF80 = 34, // Reserved
245 
246  //! @brief Variant contains pointer to array of values of F80 data type
247  //! @note AF80 data type reserved for future use
248  enum_AF80 = 124,
249 
250  #endif
251 
252  //! @brief Variant contains value of F128 data
253  //! @note F128 data type reserved for future use
254  enum_F128 = 35,
255 
256  //! @brief Variant contains pointer to value of F128 data type
257  //! @note PF128 data type reserved for future use
258  enum_PF128 = 36,
259 
260  //! @brief Variant contains pointer to array of values of F128 data type
261  //! @note AF128 data type reserved for future use
262  enum_AF128 = 125,
263 
264  //! @brief Variant contains value of F256 data
265  //! @note F256 data type reserved for future use
266  enum_F256 = 37,
267 
268  //! @brief Variant contains pointer to value of F256 data type
269  //! @note PF256 data type reserved for future use
270  enum_PF256 = 38,
271 
272  //! @brief Variant contains pointer to array of values of F256 data type
273  //! @note AF256 data type reserved for future use
274  enum_AF256 = 126,
275 
276  // Fixed point data types
277  enum_IQ1 = 39,
278  enum_PIQ1 = 40,
279 
280  enum_IQ2 = 41,
281  enum_PIQ2 = 42,
282 
283  enum_IQ3 = 43,
284  enum_PIQ3 = 44,
285 
286  enum_IQ4 = 45,
287  enum_PIQ4 = 46,
288 
289  enum_IQ5 = 47,
290  enum_PIQ5 = 48,
291 
292  enum_IQ6 = 49,
293  enum_PIQ6 = 50,
294 
295  enum_IQ7 = 51,
296  enum_PIQ7 = 52,
297 
298  enum_IQ8 = 53,
299  enum_PIQ8 = 54,
300 
301  enum_IQ9 = 55,
302  enum_PIQ9 = 56,
303 
304  enum_IQ10 = 57,
305  enum_PIQ10 = 58,
306 
307  enum_IQ11 = 59,
308  enum_PIQ11 = 60,
309 
310  enum_IQ12 = 61,
311  enum_PIQ12 = 62,
312 
313  enum_IQ13 = 63,
314  enum_PIQ13 = 64,
315 
316  enum_IQ14 = 65,
317  enum_PIQ14 = 66,
318 
319  enum_IQ15 = 67,
320  enum_PIQ15 = 68,
321 
322  enum_IQ16 = 69,
323  enum_PIQ16 = 70,
324 
325  enum_IQ17 = 71,
326  enum_PIQ17 = 72,
327 
328  enum_IQ18 = 73,
329  enum_PIQ18 = 74,
330 
331  enum_IQ19 = 75,
332  enum_PIQ19 = 76,
333 
334  enum_IQ20 = 77,
335  enum_PIQ20 = 78,
336 
337  enum_IQ21 = 79,
338  enum_PIQ21 = 80,
339 
340  enum_IQ22 = 81,
341  enum_PIQ22 = 82,
342 
343  enum_IQ23 = 83,
344  enum_PIQ23 = 84,
345 
346  enum_IQ24 = 85,
347  enum_PIQ24 = 86,
348 
349  enum_IQ25 = 87,
350  enum_PIQ25 = 88,
351 
352  enum_IQ26 = 89,
353  enum_PIQ26 = 90,
354 
355  enum_IQ27 = 91,
356  enum_PIQ27 = 92,
357 
358  enum_IQ28 = 93,
359  enum_PIQ28 = 94,
360 
361  enum_IQ29 = 95,
362  enum_PIQ29 = 96,
363 
364  enum_IQ30 = 97,
365  enum_PIQ30 = 98,
366 
367  enum_IQ31 = 99,
368  enum_PIQ31 = 100,
369 
370  enum_IQ32 = 101,
371  enum_PIQ32 = 102,
372 
373  //! @brief String data types
374  enum_DS = 103,
375 
376  //! @brief Date and time
377  //! @note Reserved
378  enum_DT = 104,
379 
380  //! @brief
381  //! @note Reserved
382  enum_LDT64 = 105,
383 
384  //! @brief Compressed data and time
385  //! @note Reserved
386  enum_CDT64 = 106,
387 
388  //! @brief Record datatype
389  enum_R32 = 107,
390 
391  //! @brief Virtual machine program data type
392  enum_VMP = 127,
393 
394  // NOTE: Last number 128
395 
396 };
397 */
398 //------------------------------------------------------------------------------
399 
400 //! @brief ConOpSys variant data storage structure
401 //! @note Structure must be aligned to 8 byte in memory.
403 {
404 
405  //! @brief Generic data buffer
406  union
407  {
408 
409  //! @brief Nibble parsing struct
410  struct
411  {
412 
413  //! @brief Low nibble
415 
416  //! @brief High nibble
418 
420 
421  //! @brief Data storage
423 
424  } u8_Buffer[ CONOPSYS_VARIANT_DATA_SIZE ];
425 
426  //! @brief U16 data buffer as bits
427  struct
428  {
429 
430  //! @brief Data storage U16, bit 0
432 
433  //! @brief Data storage U16, bit 1
435 
436  //! @brief Data storage U16, bit 2
438 
439  //! @brief Data storage U16, bit 3
441 
442  //! @brief Data storage U16, bit 4
444 
445  //! @brief Data storage U16, bit 5
447 
448  //! @brief Data storage U16, bit 6
450 
451  //! @brief Data storage U16, bit 7
453 
454  //! @brief Data storage U16, bit 8
456 
457  //! @brief Data storage U16, bit 9
459 
460  //! @brief Data storage U16, bit 10
462 
463  //! @brief Data storage U16, bit 11
465 
466  //! @brief Data storage U16, bit 12
468 
469  //! @brief Data storage U16, bit 13
471 
472  //! @brief Data storage U16, bit 14
474 
475  //! @brief Data storage U16, bit 15
477 
479 
480  //! @brief Data storage for boolean value
482 
483  //! @brief Data storage for 8 bit unsigned integer value
485 
486  //! @brief Data storage for 8 bit signed integer value
488 
489  //! @brief Data storage for 16 bit unsigned integer value
491 
492  //! @brief Data storage for 16 bit signed integer value
494 
495  //! @brief Data storage for 32 bit unsigned integer value
497 
498  //! @brief Data storage for 32 bit signed integer value
500 
501  //! @brief Data storage for 64 bit unsigned integer value
503 
504  //! @brief Data storage for 64 bit signed integer value
506 
507 // //! @brief Data storage for 128 bit unsigned integer value
508 // U128 u128_Value;
509 
510 // //! @brief Data storage for 128 bit signed integer value
511 // I128 i128_Value;
512 
513 // //! @brief Data storage for 256 bit unsigned integer value
514 // U256 u256_Value;
515 
516 // //! @brief Data storage for 256 bit signed integer value
517 // I256 i256_Value;
518 
519 // //! @brief Data storage for 16 bit floating point number value
520 // F16 f16_Value;
521 
522  //! @brief Data storage for 32 bit floating point number value
524 
525  //! @brief Data storage for 64 bit floating point number value
527 
528  // Test for F80 datatype supported
529  #if ( PARAMETER_DATATYPE_F80_SUPPORT == (true) )
530 
531  //! @brief Data storage for 80 bit floating point number value
533 
534  #endif
535 
536  // Test for F128 datatype supported
537  #if ( PARAMETER_DATATYPE_F128_SUPPORT == (true) )
538 
539  //! @brief Data storage for 128 bit floating point number value
541 
542  #endif
543 
544  // Test for F256 datatype supported
545  #if ( PARAMETER_DATATYPE_F256_SUPPORT == (true) )
546 
547  //! @brief Data storage for 256 bit floating point number value
549 
550  #endif
551 
552  // Test for IQ datatype supported
553  #if ( PARAMETER_DATATYPE_IF_SUPPORT == (true) )
554 
555  //! @brief Data storage for 32 bit fixed point integer value in Q.1 format
557 
558  //! @brief Data storage for 32 bit fixed point integer value in Q.2 format
560 
561  //! @brief Data storage for 32 bit fixed point integer value in Q.3 format
563 
564  //! @brief Data storage for 32 bit fixed point integer value in Q.4 format
566 
567  //! @brief Data storage for 32 bit fixed point integer value in Q.5 format
569 
570  //! @brief Data storage for 32 bit fixed point integer value in Q.6 format
572 
573  //! @brief Data storage for 32 bit fixed point integer value in Q.7 format
575 
576  //! @brief Data storage for 32 bit fixed point integer value in Q.8 format
578 
579  //! @brief Data storage for 32 bit fixed point integer value in Q.9 format
581 
582  //! @brief Data storage for 32 bit fixed point integer value in Q.10 format
584 
585  //! @brief Data storage for 32 bit fixed point integer value in Q.11 format
587 
588  //! @brief Data storage for 32 bit fixed point integer value in Q.12 format
590 
591  //! @brief Data storage for 32 bit fixed point integer value in Q.13 format
593 
594  //! @brief Data storage for 32 bit fixed point integer value in Q.14 format
596 
597  //! @brief Data storage for 32 bit fixed point integer value in Q.15 format
599 
600  //! @brief Data storage for 32 bit fixed point integer value in Q.16 format
602 
603  //! @brief Data storage for 32 bit fixed point integer value in Q.17 format
605 
606  //! @brief Data storage for 32 bit fixed point integer value in Q.18 format
608 
609  //! @brief Data storage for 32 bit fixed point integer value in Q.19 format
611 
612  //! @brief Data storage for 32 bit fixed point integer value in Q.20 format
614 
615  //! @brief Data storage for 32 bit fixed point integer value in Q.21 format
617 
618  //! @brief Data storage for 32 bit fixed point integer value in Q.22 format
620 
621  //! @brief Data storage for 32 bit fixed point integer value in Q.23 format
623 
624  //! @brief Data storage for 32 bit fixed point integer value in Q.24 format
626 
627  //! @brief Data storage for 32 bit fixed point integer value in Q.25 format
629 
630  //! @brief Data storage for 32 bit fixed point integer value in Q.26 format
632 
633  //! @brief Data storage for 32 bit fixed point integer value in Q.27 format
635 
636  //! @brief Data storage for 32 bit fixed point integer value in Q.28 format
638 
639  //! @brief Data storage for 32 bit fixed point integer value in Q.29 format
641 
642  //! @brief Data storage for 32 bit fixed point integer value in Q.30 format
644 
645  //! @brief Data storage for 32 bit fixed point integer value in Q.31 format
647 
648  //! @brief Data storage for 32 bit fixed point integer value in Q.32 format
650 
651  #endif
652 
653  //! @brief Data storage for 64 bit data and time CDT64 value
655 
656  // Record values
658 
659  //----------------------------------------------------------------------------
660  // Pointers to the data storages
661  //----------------------------------------------------------------------------
662 
663 // ANVILEX KM: Not required ==> To remove
664 // U8 *pu8_Raw_Data[];
665 
666  // Pointer to the boolean value
668 
669  // Pointer to the 8 bit character values
672 
673  // Pointer to the 16 bit integer values
676 
677  // Pointer to the 32 bit integer values
680 
681  // Pointer to the 64 bit integer values
684 
685  // Pointer to the 128 bit integer values
686 
687  // Test for U128 datatype supported
688  #if ( PARAMETER_DATATYPE_U128_SUPPORT == (true) )
689  U128 *pu128_Value;
690  #endif
691 
692  // Test for I128 datatype supported
693  #if ( PARAMETER_DATATYPE_I128_SUPPORT == (true) )
694  I128 *pi128_Value;
695  #endif
696 
697  // Pointer to the 256 bit integer values
698 
699  // Test for U256 datatype supported
700  #if ( PARAMETER_DATATYPE_U256_SUPPORT == (true) )
701  U256 *pu256_Value;
702  #endif
703 
704  // Test for I256 datatype supported
705  #if ( PARAMETER_DATATYPE_I256_SUPPORT == (true) )
706  I256 *pi256_Value;
707  #endif
708 
709  // Pointer to the Floating point values
710 // F16 *pf16_Value;
713 
714  #if ( PARAMETER_DATATYPE_F80_SUPPORT == (true) )
716  #endif
717 
718  // Test for F128 datatype supported
719  #if ( PARAMETER_DATATYPE_F128_SUPPORT == (true) )
720  F128 *pf128_Value;
721  #endif
722 
723  // Test for F256 datatype supported
724  #if ( PARAMETER_DATATYPE_F256_SUPPORT == (true) )
725  F256 *pf256_Value;
726  #endif
727 
728  // Pointer to fixed point values
729 
730  // Test for IQ datatype supported
731  #if ( PARAMETER_DATATYPE_IQ_SUPPORT == (true) )
764  #endif
765 
766  // Pointer to data and time values
768 
769  // Pointer to the array of values
770 // BOOL *abool_Value;
771 
773 
774  //----------------------------------------------------------------------------
775 
776  struct
777  {
778  union
779  {
781 // TConOpSys_Variant_Data *vd_Value;
794  };
796  };
797 
798  //----------------------------------------------------------------------------
799 
800  //! @brief Virtual machine program
802 
803  //! @brief VM command raw
805 
806  struct
807  {
808 
809  //! @brief result data index
811 
812  //! @brief operand 1 data index
814 
815  //! @brief operand 2 data index
817 
818  union
819  {
820 
821  //! @brief Opcode payload
823 
824  struct
825  {
826 
827  //! @brief Operand 1 type
829 
830  //! @brief Operand 2 type
832 
833  //! @brief Result 1 type
835 
836  //! @brief Command opcode
838 
839  } /*TOpcode_Struct*/;
840 
841  };
842 
844 
846 
847 //------------------------------------------------------------------------------
848 
849 //! @brief ConOpSys variant class
851 {
852 
853  //----------------------------------------------------------------------------
854  // Public defines, methods and variables
855  //----------------------------------------------------------------------------
856 
857  public:
858 
859  //!-------------------------------------------------------------------------
860  //! @brief Class constructor method
861  //! @note The method create application object.
862  //! @return None
863  //! \par Override
864  //! Not allowed
865  //! @attention Don't call this method directly.
866  //! \par UML diagram
867  //! @dotfile TConOpSys_Variant__TConOpSys_Variant.dt
868  //--------------------------------------------------------------------------
869 
871 
872  //!-------------------------------------------------------------------------
873  //! @brief Class constructor method
874  //! @note The method create application object.
875  //! @param [in] enum_New_Type - Stored by variant datatype enumerator
876  //! @return None
877  //! \par Override
878  //! Not allowed
879  //! @attention Don't call this method directly.
880  //! \par UML diagram
881  //! @dotfile TConOpSys_Variant__TConOpSys_Variant.dt
882  //--------------------------------------------------------------------------
883 
885 /*
886  //!-------------------------------------------------------------------------
887  //! @brief Class destructor method
888  //! @note None
889  //! @return None
890  //! \par Override
891  //! Not allowed
892  //! @attention Don't call this method directly.
893  //! \par UML diagram
894  //! @dotfile TConOpSys_Variant___TConOpSys_Variant.dt
895  //--------------------------------------------------------------------------
896 
897  ~TConOpSys_Variant(); //!< Class destructor method
898 */
899  BOOL Set_Type( TConOpSys_Variant_Data_Type enum_New_Type, TConOpSys_Variant_Data *struct_Array, U32 u32_Size );
900 
901  // Variant data type management related methods
902  BOOL Set_Type( TConOpSys_Variant_Data_Type enum_New_Type ); //!< Set datatype
903 
904  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
905  BOOL __fastcall Set_Type( UnicodeString ucs_Type_Name ); //!< Set datatype referenced by the datatype name
906  #endif
907 
908  TConOpSys_Variant_Data_Type Get_Type(); //!< Get assigned variant datatype
909 
910  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
911  UnicodeString __fastcall Get_Type_As_UCS();
912  #endif
913 
915 
916  // ANVILEX KM: Depricated ==> To remove after the test
917 // TConOpSys_Datatype Get_ConOpSys_Type(); //!< Get assigned ConOpSys datatype
918 
919  U32 Get_Size(); //!< Get value size in bytes
920 
924 
925  BOOL Set_Random_Value(); //!< Set random value. Used for debug purpoise only
926  BOOL Encode_Momentum_Datatype(); //!< Customer specific data encoding
927  BOOL Decode_Momentum_Datatype(); //!< Customer specific data decoding
928 
929  // Value converstion related methods
930  BOOL Precheck_Value_As_Decimal_String( C8 *s8_Value ); //!< Precheck value from decimal string
931  BOOL Set_Value_As_Decimal_String( C8 *s8_Value ); //!< Set value from decimal string
932  BOOL Set_Value_As_Hex_String( C8 *s8_Value ); //!< Set value from hexal string
933  BOOL Set_Value_As_BOOL( BOOL bool_Value ); //! Set value from BOOL value
934  BOOL Set_Value_As_U8( U8 u8_Value ); //! Set value from U8 value
935  BOOL Set_Value_As_I8( I8 i8_Value ); //! Set value from I8 value
936  BOOL Set_Value_As_U16( U16 u16_Value ); //! Set value from U16 value
937  BOOL Set_Value_As_I16( I16 i16_Value ); //! Set value from I16 value
938  BOOL Set_Value_As_U32( U32 u32_Value ); //! Set value from U32 value
939  BOOL Set_Value_As_I32( I32 i32_Value ); //! Set value from I32 value
940  BOOL Set_Value_As_U64( U64 u64_Value ); //! Set value from U64 value
941  BOOL Set_Value_As_I64( I64 i64_Value ); //! Set value from I64 value
942  BOOL Set_Value_As_F32( F32 f32_Value ); //! Set value from F32 value
943  BOOL Set_Value_As_F64( F64 f64_Value ); //! Set value from F64 value
944  BOOL Set_Value_U64_As_VMP( U64 u64_VMP_Value ); //! Set value from VMP value
945 
946 // BOOL Set_Value_As_Variant( TConOpSys_Variant *object_Variant_Value, U32 u32_Element_Index );
947  BOOL Set_Value_As_Variant( TConOpSys_Variant_Data *object_Variant_Value );
948  BOOL Set_Value_As_Variant( TConOpSys_Variant_Data *object_Variant_Value, U32 u32_Element_Index );
949 
950  VOID Get_Value_As_Decimal_String( C8 *s8_Value, U32 u32_Buffer_Size ); //!< Get value as decimal string
951  VOID Get_Value_As_Hex_String( C8 *s8_Value, U32 u32_Buffer_Size ); //!< Get value as hexal string
952  VOID Get_Value_As_F64( F64 *f64_Value ); //!< Get value as F64
953 
954  BOOL Get_Value_As_Variant( TConOpSys_Variant_Data *object_Variant_Value, U32 u32_Element_Index );
955 
956  VOID Assign( TConOpSys_Variant *object_Value_To_Assign ); //!< Assign variant to variant
957 
958  //!-------------------------------------------------------------------------
959  //! @brief Clear variant data buffer method
960  //! @note Fills variant data buffer with zeros
961  //! @return None
962  //! \par Override
963  //! Not allowed
964  //! @attention None
965  //! \par UML diagram
966  //! @dotfile TConOpSys_Variant__Clear.dt
967  //--------------------------------------------------------------------------
968 
969  VOID Clear();
970 
971  //--------------------------------------------------------------------------
972  // Public operatirs
973  //--------------------------------------------------------------------------
974 
975  //! @brief Assign operator overload
976  //! \par UML diagram
977  //! @dotfile TConOpSys_Variant__operator=.dt
979 
980  //! @brief Assign operator overload
981  //! \par UML diagram
982  //! @dotfile TConOpSys_Variant__operator=.dt
984 
985 // //! @brief Index operator overload
986 // //! \par UML diagram
987 // //! @dotfile TConOpSys_Variant__operator[].dt
988 // TConOpSys_Variant& operator[]( U32 u32_Index );
989 
990  //! @brief Equal operator overload
991  //! \par UML diagram
992  //! @dotfile TConOpSys_Variant__operator==.dt
993  BOOL operator==( TConOpSys_Variant const &rhs );
994 
995  //! @brief Equal operator overload
996  //! \par UML diagram
997  //! @dotfile TConOpSys_Variant__operator==.dt
998  BOOL operator==( TConOpSys_Variant_Data const &rhs );
999 
1000  //! @brief Not equal operator overload
1001  //! \par UML diagram
1002  //! @dotfile TConOpSys_Variant__operator!=.dt
1003  BOOL operator!=( TConOpSys_Variant const &rhs );
1004 
1005  //! @brief Not equal operator overload
1006  //! \par UML diagram
1007  //! @dotfile TConOpSys_Variant__operator!=.dt
1008  BOOL operator!=( TConOpSys_Variant_Data const &rhs );
1009 
1010  //! @brief Less operator overload
1011  //! \par UML diagram
1012  //! @dotfile TConOpSys_Variant__operator<.dt
1013  BOOL operator<( TConOpSys_Variant const &rhs );
1014 
1015  //! @brief Less operator overload
1016  //! \par UML diagram
1017  //! @dotfile TConOpSys_Variant__operator<.dt
1018  BOOL operator<( TConOpSys_Variant_Data const &rhs );
1019 
1020  //! @brief Less or queal operator overload
1021  //! \par UML diagram
1022  //! @dotfile TConOpSys_Variant__operator<=.dt
1023  BOOL operator<=( TConOpSys_Variant const &rhs );
1024 
1025  //! @brief Less or queal operator overload
1026  //! \par UML diagram
1027  //! @dotfile TConOpSys_Variant__operator<=.dt
1028  BOOL operator<=( TConOpSys_Variant_Data const &rhs );
1029 
1030  //! @brief Grater operator overload
1031  //! \par UML diagram
1032  //! @dotfile TConOpSys_Variant__operator>.dt
1033  BOOL operator>( TConOpSys_Variant const &rhs );
1034 
1035  //! @brief Grater operator overload
1036  //! \par UML diagram
1037  //! @dotfile TConOpSys_Variant__operator>.dt
1038  BOOL operator>( TConOpSys_Variant_Data const &rhs );
1039 
1040  //! @brief Grater or queal operator overload
1041  //! \par UML diagram
1042  //! @dotfile TConOpSys_Variant__operator>=.dt
1043  BOOL operator>=( TConOpSys_Variant const &rhs );
1044 
1045  //! @brief Grater or queal operator overload
1046  //! \par UML diagram
1047  //! @dotfile TConOpSys_Variant__operator>=.dt
1048  BOOL operator>=( TConOpSys_Variant_Data const &rhs );
1049 
1050  //--------------------------------------------------------------------------
1051  // Public variables
1052  //--------------------------------------------------------------------------
1053 
1054  //! @brief Variant data storage
1056 
1057  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
1058  //! @brief Variant data storage for strings
1059  UnicodeString ds_Data;
1060  #endif
1061 
1062  //----------------------------------------------------------------------------
1063  // Protected defines, methods and variables
1064  //----------------------------------------------------------------------------
1065 
1066  protected:
1067 
1068  //----------------------------------------------------------------------------
1069  // Private defines, methods and variables
1070  //----------------------------------------------------------------------------
1071 
1072  private:
1073 
1074  //--------------------------------------------------------------------------
1075  // Private variables
1076  //--------------------------------------------------------------------------
1077 
1078  // ANVILEX : To implement storage as private variable
1079 // TConOpSys_Variant_Data struct_Data; //!< Variant data storage
1080 
1081  //! @brief By the variant storage carried data type
1083 
1084 };
1085 
1086 //------------------------------------------------------------------------------
1087 // Datatype names definition
1088 //------------------------------------------------------------------------------
1089 
1090 #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
1091 extern US us_Datatype_Names[ 256 ];
1092 #endif
1093 
1094 //------------------------------------------------------------------------------
1095 // End of file
1096 //------------------------------------------------------------------------------
union TConOpSys_Variant_Data TConOpSys_Variant_Data
ConOpSys variant data storage structure.
US us_Datatype_Names[256]
Definition: ConOpSys_Variant.cpp:72
ConOpSys variant data type class header file.
TConOpSys_Variant_Data_Type
Definition: ConOpSys_Variant_Data_Type.h:57
ConOpSys data type definitions header file.
long int IQ6
32 bit fixed point number datatype definition
Definition: Defines.h:302
long int IQ32
32 bit fixed point number datatype definition
Definition: Defines.h:224
int BOOL
Boolean datatype definition.
Definition: Defines.h:124
long int IQ9
32 bit fixed point number datatype definition
Definition: Defines.h:293
long int IQ23
32 bit fixed point number datatype definition
Definition: Defines.h:251
long int IQ31
32 bit fixed point number datatype definition
Definition: Defines.h:227
long int IQ27
32 bit fixed point number datatype definition
Definition: Defines.h:239
unsigned long long U64
Binary 64-Bit unsigned integer datatype defenition.
Definition: Defines.h:213
long int IQ22
32 bit fixed point number datatype definition
Definition: Defines.h:254
UnicodeString US
Unicode string datatype definition.
Definition: Defines.h:358
long I32
2s Compliment 32-Bit signed integer datatype defenition
Definition: Defines.h:206
long int IQ25
32 bit fixed point number datatype definition
Definition: Defines.h:245
long int IQ13
32 bit fixed point number datatype definition
Definition: Defines.h:281
unsigned char U8
Binary 8-Bit unsigned integer datatype defenition.
Definition: Defines.h:183
long int IQ7
32 bit fixed point number datatype definition
Definition: Defines.h:299
long int IQ28
32 bit fixed point number datatype definition
Definition: Defines.h:236
long int IQ21
32 bit fixed point number datatype definition
Definition: Defines.h:257
long int IQ24
32 bit fixed point number datatype definition
Definition: Defines.h:248
signed char I8
2s Compliment 8-Bit signed integer datatype defenition
Definition: Defines.h:186
long int IQ16
32 bit fixed point number datatype definition
Definition: Defines.h:272
long double F80
IEEE-754 80-Bit extended presession floating point numbers datatype defenition.
Definition: Defines.h:330
unsigned long long CDT64
Data time type.
Definition: Defines.h:340
long int IQ2
32 bit fixed point number datatype definition
Definition: Defines.h:314
long int IQ12
32 bit fixed point number datatype definition
Definition: Defines.h:284
long int IQ10
32 bit fixed point number datatype definition
Definition: Defines.h:290
long int IQ20
32 bit fixed point number datatype definition
Definition: Defines.h:260
long int IQ8
32 bit fixed point number datatype definition
Definition: Defines.h:296
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
long int IQ14
32 bit fixed point number datatype definition
Definition: Defines.h:278
short I16
2s Compliment 16-Bit signed integer datatype defenition
Definition: Defines.h:196
long int IQ1
32 bit fixed point number datatype definition
Definition: Defines.h:317
long long I64
2s Compliment 64-Bit signed integer datatype defenition
Definition: Defines.h:217
long int IQ15
32 bit fixed point number datatype definition
Definition: Defines.h:275
long int IQ29
32 bit fixed point number datatype definition
Definition: Defines.h:233
long int IQ26
32 bit fixed point number datatype definition
Definition: Defines.h:242
long int IQ4
32 bit fixed point number datatype definition
Definition: Defines.h:308
long int IQ3
32 bit fixed point number datatype definition
Definition: Defines.h:311
long int IQ17
32 bit fixed point number datatype definition
Definition: Defines.h:269
unsigned long R32
Record datatype defenition.
Definition: Defines.h:366
long int IQ30
32 bit fixed point number datatype definition
Definition: Defines.h:230
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
long int IQ18
32 bit fixed point number datatype definition
Definition: Defines.h:266
char C8
ASCII 8-Bit char datatype defenition.
Definition: Defines.h:156
long int IQ19
32 bit fixed point number datatype definition
Definition: Defines.h:263
long int IQ11
32 bit fixed point number datatype definition
Definition: Defines.h:287
long int IQ5
32 bit fixed point number datatype definition
Definition: Defines.h:305
ConOpSys variant class.
Definition: ConOpSys_Variant.h:851
BOOL Get_Value_As_Variant(TConOpSys_Variant_Data *object_Variant_Value, U32 u32_Element_Index)
Definition: ConOpSys_Variant.cpp:24501
BOOL Set_Value_As_I8(I8 i8_Value)
Set value from U8 value.
Definition: ConOpSys_Variant.cpp:6416
VOID Get_Value_As_Decimal_String(C8 *s8_Value, U32 u32_Buffer_Size)
Get value as decimal string.
Definition: ConOpSys_Variant.cpp:22524
BOOL operator>=(TConOpSys_Variant const &rhs)
Grater or queal operator overload.
Definition: ConOpSys_Variant.cpp:20411
BOOL Set_Value_As_F32(F32 f32_Value)
Set value from I64 value.
Definition: ConOpSys_Variant.cpp:6710
BOOL Set_Value_As_Variant(TConOpSys_Variant_Data *object_Variant_Value)
Set value from VMP value.
Definition: ConOpSys_Variant.cpp:6836
TConOpSys_Variant_Data_Type Get_Storage_Type()
Definition: ConOpSys_Variant.cpp:3248
VOID Clear()
Clear variant data buffer method.
Definition: ConOpSys_Variant.cpp:25048
BOOL operator<=(TConOpSys_Variant const &rhs)
Less or queal operator overload.
Definition: ConOpSys_Variant.cpp:17277
VOID Get_Value_As_F64(F64 *f64_Value)
Get value as F64.
Definition: ConOpSys_Variant.cpp:23513
BOOL operator!=(TConOpSys_Variant const &rhs)
Not equal operator overload.
Definition: ConOpSys_Variant.cpp:14130
BOOL Set_Value_As_I32(I32 i32_Value)
Set value from U32 value.
Definition: ConOpSys_Variant.cpp:6584
BOOL Decode_Momentum_Datatype()
Customer specific data decoding.
Definition: ConOpSys_Variant.cpp:7966
TConOpSys_Variant_Data_Type enum_Type
By the variant storage carried data type.
Definition: ConOpSys_Variant.h:1082
BOOL operator>(TConOpSys_Variant const &rhs)
Grater operator overload.
Definition: ConOpSys_Variant.cpp:18853
TConOpSys_Variant_Data struct_Data
Variant data storage.
Definition: ConOpSys_Variant.h:1055
BOOL Set_Random_Value()
Set random value. Used for debug purpoise only.
Definition: ConOpSys_Variant.cpp:7640
TConOpSys_Variant()
Class constructor method.
Definition: ConOpSys_Variant.cpp:416
BOOL Set_Value_As_I16(I16 i16_Value)
Set value from U16 value.
Definition: ConOpSys_Variant.cpp:6500
UnicodeString __fastcall Get_Type_As_UCS()
Definition: ConOpSys_Variant.cpp:2417
VOID Assign(TConOpSys_Variant *object_Value_To_Assign)
Assign variant to variant.
Definition: ConOpSys_Variant.cpp:8031
BOOL Is_Pointer_Type()
Definition: ConOpSys_Variant.cpp:4265
BOOL Is_Assignable_From(TConOpSys_Variant_Data_Type enum_Type)
Definition: ConOpSys_Variant.cpp:4087
BOOL operator<(TConOpSys_Variant const &rhs)
Less operator overload.
Definition: ConOpSys_Variant.cpp:15704
BOOL Precheck_Value_As_Decimal_String(C8 *s8_Value)
Precheck value from decimal string.
Definition: ConOpSys_Variant.cpp:4424
BOOL Set_Value_As_Hex_String(C8 *s8_Value)
Set value from hexal string.
Definition: ConOpSys_Variant.cpp:5795
BOOL Set_Value_As_U16(U16 u16_Value)
Set value from I8 value.
Definition: ConOpSys_Variant.cpp:6458
TConOpSys_Variant_Data_Type Get_Type()
Get assigned variant datatype.
Definition: ConOpSys_Variant.cpp:2402
VOID Get_Value_As_Hex_String(C8 *s8_Value, U32 u32_Buffer_Size)
Get value as hexal string.
Definition: ConOpSys_Variant.cpp:21969
BOOL Set_Value_As_BOOL(BOOL bool_Value)
Definition: ConOpSys_Variant.cpp:6332
BOOL Encode_Momentum_Datatype()
Customer specific data encoding.
Definition: ConOpSys_Variant.cpp:7905
BOOL Set_Value_As_U64(U64 u64_Value)
Set value from I32 value.
Definition: ConOpSys_Variant.cpp:6626
BOOL Set_Value_As_I64(I64 i64_Value)
Set value from U64 value.
Definition: ConOpSys_Variant.cpp:6668
BOOL Set_Type(TConOpSys_Variant_Data_Type enum_New_Type, TConOpSys_Variant_Data *struct_Array, U32 u32_Size)
Definition: ConOpSys_Variant.cpp:455
BOOL Is_Storage_Type()
Definition: ConOpSys_Variant.cpp:4279
BOOL Set_Value_As_F64(F64 f64_Value)
Set value from F32 value.
Definition: ConOpSys_Variant.cpp:6752
U32 Get_Size()
Get value size in bytes.
Definition: ConOpSys_Variant.cpp:3678
UnicodeString ds_Data
Variant data storage for strings.
Definition: ConOpSys_Variant.h:1059
BOOL operator==(TConOpSys_Variant const &rhs)
Equal operator overload.
Definition: ConOpSys_Variant.cpp:12560
BOOL Set_Value_As_U32(U32 u32_Value)
Set value from I16 value.
Definition: ConOpSys_Variant.cpp:6542
TConOpSys_Variant & operator=(TConOpSys_Variant const &rhs)
Assign operator overload.
Definition: ConOpSys_Variant.cpp:9763
BOOL Set_Value_As_U8(U8 u8_Value)
Set value from BOOL value.
Definition: ConOpSys_Variant.cpp:6374
BOOL Set_Value_As_Decimal_String(C8 *s8_Value)
Set value from decimal string.
Definition: ConOpSys_Variant.cpp:5132
BOOL Set_Value_U64_As_VMP(U64 u64_VMP_Value)
Set value from F64 value.
Definition: ConOpSys_Variant.cpp:6794
ConOpSys variant data storage structure.
Definition: ConOpSys_Variant.h:403
U8 u8_Low
Low nibble.
Definition: ConOpSys_Variant.h:414
I64 * ai64_Value
Definition: ConOpSys_Variant.h:789
IQ15 iq15_Value
Data storage for 32 bit fixed point integer value in Q.15 format.
Definition: ConOpSys_Variant.h:598
IQ9 iq9_Value
Data storage for 32 bit fixed point integer value in Q.9 format.
Definition: ConOpSys_Variant.h:580
BOOL * abool_Value
Definition: ConOpSys_Variant.h:782
IQ18 iq18_Value
Data storage for 32 bit fixed point integer value in Q.18 format.
Definition: ConOpSys_Variant.h:607
IQ9 * piq9_Value
Definition: ConOpSys_Variant.h:740
IQ14 iq14_Value
Data storage for 32 bit fixed point integer value in Q.14 format.
Definition: ConOpSys_Variant.h:595
IQ4 * piq4_Value
Definition: ConOpSys_Variant.h:735
IQ6 * piq6_Value
Definition: ConOpSys_Variant.h:737
IQ5 iq5_Value
Data storage for 32 bit fixed point integer value in Q.5 format.
Definition: ConOpSys_Variant.h:568
U64 vmp_Value
Virtual machine program.
Definition: ConOpSys_Variant.h:801
U16 bit2_Result_Type
Result 1 type.
Definition: ConOpSys_Variant.h:834
IQ1 * piq1_Value
Definition: ConOpSys_Variant.h:732
struct TConOpSys_Variant_Data::@40::@45 struct_Nibble
Nibble parsing struct.
IQ26 iq26_Value
Data storage for 32 bit fixed point integer value in Q.26 format.
Definition: ConOpSys_Variant.h:631
struct TConOpSys_Variant_Data::@44 struct_VM_Command
BOOL bool_Value
Data storage for boolean value.
Definition: ConOpSys_Variant.h:481
U16 b1_Bit_12
Data storage U16, bit 12.
Definition: ConOpSys_Variant.h:467
I32 * pi32_Value
Definition: ConOpSys_Variant.h:679
IQ31 iq31_Value
Data storage for 32 bit fixed point integer value in Q.31 format.
Definition: ConOpSys_Variant.h:646
U16 b1_Bit_13
Data storage U16, bit 13.
Definition: ConOpSys_Variant.h:470
U16 b1_Bit_10
Data storage U16, bit 10.
Definition: ConOpSys_Variant.h:461
IQ22 iq22_Value
Data storage for 32 bit fixed point integer value in Q.22 format.
Definition: ConOpSys_Variant.h:619
IQ3 * piq3_Value
Definition: ConOpSys_Variant.h:734
IQ23 * piq23_Value
Definition: ConOpSys_Variant.h:754
U16 b1_Bit_1
Data storage U16, bit 1.
Definition: ConOpSys_Variant.h:434
I8 * ai8_Value
Definition: ConOpSys_Variant.h:783
F64 * af64_Value
Definition: ConOpSys_Variant.h:792
F256 f256_Value
Data storage for 256 bit floating point number value.
Definition: ConOpSys_Variant.h:548
IQ13 iq13_Value
Data storage for 32 bit fixed point integer value in Q.13 format.
Definition: ConOpSys_Variant.h:592
U8 * au8_Value
Definition: ConOpSys_Variant.h:784
F32 f32_Value
Data storage for 32 bit floating point number value.
Definition: ConOpSys_Variant.h:523
U16 b1_Bit_15
Data storage U16, bit 15.
Definition: ConOpSys_Variant.h:476
IQ11 * piq11_Value
Definition: ConOpSys_Variant.h:742
I32 * ai32_Value
Definition: ConOpSys_Variant.h:787
IQ28 * piq28_Value
Definition: ConOpSys_Variant.h:759
U256 * pu256_Value
Definition: ConOpSys_Variant.h:701
IQ30 * piq30_Value
Definition: ConOpSys_Variant.h:761
U16 bit2_Operand_2_Type
Operand 2 type.
Definition: ConOpSys_Variant.h:831
IQ25 * piq25_Value
Definition: ConOpSys_Variant.h:756
U16 * au16_Value
Definition: ConOpSys_Variant.h:786
IQ27 iq27_Value
Data storage for 32 bit fixed point integer value in Q.27 format.
Definition: ConOpSys_Variant.h:634
U16 b1_Bit_14
Data storage U16, bit 14.
Definition: ConOpSys_Variant.h:473
union TConOpSys_Variant_Data::@40 u8_Buffer[CONOPSYS_VARIANT_DATA_SIZE]
Generic data buffer.
BOOL * pbool_Value
Definition: ConOpSys_Variant.h:667
F80 * pf80_Value
Definition: ConOpSys_Variant.h:715
I16 * pi16_Value
Definition: ConOpSys_Variant.h:675
F128 * pf128_Value
Definition: ConOpSys_Variant.h:720
U16 b1_Bit_6
Data storage U16, bit 6.
Definition: ConOpSys_Variant.h:449
IQ31 * piq31_Value
Definition: ConOpSys_Variant.h:762
U8 u8_Byte
Data storage.
Definition: ConOpSys_Variant.h:422
U16 u16_Opcode
Opcode payload.
Definition: ConOpSys_Variant.h:822
IQ21 * piq21_Value
Definition: ConOpSys_Variant.h:752
IQ1 iq1_Value
Data storage for 32 bit fixed point integer value in Q.1 format.
Definition: ConOpSys_Variant.h:556
IQ25 iq25_Value
Data storage for 32 bit fixed point integer value in Q.25 format.
Definition: ConOpSys_Variant.h:628
IQ6 iq6_Value
Data storage for 32 bit fixed point integer value in Q.6 format.
Definition: ConOpSys_Variant.h:571
IQ32 iq32_Value
Data storage for 32 bit fixed point integer value in Q.32 format.
Definition: ConOpSys_Variant.h:649
R32 r32_Value
Definition: ConOpSys_Variant.h:657
U16 bit10_Command
Command opcode.
Definition: ConOpSys_Variant.h:837
IQ24 * piq24_Value
Definition: ConOpSys_Variant.h:755
IQ27 * piq27_Value
Definition: ConOpSys_Variant.h:758
U32 u32_Value
Data storage for 32 bit unsigned integer value.
Definition: ConOpSys_Variant.h:496
U16 b1_Bit_9
Data storage U16, bit 9.
Definition: ConOpSys_Variant.h:458
IQ8 * piq8_Value
Definition: ConOpSys_Variant.h:739
IQ29 iq29_Value
Data storage for 32 bit fixed point integer value in Q.29 format.
Definition: ConOpSys_Variant.h:640
F64 f64_Value
Data storage for 64 bit floating point number value.
Definition: ConOpSys_Variant.h:526
I8 * pi8_Value
Definition: ConOpSys_Variant.h:671
IQ18 * piq18_Value
Definition: ConOpSys_Variant.h:749
F64 * pf64_Value
Definition: ConOpSys_Variant.h:712
IQ12 * piq12_Value
Definition: ConOpSys_Variant.h:743
U16 b1_Bit_2
Data storage U16, bit 2.
Definition: ConOpSys_Variant.h:437
U64 * pu64_Value
Definition: ConOpSys_Variant.h:682
IQ21 iq21_Value
Data storage for 32 bit fixed point integer value in Q.21 format.
Definition: ConOpSys_Variant.h:616
F128 f128_Value
Data storage for 128 bit floating point number value.
Definition: ConOpSys_Variant.h:540
U64 u64_Value
Data storage for 64 bit unsigned integer value.
Definition: ConOpSys_Variant.h:502
U64 * avmp_Value
Definition: ConOpSys_Variant.h:793
IQ20 iq20_Value
Data storage for 32 bit fixed point integer value in Q.20 format.
Definition: ConOpSys_Variant.h:613
U16 b1_Bit_11
Data storage U16, bit 11.
Definition: ConOpSys_Variant.h:464
IQ11 iq11_Value
Data storage for 32 bit fixed point integer value in Q.11 format.
Definition: ConOpSys_Variant.h:586
IQ2 * piq2_Value
Definition: ConOpSys_Variant.h:733
F80 f80_Value
Data storage for 80 bit floating point number value.
Definition: ConOpSys_Variant.h:532
U16 bit2_Operand_1_Type
Operand 1 type.
Definition: ConOpSys_Variant.h:828
F256 * pf256_Value
Definition: ConOpSys_Variant.h:725
I32 i32_Value
Data storage for 32 bit signed integer value.
Definition: ConOpSys_Variant.h:499
F32 * pf32_Value
Definition: ConOpSys_Variant.h:711
U8 u8_High
High nibble.
Definition: ConOpSys_Variant.h:417
CDT64 * pcdt64_Value
Definition: ConOpSys_Variant.h:767
IQ28 iq28_Value
Data storage for 32 bit fixed point integer value in Q.28 format.
Definition: ConOpSys_Variant.h:637
IQ10 iq10_Value
Data storage for 32 bit fixed point integer value in Q.10 format.
Definition: ConOpSys_Variant.h:583
IQ15 * piq15_Value
Definition: ConOpSys_Variant.h:746
I64 * pi64_Value
Definition: ConOpSys_Variant.h:683
VOID * pvoid_Value
Definition: ConOpSys_Variant.h:772
IQ16 * piq16_Value
Definition: ConOpSys_Variant.h:747
IQ7 * piq7_Value
Definition: ConOpSys_Variant.h:738
U32 u32_Size
Definition: ConOpSys_Variant.h:795
IQ23 iq23_Value
Data storage for 32 bit fixed point integer value in Q.23 format.
Definition: ConOpSys_Variant.h:622
U64 u64_VM_Command
VM command raw.
Definition: ConOpSys_Variant.h:804
U16 * pu16_Value
Definition: ConOpSys_Variant.h:674
I64 i64_Value
Data storage for 64 bit signed integer value.
Definition: ConOpSys_Variant.h:505
F32 * af32_Value
Definition: ConOpSys_Variant.h:791
IQ17 iq17_Value
Data storage for 32 bit fixed point integer value in Q.17 format.
Definition: ConOpSys_Variant.h:604
IQ12 iq12_Value
Data storage for 32 bit fixed point integer value in Q.12 format.
Definition: ConOpSys_Variant.h:589
IQ5 * piq5_Value
Definition: ConOpSys_Variant.h:736
IQ13 * piq13_Value
Definition: ConOpSys_Variant.h:744
I128 * pi128_Value
Definition: ConOpSys_Variant.h:694
U16 b1_Bit_8
Data storage U16, bit 8.
Definition: ConOpSys_Variant.h:455
IQ19 * piq19_Value
Definition: ConOpSys_Variant.h:750
IQ26 * piq26_Value
Definition: ConOpSys_Variant.h:757
IQ14 * piq14_Value
Definition: ConOpSys_Variant.h:745
CDT64 cdt64_Value
Data storage for 64 bit data and time CDT64 value.
Definition: ConOpSys_Variant.h:654
U16 u16_Result_Index
result data index
Definition: ConOpSys_Variant.h:810
U32 * au32_Value
Definition: ConOpSys_Variant.h:788
IQ29 * piq29_Value
Definition: ConOpSys_Variant.h:760
IQ7 iq7_Value
Data storage for 32 bit fixed point integer value in Q.7 format.
Definition: ConOpSys_Variant.h:574
I16 i16_Value
Data storage for 16 bit signed integer value.
Definition: ConOpSys_Variant.h:493
U32 * pu32_Value
Definition: ConOpSys_Variant.h:678
U16 b1_Bit_4
Data storage U16, bit 4.
Definition: ConOpSys_Variant.h:443
IQ16 iq16_Value
Data storage for 32 bit fixed point integer value in Q.16 format.
Definition: ConOpSys_Variant.h:601
U16 b1_Bit_3
Data storage U16, bit 3.
Definition: ConOpSys_Variant.h:440
IQ32 * piq32_Value
Definition: ConOpSys_Variant.h:763
IQ8 iq8_Value
Data storage for 32 bit fixed point integer value in Q.8 format.
Definition: ConOpSys_Variant.h:577
IQ2 iq2_Value
Data storage for 32 bit fixed point integer value in Q.2 format.
Definition: ConOpSys_Variant.h:559
I256 * pi256_Value
Definition: ConOpSys_Variant.h:706
U16 b1_Bit_7
Data storage U16, bit 7.
Definition: ConOpSys_Variant.h:452
U128 * pu128_Value
Definition: ConOpSys_Variant.h:689
IQ3 iq3_Value
Data storage for 32 bit fixed point integer value in Q.3 format.
Definition: ConOpSys_Variant.h:562
IQ17 * piq17_Value
Definition: ConOpSys_Variant.h:748
IQ19 iq19_Value
Data storage for 32 bit fixed point integer value in Q.19 format.
Definition: ConOpSys_Variant.h:610
U8 * pu8_Value
Definition: ConOpSys_Variant.h:670
U16 b1_Bit_5
Data storage U16, bit 5.
Definition: ConOpSys_Variant.h:446
U16 b1_Bit_0
Data storage U16, bit 0.
Definition: ConOpSys_Variant.h:431
IQ4 iq4_Value
Data storage for 32 bit fixed point integer value in Q.4 format.
Definition: ConOpSys_Variant.h:565
IQ20 * piq20_Value
Definition: ConOpSys_Variant.h:751
U8 u8_Value
Data storage for 8 bit unsigned integer value.
Definition: ConOpSys_Variant.h:484
I16 * ai16_Value
Definition: ConOpSys_Variant.h:785
IQ30 iq30_Value
Data storage for 32 bit fixed point integer value in Q.30 format.
Definition: ConOpSys_Variant.h:643
IQ10 * piq10_Value
Definition: ConOpSys_Variant.h:741
U16 u16_Operand_2_Index
operand 2 data index
Definition: ConOpSys_Variant.h:816
U16 u16_Operand_1_Index
operand 1 data index
Definition: ConOpSys_Variant.h:813
U16 u16_Value
Data storage for 16 bit unsigned integer value.
Definition: ConOpSys_Variant.h:490
I8 i8_Value
Data storage for 8 bit signed integer value.
Definition: ConOpSys_Variant.h:487
IQ24 iq24_Value
Data storage for 32 bit fixed point integer value in Q.24 format.
Definition: ConOpSys_Variant.h:625
U64 * au64_Value
Definition: ConOpSys_Variant.h:790
TConOpSys_Variant_Data * vd_Value
Definition: ConOpSys_Variant.h:780
IQ22 * piq22_Value
Definition: ConOpSys_Variant.h:753
struct TConOpSys_Variant_Data::@41 u16_Bits
U16 data buffer as bits.