ConOpSys V2970  P004.07
ANVILEX control operating system
P017_21_KG3_DIO.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file P017_21_KG3_DIO.h
3 //! @brief KG3 digital I/O board P017.21 hardware driver 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/Hardware/P017_21_KG3_DIO/P017_21_KG3_DIO.h $
7 //! $Revision: 2496 $
8 //! $Date: 2021-03-17 14:57:57 +0500 (Mi, 17 Mrz 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 // TP017_21_KG3_DIO_T0
41 // Emulation of the DIO board.
42 //
43 // TP017_21_KG3_DIO_T1
44 //
45 //------------------------------------------------------------------------------
46 
47 //------------------------------------------------------------------------------
48 // Protecting header files from mutual, recursive inclusion.
49 //------------------------------------------------------------------------------
50 
51 #pragma once
52 
53 //------------------------------------------------------------------------------
54 // Include standard libraries header files
55 //------------------------------------------------------------------------------
56 
57 //------------------------------------------------------------------------------
58 // Include thrid party header files
59 //------------------------------------------------------------------------------
60 
61 //------------------------------------------------------------------------------
62 // Include ConOpSys header files
63 //------------------------------------------------------------------------------
64 
65 #include "Function_Block_Base.h"
66 
67 //------------------------------------------------------------------------------
68 // Include ConOpSys application header files
69 //------------------------------------------------------------------------------
70 
71 //------------------------------------------------------------------------------
72 // Macros
73 //------------------------------------------------------------------------------
74 
75 //! @brief KG3 digital I/O board (P017.21 / KG3 DIO T1) type 0 class
77 {
78 
79  //----------------------------------------------------------------------------
80  // Public defines, methods and variables
81  //----------------------------------------------------------------------------
82 
83  public:
84 
85  //!-------------------------------------------------------------------------
86  //! @brief Function block class constructor method.
87  //! @note None
88  //! \par Override
89  //! Not allowed
90  //! @attention Don't call this method directly.
91  //--------------------------------------------------------------------------
92 
94 
95  //!-------------------------------------------------------------------------
96  //! @brief Function block class destructor method.
97  //! @note None
98  //! \par Override
99  //! Not allowed
100  //! @attention Don't call this method directly.
101  //--------------------------------------------------------------------------
102 
103  virtual ~TP017_21_KG3_DIO_T0();
104 
105  //!-------------------------------------------------------------------------
106  //! @brief Hardware mapping method.
107  //! @note None
108  //! @param [in] *struct_Registers_Base_Address - Base adress to register structure mapping
109  //! \par Override
110  //! Not allowed
111  //! @attention None
112  //--------------------------------------------------------------------------
113 
114 // VOID Map( TP017_21_KG3_DIO_Registers *struct_Registers_Base_Address ); //!< Map method
115 
116  //!-------------------------------------------------------------------------
117  //! @brief Function block initialisation method.
118  //! @note None
119  //! \par Override
120  //! Not allowed
121  //! @attention None
122  //--------------------------------------------------------------------------
123 
124  virtual VOID Init();
125 
126  //!-------------------------------------------------------------------------
127  //! @brief Function block execution method.
128  //! @note None
129  //! \par Override
130  //! Not allowed
131  //! @attention None
132  //--------------------------------------------------------------------------
133 
134  virtual VOID Execute();
135 
136  //--------------------------------------------------------------------------
137  // Deprecated
138  //--------------------------------------------------------------------------
139 
141 
142  //--------------------------------------------------------------------------
143  // Deprecated
144  //--------------------------------------------------------------------------
145 
147 
148  //--------------------------------------------------------------------------
149  // Input signal connectors
150  //--------------------------------------------------------------------------
151 
152  //! @brief Digital output 1 connector
154 
155  //! @brief Digital output 2 connector
157 
158  //! @brief Digital output 3 connector
160 
161  //! @brief Digital output 4 connector
163 
164  //! @brief Digital output 5 connector
166 
167  //! @brief Digital output 6 connector
169 
170  //! @brief Digital output 7 connector
172 
173  //! @brief Digital output 8 connector
175 
176  //! @brief Digital output test enable connector
178 
179  //! @brief Digital output test data connector
181 
182  //! @brief Digital intput 1 data emulation connector
184 
185  //! @brief Digital intput 2 data emulation connector
187 
188  //! @brief Digital intput 3 data emulation connector
190 
191  //! @brief Digital intput 4 data emulation connector
193 
194  //! @brief Digital intput 5 data emulation connector
196 
197  //! @brief Digital intput 6 data emulation connector
199 
200  //! @brief Digital intput 7 data emulation connector
202 
203  //! @brief Digital intput 8 data emulation connector
205 
206  //--------------------------------------------------------------------------
207  // Output signal connectors
208  //--------------------------------------------------------------------------
209 
210  //! @brief Digital input 1 connector
212 
213  //! @brief Digital input 2 connector
215 
216  //! @brief Digital input 3 connector
218 
219  //! @brief Digital input 4 connector
221 
222  //! @brief Digital input 5 connector
224 
225  //! @brief Digital input 6 connector
227 
228  //! @brief Digital input 7 connector
230 
231  //! @brief Digital input 8 connector
233 
234  //! @brief Digital inputs status connector
236 
237  //! @brief Digital outputs status connector
239 
240  //--------------------------------------------------------------------------
241  // Protected defines, mathods and variables
242  //--------------------------------------------------------------------------
243 
244  protected:
245 
246  //----------------------------------------------------------------------------
247  // Private defines, mathods and variables
248  //----------------------------------------------------------------------------
249 
250  private:
251 
252  //--------------------------------------------------------------------------
253  // Private defines
254  //--------------------------------------------------------------------------
255 
256  //! @brief Structure for bit parsing
257  typedef union
258  {
259 
260  //! @brief Raw data
262 
263  //! @brief Structure of the bits
264  struct
265  {
266 
267  //! @brief Bit 0, Channel 1
269 
270  //! @brief Bit 1, Channel 2
272 
273  //! @brief Bit 2, Channel 3
275 
276  //! @brief Bit 3, Channel 4
278 
279  //! @brief Bit 4, Channel 5
281 
282  //! @brief Bit 5, Channel 6
284 
285  //! @brief Bit 6, Channel 7
287 
288  //! @brief Bit 7, Channel 8
290 
291  //! @brief Bits 8..15, unused bits
292  U16 :8;
293 
294  };
295 
296  } TChannels;
297 
298 };
299 
300 //------------------------------------------------------------------------------
301 
302 //! @brief KG3 digital I/O board (P017.21 / KG3 DIO T1) type 1 class
304 {
305 
306  //--------------------------------------------------------------------------
307  // Public defines, methods and variables
308  //--------------------------------------------------------------------------
309 
310  public:
311 
312  //------------------------------------------------------------------------
313  // Public defines
314  //------------------------------------------------------------------------
315 
316  //! @brief Register structure for digital I/O access
317  typedef struct
318  {
319 
320  //! @brief 0x00 : Module identification low register
322 
323  //! @brief 0x01 : Module identification high register
325 
326  //! @brief 0x02 : Digital input data
327  // Bit 0 : Digital input data of channel 1
328  // Bit 1 : Digital input data of channel 2
329  // Bit 2 : Digital input data of channel 3
330  // Bit 3 : Digital input data of channel 4
331  // Bit 4 : Digital input data of channel 5
332  // Bit 5 : Digital input data of channel 6
333  // Bit 6 : Digital input data of channel 7
334  // Bit 7 : Digital input data of channel 8
335  // Bit 8-15 : Reserved
337 
338  //! @brief 0x03 : Reserved
340 
341  //! @brief 0x04 : Reserved
343 
344  //! @brief 0x05 : Reserved
346 
347  //! @brief 0x06 : Digital output data write
348  // Bit 0 : Digital output data of channel 1
349  // Bit 1 : Digital output data of channel 2
350  // Bit 2 : Digital output data of channel 3
351  // Bit 3 : Digital output data of channel 4
352  // Bit 4 : Digital output data of channel 5
353  // Bit 5 : Digital output data of channel 6
354  // Bit 6 : Digital output data of channel 7
355  // Bit 7 : Digital output data of channel 8
356  // Bit 8-15 : Reserved
358 
359  //! @brief 0x07 : Digital output data set
361 
362  //! @brief 0x08 : Digital output data reset
364 
365  //! @brief 0x09 : Digital output data toggle
367 
368  //! @brief 0x0A : Reserved
370 
371  //! @brief 0x0B : Reserved
373 
374  //! @brief 0x0C : Reserved
376 
377  //! @brief 0x0D : Reserved
379 
380  //! @brief 0x0E : Reserved
382 
383  //! @brief 0x0F : Reserved
385 
387 
388  //--------------------------------------------------------------------------
389  // Public methods
390  //--------------------------------------------------------------------------
391 
392  //!-------------------------------------------------------------------------
393  //! @brief Function block class constructor method.
394  //! @note None
395  //! \par Override
396  //! Not allowed
397  //! @attention Don't call this method directly.
398  //--------------------------------------------------------------------------
399 
401 
402  //!-------------------------------------------------------------------------
403  //! @brief Function block class destructor method.
404  //! @note None
405  //! \par Override
406  //! Not allowed
407  //! @attention Don't call this method directly.
408  //--------------------------------------------------------------------------
409 
410  virtual ~TP017_21_KG3_DIO_T1();
411 
412  //!-------------------------------------------------------------------------
413  //! @brief Hardware mapping method.
414  //! @note None
415  //! @param [in] *struct_Registers_Base_Address - Base adress to register structure mapping
416  //! \par Override
417  //! Not allowed
418  //! @attention None
419  //--------------------------------------------------------------------------
420 
421  VOID Map( TP017_21_KG3_DIO_Registers *struct_Registers_Base_Address );
422 
423  //!-------------------------------------------------------------------------
424  //! @brief Function block initialisation method.
425  //! @note None
426  //! \par Override
427  //! Not allowed
428  //! @attention None
429  //--------------------------------------------------------------------------
430 
431  virtual VOID Init();
432 
433  //!-------------------------------------------------------------------------
434  //! @brief Function block execution method.
435  //! @note None
436  //! \par Override
437  //! Not allowed
438  //! @attention None
439  //--------------------------------------------------------------------------
440 
441  virtual VOID Execute();
442 
443  //--------------------------------------------------------------------------
444  // Deprecated
445  //--------------------------------------------------------------------------
446 
448 
449  //--------------------------------------------------------------------------
450  // Deprecated
451  //--------------------------------------------------------------------------
452 
454 
455  //--------------------------------------------------------------------------
456  // ??? ==> ANVILEX KM: Move to the hardware class
457  //--------------------------------------------------------------------------
458 
459  U32 Get_Module_ID();
460 
461  //!-------------------------------------------------------------------------
462  //! @brief Send information about digital I/O baortd driver over communication link protocol
463  //! @note This method sends information about digital I/O driver over specified communication link protocol.
464  //! @param [in] *object_Protocol - Pointer to the communication link protocol
465  //! @return None
466  //! \par Override
467  //! Not allowed
468  //! @attention None
469  //--------------------------------------------------------------------------
470 
471  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
472 
473  //--------------------------------------------------------------------------
474  // Public variables
475  //--------------------------------------------------------------------------
476 
477  //--------------------------------------------------------------------------
478  // Parameters
479  //--------------------------------------------------------------------------
480 
481  //--------------------------------------------------------------------------
482  // Input signal connectors
483  //--------------------------------------------------------------------------
484 
485  //! @brief Digital output 1 connector
487 
488  //! @brief Digital output 2 connector
490 
491  //! @brief Digital output 3 connector
493 
494  //! @brief Digital output 4 connector
496 
497  //! @brief Digital output 5 connector
499 
500  //! @brief Digital output 6 connector
502 
503  //! @brief Digital output 7 connector
505 
506  //! @brief Digital output 8 connector
508 
509  //! @brief Digital output test enable connector
511 
512  //! @brief Digital output test data connector
514 
515  //--------------------------------------------------------------------------
516  // Output signal connectorss
517  //--------------------------------------------------------------------------
518 
519  //! @brief Digital input 1 connector
521 
522  //! @brief Digital input 2 connector
524 
525  //! @brief Digital input 3 connector
527 
528  //! @brief Digital input 4 connector
530 
531  //! @brief Digital input 5 connector
533 
534  //! @brief Digital input 6 connector
536 
537  //! @brief Digital input 7 connector
539 
540  //! @brief Digital input 8 connector
542 
543  //! @brief Digital inputs status connector
545 
546  //! @brief Digital outputs status connector
548 
549  //----------------------------------------------------------------------------
550  // Protected defines, mathods and variables
551  //----------------------------------------------------------------------------
552 
553  protected:
554 
555  //----------------------------------------------------------------------------
556  // Private defines, mathods and variables
557  //----------------------------------------------------------------------------
558 
559  private:
560 
561  //--------------------------------------------------------------------------
562  // Private defines
563  //--------------------------------------------------------------------------
564 
565  //! @brief Structure for bit parsing
566  typedef union
567  {
568 
569  //! @brief Raw data
571 
572  //! @brief Structure of the bits
573  struct
574  {
575 
576  //! @brief Bit 0, Channel 1
578 
579  //! @brief Bit 1, Channel 2
581 
582  //! @brief Bit 2, Channel 3
584 
585  //! @brief Bit 3, Channel 4
587 
588  //! @brief Bit 4, Channel 5
590 
591  //! @brief Bit 5, Channel 6
593 
594  //! @brief Bit 6, Channel 7
596 
597  //! @brief Bit 7, Channel 8
599 
600  //! @brief Bits 8..15, unused bits
601  U16 :8;
602 
603  };
604 
605  } TChannels;
606 
607  //--------------------------------------------------------------------------
608  // Private variables
609  //--------------------------------------------------------------------------
610 
611  //! @brief Pointer to the memory area in FPGA address space
613 
614 };
615 
616 //------------------------------------------------------------------------------
617 
618 //! @brief KG3 digital I/O board (P017.21 / KG3 DIO T2) type 2 class
620 {
621 
622  //--------------------------------------------------------------------------
623  // Public defines, methods and variables
624  //--------------------------------------------------------------------------
625 
626  public:
627 
628  //------------------------------------------------------------------------
629  // Public defines
630  //------------------------------------------------------------------------
631 
632  //! @brief Register structure for digital I/O access
633  typedef struct
634  {
635 
636  //! @brief 0x00 : Module identification low register
638 
639  //! @brief 0x01 : Module identification high register
641 
642  //! @brief 0x02 : Digital input data
643  // Bit 0 : Digital input data of channel 1
644  // Bit 1 : Digital input data of channel 2
645  // Bit 2 : Digital input data of channel 3
646  // Bit 3 : Digital input data of channel 4
647  // Bit 4 : Digital input data of channel 5
648  // Bit 5 : Digital input data of channel 6
649  // Bit 6 : Digital input data of channel 7
650  // Bit 7 : Digital input data of channel 8
651  // Bit 8-15 : Reserved
653 
654  //! @brief 0x03 : Reserved
656 
657  //! @brief 0x04 : Reserved
659 
660  //! @brief 0x05 : Reserved
662 
663  //! @brief 0x06 : Digital output data write
664  // Bit 0 : Digital output data of channel 1
665  // Bit 1 : Digital output data of channel 2
666  // Bit 2 : Digital output data of channel 3
667  // Bit 3 : Digital output data of channel 4
668  // Bit 4 : Digital output data of channel 5
669  // Bit 5 : Digital output data of channel 6
670  // Bit 6 : Digital output data of channel 7
671  // Bit 7 : Digital output data of channel 8
672  // Bit 8-15 : Reserved
674 
675  //! @brief 0x07 : Digital output data set
677 
678  //! @brief 0x08 : Digital output data reset
680 
681  //! @brief 0x09 : Digital output data toggle
683 
684  //! @brief 0x0A : Reserved
686 
687  //! @brief 0x0B : Reserved
689 
690  //! @brief 0x0C : Reserved
692 
693  //! @brief 0x0D : Reserved
695 
696  //! @brief 0x0E : Reserved
698 
699  //! @brief 0x0F : Reserved
701 
703 
704  //--------------------------------------------------------------------------
705  // Public methods
706  //--------------------------------------------------------------------------
707 
708  //!-------------------------------------------------------------------------
709  //! @brief Function block class constructor method.
710  //! @note None
711  //! \par Override
712  //! Not allowed
713  //! @attention Don't call this method directly.
714  //--------------------------------------------------------------------------
715 
717 
718  //!-------------------------------------------------------------------------
719  //! @brief Function block class destructor method.
720  //! @note None
721  //! \par Override
722  //! Not allowed
723  //! @attention Don't call this method directly.
724  //--------------------------------------------------------------------------
725 
726  virtual ~TP017_21_KG3_DIO_T2();
727 
728  //!-------------------------------------------------------------------------
729  //! @brief Hardware mapping method.
730  //! @note None
731  //! @param [in] *struct_Registers_Base_Address - Base adress to register structure mapping
732  //! \par Override
733  //! Not allowed
734  //! @attention None
735  //--------------------------------------------------------------------------
736 
737  VOID Map( TP017_21_KG3_DIO_Registers *struct_Registers_Base_Address );
738 
739  //!-------------------------------------------------------------------------
740  //! @brief Function block initialisation method.
741  //! @note None
742  //! \par Override
743  //! Not allowed
744  //! @attention None
745  //--------------------------------------------------------------------------
746 
747  virtual VOID Init();
748 
749  //!-------------------------------------------------------------------------
750  //! @brief Function block execution method.
751  //! @note None
752  //! \par Override
753  //! Not allowed
754  //! @attention None
755  //--------------------------------------------------------------------------
756 
757  virtual VOID Execute();
758 
759  //--------------------------------------------------------------------------
760  // Deprecated
761  //--------------------------------------------------------------------------
762 
764 
765  //--------------------------------------------------------------------------
766  // Deprecated
767  //--------------------------------------------------------------------------
768 
770 
771  //--------------------------------------------------------------------------
772  // ??? ==> ANVILEX KM: Move to the hardware class
773  //--------------------------------------------------------------------------
774 
775  U32 Get_Module_ID();
776 
777  //!-------------------------------------------------------------------------
778  //! @brief Send information about digital I/O baortd driver over communication link protocol
779  //! @note This method sends information about digital I/O driver over specified communication link protocol.
780  //! @param [in] *object_Protocol - Pointer to the communication link protocol
781  //! @return None
782  //! \par Override
783  //! Not allowed
784  //! @attention None
785  //--------------------------------------------------------------------------
786 
787  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
788 
789  //--------------------------------------------------------------------------
790  // Public variables
791  //--------------------------------------------------------------------------
792 
793  //--------------------------------------------------------------------------
794  // Parameters
795  //--------------------------------------------------------------------------
796 
797  //--------------------------------------------------------------------------
798  // Input signal connectors
799  //--------------------------------------------------------------------------
800 
801  //! @brief Digital output control connector
803 
804  //--------------------------------------------------------------------------
805  // Output signal connectorss
806  //--------------------------------------------------------------------------
807 
808  //! @brief Digital inputs status connector
810 
811  //----------------------------------------------------------------------------
812  // Protected defines, mathods and variables
813  //----------------------------------------------------------------------------
814 
815  protected:
816 
817  //----------------------------------------------------------------------------
818  // Private defines, mathods and variables
819  //----------------------------------------------------------------------------
820 
821  private:
822 
823  //--------------------------------------------------------------------------
824  // Private defines
825  //--------------------------------------------------------------------------
826 
827  //! @brief Structure for bit parsing
828  typedef union
829  {
830 
831  //! @brief Raw data
833 
834  //! @brief Structure of the bits
835  struct
836  {
837 
838  //! @brief Bit 0, Channel 1
840 
841  //! @brief Bit 1, Channel 2
843 
844  //! @brief Bit 2, Channel 3
846 
847  //! @brief Bit 3, Channel 4
849 
850  //! @brief Bit 4, Channel 5
852 
853  //! @brief Bit 5, Channel 6
855 
856  //! @brief Bit 6, Channel 7
858 
859  //! @brief Bit 7, Channel 8
861 
862  //! @brief Bits 8..15, unused bits
863  U16 :8;
864 
865  };
866 
867  } TChannels;
868 
869  //--------------------------------------------------------------------------
870  // Private variables
871  //--------------------------------------------------------------------------
872 
873  //! @brief Pointer to the memory area in FPGA address space
875 
876 };
877 
878 //------------------------------------------------------------------------------
879 // End of file
880 //------------------------------------------------------------------------------
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
Function block base class header file.
Function block input connector class.
Definition: Block_Input_Connector.h:83
Function block output connector class.
Definition: Block_Output_Connector.h:59
Function block base class for device.
Definition: Function_Block_Base.h:96
KG3 digital I/O board (P017.21 / KG3 DIO T1) type 0 class.
Definition: P017_21_KG3_DIO.h:77
virtual VOID Init()
Hardware mapping method.
Definition: P017_21_KG3_DIO.cpp:138
TBlock_Input_Connector object_bool_Digital_Input_Emulation_5
Digital intput 5 data emulation connector.
Definition: P017_21_KG3_DIO.h:195
TBlock_Input_Connector object_bool_Digital_Output_8
Digital output 8 connector.
Definition: P017_21_KG3_DIO.h:174
TBlock_Output_Connector object_bool_Digital_Input_3
Digital input 3 connector.
Definition: P017_21_KG3_DIO.h:217
TBlock_Input_Connector object_bool_Digital_Output_2
Digital output 2 connector.
Definition: P017_21_KG3_DIO.h:156
virtual ~TP017_21_KG3_DIO_T0()
Function block class destructor method.
Definition: P017_21_KG3_DIO.cpp:119
TBlock_Output_Connector object_bool_Digital_Input_2
Digital input 2 connector.
Definition: P017_21_KG3_DIO.h:214
TBlock_Output_Connector object_u16_Digital_Inputs_Status
Digital inputs status connector.
Definition: P017_21_KG3_DIO.h:235
TBlock_Input_Connector object_bool_Digital_Input_Emulation_4
Digital intput 4 data emulation connector.
Definition: P017_21_KG3_DIO.h:192
TBlock_Input_Connector object_bool_Digital_Input_Emulation_6
Digital intput 6 data emulation connector.
Definition: P017_21_KG3_DIO.h:198
TBlock_Input_Connector object_bool_Digital_Input_Emulation_7
Digital intput 7 data emulation connector.
Definition: P017_21_KG3_DIO.h:201
TBlock_Input_Connector object_bool_Digital_Input_Emulation_3
Digital intput 3 data emulation connector.
Definition: P017_21_KG3_DIO.h:189
TBlock_Input_Connector object_bool_Digital_Output_5
Digital output 5 connector.
Definition: P017_21_KG3_DIO.h:165
TBlock_Output_Connector object_u16_Digital_Outputs_Status
Digital outputs status connector.
Definition: P017_21_KG3_DIO.h:238
TBlock_Input_Connector object_u16_Digital_Output_Test_Data
Digital output test data connector.
Definition: P017_21_KG3_DIO.h:180
VOID Execute_Outputs()
Definition: P017_21_KG3_DIO.cpp:227
TBlock_Output_Connector object_bool_Digital_Input_6
Digital input 6 connector.
Definition: P017_21_KG3_DIO.h:226
TP017_21_KG3_DIO_T0()
Function block class constructor method.
Definition: P017_21_KG3_DIO.cpp:68
TBlock_Input_Connector object_bool_Digital_Output_Test_Enable
Digital output test enable connector.
Definition: P017_21_KG3_DIO.h:177
TBlock_Input_Connector object_bool_Digital_Input_Emulation_1
Digital intput 1 data emulation connector.
Definition: P017_21_KG3_DIO.h:183
TBlock_Output_Connector object_bool_Digital_Input_1
Digital input 1 connector.
Definition: P017_21_KG3_DIO.h:211
TBlock_Input_Connector object_bool_Digital_Input_Emulation_8
Digital intput 8 data emulation connector.
Definition: P017_21_KG3_DIO.h:204
TBlock_Input_Connector object_bool_Digital_Output_1
Digital output 1 connector.
Definition: P017_21_KG3_DIO.h:153
TBlock_Output_Connector object_bool_Digital_Input_4
Digital input 4 connector.
Definition: P017_21_KG3_DIO.h:220
TBlock_Input_Connector object_bool_Digital_Output_3
Digital output 3 connector.
Definition: P017_21_KG3_DIO.h:159
TBlock_Input_Connector object_bool_Digital_Output_6
Digital output 6 connector.
Definition: P017_21_KG3_DIO.h:168
VOID Execute_Inputs()
Definition: P017_21_KG3_DIO.cpp:192
TBlock_Output_Connector object_bool_Digital_Input_5
Digital input 5 connector.
Definition: P017_21_KG3_DIO.h:223
virtual VOID Execute()
Function block execution method.
Definition: P017_21_KG3_DIO.cpp:177
TBlock_Output_Connector object_bool_Digital_Input_7
Digital input 7 connector.
Definition: P017_21_KG3_DIO.h:229
TBlock_Input_Connector object_bool_Digital_Output_7
Digital output 7 connector.
Definition: P017_21_KG3_DIO.h:171
TBlock_Input_Connector object_bool_Digital_Input_Emulation_2
Digital intput 2 data emulation connector.
Definition: P017_21_KG3_DIO.h:186
TBlock_Output_Connector object_bool_Digital_Input_8
Digital input 8 connector.
Definition: P017_21_KG3_DIO.h:232
TBlock_Input_Connector object_bool_Digital_Output_4
Digital output 4 connector.
Definition: P017_21_KG3_DIO.h:162
KG3 digital I/O board (P017.21 / KG3 DIO T1) type 1 class.
Definition: P017_21_KG3_DIO.h:304
TBlock_Input_Connector object_bool_Digital_Output_5
Digital output 5 connector.
Definition: P017_21_KG3_DIO.h:498
TBlock_Output_Connector object_bool_Digital_Input_2
Digital input 2 connector.
Definition: P017_21_KG3_DIO.h:523
TBlock_Output_Connector object_u16_Digital_Outputs_Status
Digital outputs status connector.
Definition: P017_21_KG3_DIO.h:547
TBlock_Input_Connector object_bool_Digital_Output_Test_Enable
Digital output test enable connector.
Definition: P017_21_KG3_DIO.h:510
VOID Map(TP017_21_KG3_DIO_Registers *struct_Registers_Base_Address)
Hardware mapping method.
Definition: P017_21_KG3_DIO.cpp:324
TBlock_Output_Connector object_bool_Digital_Input_8
Digital input 8 connector.
Definition: P017_21_KG3_DIO.h:541
U32 Get_Module_ID()
Definition: P017_21_KG3_DIO.cpp:470
TBlock_Input_Connector object_bool_Digital_Output_7
Digital output 7 connector.
Definition: P017_21_KG3_DIO.h:504
TBlock_Input_Connector object_bool_Digital_Output_8
Digital output 8 connector.
Definition: P017_21_KG3_DIO.h:507
virtual VOID Init()
Function block initialisation method.
Definition: P017_21_KG3_DIO.cpp:339
TBlock_Output_Connector object_bool_Digital_Input_4
Digital input 4 connector.
Definition: P017_21_KG3_DIO.h:529
VOID Execute_Outputs()
Definition: P017_21_KG3_DIO.cpp:420
virtual ~TP017_21_KG3_DIO_T1()
Function block class destructor method.
Definition: P017_21_KG3_DIO.cpp:316
TBlock_Input_Connector object_bool_Digital_Output_1
Digital output 1 connector.
Definition: P017_21_KG3_DIO.h:486
TBlock_Output_Connector object_bool_Digital_Input_3
Digital input 3 connector.
Definition: P017_21_KG3_DIO.h:526
TBlock_Input_Connector object_bool_Digital_Output_4
Digital output 4 connector.
Definition: P017_21_KG3_DIO.h:495
VOID Execute_Inputs()
Definition: P017_21_KG3_DIO.cpp:392
TP017_21_KG3_DIO_T1()
Function block class constructor method.
Definition: P017_21_KG3_DIO.cpp:273
TBlock_Input_Connector object_u16_Digital_Output_Test_Data
Digital output test data connector.
Definition: P017_21_KG3_DIO.h:513
TBlock_Input_Connector object_bool_Digital_Output_6
Digital output 6 connector.
Definition: P017_21_KG3_DIO.h:501
TBlock_Output_Connector object_bool_Digital_Input_5
Digital input 5 connector.
Definition: P017_21_KG3_DIO.h:532
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send information about digital I/O baortd driver over communication link protocol.
Definition: P017_21_KG3_DIO.cpp:485
TBlock_Output_Connector object_bool_Digital_Input_1
Digital input 1 connector.
Definition: P017_21_KG3_DIO.h:520
TBlock_Input_Connector object_bool_Digital_Output_2
Digital output 2 connector.
Definition: P017_21_KG3_DIO.h:489
TBlock_Output_Connector object_bool_Digital_Input_7
Digital input 7 connector.
Definition: P017_21_KG3_DIO.h:538
virtual VOID Execute()
Function block execution method.
Definition: P017_21_KG3_DIO.cpp:377
TBlock_Output_Connector object_bool_Digital_Input_6
Digital input 6 connector.
Definition: P017_21_KG3_DIO.h:535
TBlock_Input_Connector object_bool_Digital_Output_3
Digital output 3 connector.
Definition: P017_21_KG3_DIO.h:492
TBlock_Output_Connector object_u16_Digital_Inputs_Status
Digital inputs status connector.
Definition: P017_21_KG3_DIO.h:544
volatile TP017_21_KG3_DIO_Registers * struct_Registers
Pointer to the memory area in FPGA address space.
Definition: P017_21_KG3_DIO.h:612
KG3 digital I/O board (P017.21 / KG3 DIO T2) type 2 class.
Definition: P017_21_KG3_DIO.h:620
TP017_21_KG3_DIO_T2()
Function block class constructor method.
Definition: P017_21_KG3_DIO.cpp:582
VOID Map(TP017_21_KG3_DIO_Registers *struct_Registers_Base_Address)
Hardware mapping method.
Definition: P017_21_KG3_DIO.cpp:615
U32 Get_Module_ID()
Definition: P017_21_KG3_DIO.cpp:698
TBlock_Input_Connector object_u8_Digital_Outputs_Control
Digital output control connector.
Definition: P017_21_KG3_DIO.h:802
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send information about digital I/O baortd driver over communication link protocol.
Definition: P017_21_KG3_DIO.cpp:713
TBlock_Output_Connector object_u8_Digital_Inputs_Status
Digital inputs status connector.
Definition: P017_21_KG3_DIO.h:809
volatile TP017_21_KG3_DIO_Registers * struct_Registers
Pointer to the memory area in FPGA address space.
Definition: P017_21_KG3_DIO.h:874
virtual ~TP017_21_KG3_DIO_T2()
Function block class destructor method.
Definition: P017_21_KG3_DIO.cpp:607
VOID Execute_Inputs()
Definition: P017_21_KG3_DIO.cpp:674
virtual VOID Init()
Function block initialisation method.
Definition: P017_21_KG3_DIO.cpp:630
VOID Execute_Outputs()
Definition: P017_21_KG3_DIO.cpp:686
virtual VOID Execute()
Function block execution method.
Definition: P017_21_KG3_DIO.cpp:659
Definition: Protocol_Base.h:57
Register structure for digital I/O access.
Definition: P017_21_KG3_DIO.h:318
U16 u16_Reserve_4
0x04 : Reserved
Definition: P017_21_KG3_DIO.h:342
U16 u16_Reserve_12
0x0C : Reserved
Definition: P017_21_KG3_DIO.h:375
U16 u16_Unit_ID_L
0x00 : Module identification low register
Definition: P017_21_KG3_DIO.h:321
U16 u16_Reserve_15
0x0F : Reserved
Definition: P017_21_KG3_DIO.h:384
U16 u16_Reserve_10
0x0A : Reserved
Definition: P017_21_KG3_DIO.h:369
U16 u16_Reserve_5
0x05 : Reserved
Definition: P017_21_KG3_DIO.h:345
U16 u16_Digital_Outputs
0x06 : Digital output data write
Definition: P017_21_KG3_DIO.h:357
U16 u16_Reserve_7
0x07 : Digital output data set
Definition: P017_21_KG3_DIO.h:360
U16 u16_Unit_ID_H
0x01 : Module identification high register
Definition: P017_21_KG3_DIO.h:324
U16 u16_Digital_Inputs
0x02 : Digital input data
Definition: P017_21_KG3_DIO.h:336
U16 u16_Reserve_9
0x09 : Digital output data toggle
Definition: P017_21_KG3_DIO.h:366
U16 u16_Reserve_11
0x0B : Reserved
Definition: P017_21_KG3_DIO.h:372
U16 u16_Reserve_14
0x0E : Reserved
Definition: P017_21_KG3_DIO.h:381
U16 u16_Reserve_3
0x03 : Reserved
Definition: P017_21_KG3_DIO.h:339
U16 u16_Reserve_8
0x08 : Digital output data reset
Definition: P017_21_KG3_DIO.h:363
U16 u16_Reserve_13
0x0D : Reserved
Definition: P017_21_KG3_DIO.h:378
Register structure for digital I/O access.
Definition: P017_21_KG3_DIO.h:634
U16 u16_Reserve_11
0x0B : Reserved
Definition: P017_21_KG3_DIO.h:688
U16 u16_Unit_ID_H
0x01 : Module identification high register
Definition: P017_21_KG3_DIO.h:640
U16 u16_Reserve_9
0x09 : Digital output data toggle
Definition: P017_21_KG3_DIO.h:682
U16 u16_Reserve_13
0x0D : Reserved
Definition: P017_21_KG3_DIO.h:694
U16 u16_Reserve_8
0x08 : Digital output data reset
Definition: P017_21_KG3_DIO.h:679
U16 u16_Reserve_4
0x04 : Reserved
Definition: P017_21_KG3_DIO.h:658
U16 u16_Digital_Outputs
0x06 : Digital output data write
Definition: P017_21_KG3_DIO.h:673
U16 u16_Reserve_7
0x07 : Digital output data set
Definition: P017_21_KG3_DIO.h:676
U16 u16_Reserve_10
0x0A : Reserved
Definition: P017_21_KG3_DIO.h:685
U16 u16_Reserve_15
0x0F : Reserved
Definition: P017_21_KG3_DIO.h:700
U16 u16_Digital_Inputs
0x02 : Digital input data
Definition: P017_21_KG3_DIO.h:652
U16 u16_Unit_ID_L
0x00 : Module identification low register
Definition: P017_21_KG3_DIO.h:637
U16 u16_Reserve_5
0x05 : Reserved
Definition: P017_21_KG3_DIO.h:661
U16 u16_Reserve_14
0x0E : Reserved
Definition: P017_21_KG3_DIO.h:697
U16 u16_Reserve_3
0x03 : Reserved
Definition: P017_21_KG3_DIO.h:655
U16 u16_Reserve_12
0x0C : Reserved
Definition: P017_21_KG3_DIO.h:691
U16 bool_Channel_4
Bit 3, Channel 4.
Definition: P017_21_KG3_DIO.h:277
U16 bool_Channel_5
Bit 4, Channel 5.
Definition: P017_21_KG3_DIO.h:280
U16 bool_Channel_6
Bit 5, Channel 6.
Definition: P017_21_KG3_DIO.h:283
U16 bool_Channel_3
Bit 2, Channel 3.
Definition: P017_21_KG3_DIO.h:274
U16 bool_Channel_8
Bit 7, Channel 8.
Definition: P017_21_KG3_DIO.h:289
U16 bool_Channel_7
Bit 6, Channel 7.
Definition: P017_21_KG3_DIO.h:286
U16 u16_Channels
Raw data.
Definition: P017_21_KG3_DIO.h:261
U16 bool_Channel_1
Bit 0, Channel 1.
Definition: P017_21_KG3_DIO.h:268
U16 bool_Channel_2
Bit 1, Channel 2.
Definition: P017_21_KG3_DIO.h:271
U16 bool_Channel_4
Bit 3, Channel 4.
Definition: P017_21_KG3_DIO.h:586
U16 bool_Channel_2
Bit 1, Channel 2.
Definition: P017_21_KG3_DIO.h:580
U16 bool_Channel_8
Bit 7, Channel 8.
Definition: P017_21_KG3_DIO.h:598
U16 u16_Channels
Raw data.
Definition: P017_21_KG3_DIO.h:570
U16 bool_Channel_6
Bit 5, Channel 6.
Definition: P017_21_KG3_DIO.h:592
U16 bool_Channel_1
Bit 0, Channel 1.
Definition: P017_21_KG3_DIO.h:577
U16 bool_Channel_5
Bit 4, Channel 5.
Definition: P017_21_KG3_DIO.h:589
U16 bool_Channel_7
Bit 6, Channel 7.
Definition: P017_21_KG3_DIO.h:595
U16 bool_Channel_3
Bit 2, Channel 3.
Definition: P017_21_KG3_DIO.h:583
U16 bool_Channel_5
Bit 4, Channel 5.
Definition: P017_21_KG3_DIO.h:851
U16 bool_Channel_8
Bit 7, Channel 8.
Definition: P017_21_KG3_DIO.h:860
U16 bool_Channel_6
Bit 5, Channel 6.
Definition: P017_21_KG3_DIO.h:854
U16 bool_Channel_2
Bit 1, Channel 2.
Definition: P017_21_KG3_DIO.h:842
U16 bool_Channel_1
Bit 0, Channel 1.
Definition: P017_21_KG3_DIO.h:839
U16 bool_Channel_7
Bit 6, Channel 7.
Definition: P017_21_KG3_DIO.h:857
U16 u16_Channels
Raw data.
Definition: P017_21_KG3_DIO.h:832
U16 bool_Channel_4
Bit 3, Channel 4.
Definition: P017_21_KG3_DIO.h:848
U16 bool_Channel_3
Bit 2, Channel 3.
Definition: P017_21_KG3_DIO.h:845