ConOpSys V2970  P004.07
ANVILEX control operating system
Hardware_Platform_P015_09.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // Runtime engine: P015.09 CB V1
3 //------------------------------------------------------------------------------
4 
5 #pragma once
6 
7 //------------------------------------------------------------------------------
8 // Macro for disable semihosting
9 //------------------------------------------------------------------------------
10 
11 #if __ARMCC_VERSION >= 6000000
12  __asm(".global __use_no_semihosting");
13 #elif __ARMCC_VERSION >= 5000000
14  #pragma import(__use_no_semihosting)
15 #else
16  #error Unsupported compiler
17 #endif
18 
19 //------------------------------------------------------------------------------
20 // Include STM32F429 on chip hardware module headers
21 //------------------------------------------------------------------------------
22 
23 //#include "stm32f429xx.h"
24 
25 //------------------------------------------------------------------------------
26 // Hardware platform
27 //------------------------------------------------------------------------------
28 
29 #include "P015_09_V1_0.h"
30 
32 
33 //------------------------------------------------------------------------------
34 // CPU
35 //------------------------------------------------------------------------------
36 
37 #include "CPU_STM32F429.h"
38 
40 
41 //------------------------------------------------------------------------------
42 // On chip memory
43 //------------------------------------------------------------------------------
44 
45 #include "STACK_STM32F429.h"
46 #include "HEAP_STM32F429.h"
47 
50 
51 //------------------------------------------------------------------------------
52 // On chip interrupt controller
53 //------------------------------------------------------------------------------
54 
55 #include "NVIC_STM32F429.h"
56 
57 //------------------------------------------------------------------------------
58 // On chip high resolution system timer
59 //------------------------------------------------------------------------------
60 
61 #include "TIMER2_STM32F429.h"
62 
64 
66 
67 //------------------------------------------------------------------------------
68 // On chip 1ms system timer
69 //------------------------------------------------------------------------------
70 
71 #include "SYSTICK_STM32F429.h"
72 
74 
76 
77 //------------------------------------------------------------------------------
78 // On chip system WDT
79 //------------------------------------------------------------------------------
80 
81 #include "WDT_STM32F429.h"
82 
84 
85 //------------------------------------------------------------------------------
86 // On chip system RTC
87 //------------------------------------------------------------------------------
88 
89 #include "RTC_STM32F429.h"
90 
92 
93 //------------------------------------------------------------------------------
94 // On chip system LED
95 //------------------------------------------------------------------------------
96 
97 #include "LED_P015_09_CB.h"
98 
100 
101 //------------------------------------------------------------------------------
102 // On chip SPI1
103 //------------------------------------------------------------------------------
104 
105 #include "SPI5_P015_09_CB.h"
106 
108 
109 //------------------------------------------------------------------------------
110 // On chip SPI2
111 //------------------------------------------------------------------------------
112 
113 #define SPI2_MODULE_INSTALLED (true)
114 
115 #include "SPI2_P015_09_CB.h"
116 
117 // extern TSPI2_P015_09_CB object_System_SPI2;
119 
120 //------------------------------------------------------------------------------
121 // On chip SPI3
122 //------------------------------------------------------------------------------
123 
124 #include "SPI4_P015_09_CB.h"
125 
127 
128 //------------------------------------------------------------------------------
129 // On chip ADC
130 //------------------------------------------------------------------------------
131 
132 #ifndef ADC_MODULE_INSTALLED
133 
134  //----------------------------------------------------------------------------
135  // ERROR: Undefined compilation switch: ADC_MODULE_INSTALLED
136  //----------------------------------------------------------------------------
137 
138  // Show error message
139  #error "ERROR: Undefined compilation switch: ADC_MODULE_INSTALLED"
140 
141 #else
142 
143  //----------------------------------------------------------------------------
144  // Compilation switch setted
145  //----------------------------------------------------------------------------
146 
147 #endif
148 
149 //------------------------------------------------------------------------------
150 // On chip DAC
151 //------------------------------------------------------------------------------
152 
153 #ifndef DAC_MODULE_INSTALLED
154 
155  //----------------------------------------------------------------------------
156  // ERROR: Undefined compilation switch: DAC_MODULE_INSTALLED
157  //----------------------------------------------------------------------------
158 
159  // Show error message
160  #error "ERROR: Undefined compilation switch: DAC_MODULE_INSTALLED"
161 
162 #else
163 
164  //----------------------------------------------------------------------------
165  // Compilation switch setted
166  //----------------------------------------------------------------------------
167 
168 #endif
169 
170 //------------------------------------------------------------------------------
171 // On chip DIO module
172 //------------------------------------------------------------------------------
173 
174 #ifndef DIO_MODULE_INSTALLED
175 
176  //----------------------------------------------------------------------------
177  // ERROR: Undefined compilation switch: DIO_MODULE_INSTALLED
178  //----------------------------------------------------------------------------
179 
180  // Show error message
181  #error "ERROR: Undefined compilation switch: DIO_MODULE_INSTALLED"
182 
183 #else
184 
185  //----------------------------------------------------------------------------
186  // Compilation switch setted
187  //----------------------------------------------------------------------------
188 
189 #endif
190 
191 //------------------------------------------------------------------------------
192 // FPGA on board chip
193 //------------------------------------------------------------------------------
194 
195 #ifndef FPGA_MODULE_INSTALLED
196 
197  //----------------------------------------------------------------------------
198  // ERROR: Undefined compilation switch: FPGA_MODULE_INSTALLED
199  //----------------------------------------------------------------------------
200 
201  // Show error message
202  #error "ERROR: Undefined compilation switch: FPGA_MODULE_INSTALLED"
203 
204 #else
205 
206  //----------------------------------------------------------------------------
207  // Compilation switch setted
208  //----------------------------------------------------------------------------
209 
210  #include "FPGA_P015_09_CB.h"
211 
212  extern TFPGA_P015_09_CB object_System_FPGA;
213 
214  extern "C" VOID FPGA_Interrupt_Handler();
215 
216  // Test for FPGA module installed
217  #if ( FPGA_MODULE_INSTALLED == (true) )
218 
219  //--------------------------------------------------------------------------
220  // FPGA base address
221  //--------------------------------------------------------------------------
222 
223  // ANVILEX KM: Move this difinition to the scatter file as a section
224  #define FPGA_BASE ((U32)0x60000000)
225  //#define FPGA_SIZE (0x00010000)
226 
227  //--------------------------------------------------------------------------
228  // Slot base address definitions
229  //--------------------------------------------------------------------------
230 
231  // PDB address slot size
232  #define FPGA_ADDRESS_SLOT_SIZE (0x40)
233 
234  // Backlane slot segmentation
235  #define FPGA_BACKPLANE_SLOT_AREA_OFFSET (U32)0x00001000
236 
237  // Internal slot segmentation
238  #define FPGA_INTERNAL_SLOT_AREA_OFFSET (U32)0x00000000
239 
240  //--------------------------------------------------------------------------
241 
242  #define FPGA_BACKPLANE_SLOT_1 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 0 * FPGA_ADDRESS_SLOT_SIZE ) )
243  #define FPGA_BACKPLANE_SLOT_2 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 1 * FPGA_ADDRESS_SLOT_SIZE ) )
244  #define FPGA_BACKPLANE_SLOT_3 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 2 * FPGA_ADDRESS_SLOT_SIZE ) )
245  #define FPGA_BACKPLANE_SLOT_4 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 3 * FPGA_ADDRESS_SLOT_SIZE ) )
246  #define FPGA_BACKPLANE_SLOT_5 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 4 * FPGA_ADDRESS_SLOT_SIZE ) )
247  #define FPGA_BACKPLANE_SLOT_6 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 5 * FPGA_ADDRESS_SLOT_SIZE ) )
248  #define FPGA_BACKPLANE_SLOT_7 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 6 * FPGA_ADDRESS_SLOT_SIZE ) )
249  #define FPGA_BACKPLANE_SLOT_8 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 7 * FPGA_ADDRESS_SLOT_SIZE ) )
250  #define FPGA_BACKPLANE_SLOT_9 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 8 * FPGA_ADDRESS_SLOT_SIZE ) )
251  #define FPGA_BACKPLANE_SLOT_10 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 9 * FPGA_ADDRESS_SLOT_SIZE ) )
252  #define FPGA_BACKPLANE_SLOT_11 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 10 * FPGA_ADDRESS_SLOT_SIZE ) )
253  #define FPGA_BACKPLANE_SLOT_12 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 11 * FPGA_ADDRESS_SLOT_SIZE ) )
254  #define FPGA_BACKPLANE_SLOT_13 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 12 * FPGA_ADDRESS_SLOT_SIZE ) )
255  #define FPGA_BACKPLANE_SLOT_14 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 13 * FPGA_ADDRESS_SLOT_SIZE ) )
256  #define FPGA_BACKPLANE_SLOT_15 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 14 * FPGA_ADDRESS_SLOT_SIZE ) )
257  #define FPGA_BACKPLANE_SLOT_16 ( FPGA_BASE + FPGA_BACKPLANE_SLOT_AREA_OFFSET + ( 15 * FPGA_ADDRESS_SLOT_SIZE ) )
258 
259  #define FPGA_INTERNAL_SLOT_1 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 0 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
260  #define FPGA_INTERNAL_SLOT_2 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 1 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
261  #define FPGA_INTERNAL_SLOT_3 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 2 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
262  #define FPGA_INTERNAL_SLOT_4 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 3 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
263  #define FPGA_INTERNAL_SLOT_5 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 4 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
264  #define FPGA_INTERNAL_SLOT_6 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 5 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
265  #define FPGA_INTERNAL_SLOT_7 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 6 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
266  #define FPGA_INTERNAL_SLOT_8 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 7 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
267  #define FPGA_INTERNAL_SLOT_9 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 8 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
268  #define FPGA_INTERNAL_SLOT_10 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 9 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
269  #define FPGA_INTERNAL_SLOT_11 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 10 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
270  #define FPGA_INTERNAL_SLOT_12 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 11 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
271  #define FPGA_INTERNAL_SLOT_13 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 12 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
272  #define FPGA_INTERNAL_SLOT_14 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 13 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
273  #define FPGA_INTERNAL_SLOT_15 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 14 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
274  #define FPGA_INTERNAL_SLOT_16 ( FPGA_BASE + FPGA_INTERNAL_SLOT_AREA_OFFSET + ( 15 * FPGA_ADDRESS_SLOT_SIZE ) ) //!<
275 
276  #endif
277 
278 #endif
279 
280 //------------------------------------------------------------------------------
281 // Virtual communication link COM0
282 //------------------------------------------------------------------------------
283 
284 #ifndef COM0_MODULE_INSTALLED
285 
286  //----------------------------------------------------------------------------
287  // Undefined compilation switch: COM0_MODULE_INSTALLED
288  //----------------------------------------------------------------------------
289 
290  // Show error message
291  #error "ERROR: Undefined compilation switch: COM0_MODULE_INSTALLED"
292 
293 #else
294 
295  //----------------------------------------------------------------------------
296  // Compilation switch setted
297  //----------------------------------------------------------------------------
298 
299  #include "System_COM0.h"
300 
301  extern TCOM0 object_System_COM0;
302 
303  #if ( COM0_MODULE_INSTALLED == (true) )
304 
305  //--------------------------------------------------------------------------
306  // Communication link COM0 installed
307  //--------------------------------------------------------------------------
308 
310 
311  #endif
312 
313 #endif
314 
315 //------------------------------------------------------------------------------
316 // Communication link COM1
317 //------------------------------------------------------------------------------
318 
319 #ifndef COM1_COMMUNICATION_MODE
320 
321  //----------------------------------------------------------------------------
322  // Undefined compilation switch: COM1_COMMUNICATION_MODE
323  //----------------------------------------------------------------------------
324 
325  // Show error message
326  #error "ERROR: Undefined compilation switch: COM1_COMMUNICATION_MODE"
327 
328 #else
329 
330  //----------------------------------------------------------------------------
331  // Compilation switch setted
332  //----------------------------------------------------------------------------
333 
334  #include "UART1_P015_09_CB.h"
335 
336  extern TUART1_P015_09_CB object_System_COM1;
337 
338  extern "C" VOID System_UART1_Interrupt_Handler();
339 
340  #if ( COM1_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_NONE )
341 
342  //----------------------------------------------------------------------------
343  // Mount DUMMY protocol to COM1
344  //----------------------------------------------------------------------------
345 
346  #include "Protocol_PLUG_Over_UART.h"
347 
348  // Export DUMMY protocol over COM1 object reference
349  extern TProtocol_PLUG_Over_UART object_Protocol_Over_COM1;
350 
351  #elif ( COM1_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX )
352 
353  //----------------------------------------------------------------------------
354  // Mount ANVILEX slave protocol to COM1
355  //----------------------------------------------------------------------------
356 
358 
359  // Export ANVILEX protocol over COM1 object reference
360  extern TProtocol_ANVILEX_Over_UART object_Protocol_Over_COM1;
361 
362  #elif ( COM1_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX_V2 )
363 
364  //----------------------------------------------------------------------------
365  // Mount ANVILEX slave V2 protocol to COM1
366  //----------------------------------------------------------------------------
367 
369 
370  // Export ANVILEX protocol over COM1 object reference
371  extern TProtocol_ANVILEX_Over_UART_V2 object_Protocol_Over_COM1;
372 
373  #elif ( COM1_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX_MASTER )
374 
375  //----------------------------------------------------------------------------
376  // Mount ANVILEX master protocol to COM1
377  //----------------------------------------------------------------------------
378 
380 
381  // Export ANVILEX master protocol over COM1 object reference
382  extern TProtocol_ANVILEX_Master_Over_UART object_Protocol_Over_COM1;
383 
384  #elif ( COM1_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_MODBUS_RTU )
385 
386  //----------------------------------------------------------------------------
387  // Mount MODBUS RTU protocol to COM1
388  //----------------------------------------------------------------------------
389 
390  #include "Protocol_MODBUS_Over_UART.h"
391 
392  // Export MODBUS RTU protocol over COM1 object reference
393  extern TProtocol_MODBUS_Over_UART object_Protocol_Over_COM1;
394 
395  #elif ( COM1_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_MODBUS_ASCII )
396 
397  //----------------------------------------------------------------------------
398  // Mount MODBUS ASCII protocol to COM1
399  //----------------------------------------------------------------------------
400 
401  // Export MODBUS ASCII protocol over COM1
402  // ANVILEX KM: Reserved for the future
403 
404  // ANVILEX: Show error message
405  #error "ERROR: MODBUS ASCII communication mode not implemented for COM1."
406 
407  #else
408 
409  //--------------------------------------------------------------------------
410  // Unknown communication protocol linked to COM1
411  //--------------------------------------------------------------------------
412 
413  // Show error message
414  #error "ERROR: Undefined or unknown communication mode for COM1."
415 
416  #endif
417 
418 #endif
419 
420 //------------------------------------------------------------------------------
421 // Communication link COM2
422 //------------------------------------------------------------------------------
423 
424 #ifndef COM2_COMMUNICATION_MODE
425 
426  //----------------------------------------------------------------------------
427  // Undefined compilation switch: COM2_COMMUNICATION_MODE
428  //----------------------------------------------------------------------------
429 
430  // Show error message
431  #error "ERROR: Undefined compilation switch: COM2_COMMUNICATION_MODE"
432 
433 #else
434 
435  //----------------------------------------------------------------------------
436  // Compilation switch setted
437  //----------------------------------------------------------------------------
438 
439  #include "UART6_P015_09_CB.h"
440 
441  extern TUART6_P015_09_CB object_System_COM2;
442 
443  extern "C" VOID System_UART6_Interrupt_Handler();
444 
445  #if ( COM2_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_NONE )
446 
447  //----------------------------------------------------------------------------
448  // Export mounted DUMMY protocol to COM2
449  //----------------------------------------------------------------------------
450 
451  // Export DUMMY protocol over COM2 object reference
452  extern TProtocol_PLUG_Over_UART object_Protocol_Over_COM2;
453 
454  #elif ( COM2_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX )
455 
456  //----------------------------------------------------------------------------
457  // Export mounted ANVILEX protocol to COM2
458  //----------------------------------------------------------------------------
459 
460  // Export ANVILEX protocol over COM2 object reference
461  extern TProtocol_ANVILEX_Over_UART object_Protocol_Over_COM2;
462 
463  #elif ( COM2_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX_V2 )
464 
465  //----------------------------------------------------------------------------
466  // Export mounted ANVILEX protocol to COM2
467  //----------------------------------------------------------------------------
468 
469  // Export ANVILEX protocol over COM2 object reference
470  extern TProtocol_ANVILEX_Over_UART_V2 object_Protocol_Over_COM2;
471 
472  #elif ( COM2_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX_MASTER )
473 
474  //----------------------------------------------------------------------------
475  // Export mounted ANVILEX master protocol to COM2
476  //----------------------------------------------------------------------------
477 
478  // Export ANVILEX master protocol over COM2 object reference
479  extern TProtocol_ANVILEX_Master_Over_UART object_Protocol_Over_COM2;
480 
481  #elif ( COM2_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_MODBUS_RTU )
482 
483  //----------------------------------------------------------------------------
484  // Export mounted MODBUS RTU protocol to COM2
485  //----------------------------------------------------------------------------
486 
487  // Export MODBUS RTU protocol over COM2 object reference
488  extern TProtocol_MODBUS_Over_UART object_Protocol_Over_COM2;
489 
490  #elif ( COM2_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_MODBUS_ASCII )
491 
492  //----------------------------------------------------------------------------
493  // Export mounted MODBUS ASCII protocol to COM2
494  //----------------------------------------------------------------------------
495 
496  // Export MODBUS ASCII protocol over COM2
497  // ANVILEX KM: Reserved for the future
498 
499  // ANVILEX: Show error message
500  #error "ERROR: MODBUS ASCII communication mode not implemented for COM2."
501 
502  #else
503 
504  //--------------------------------------------------------------------------
505  // Unknown communication protocol linked to COM2
506  //--------------------------------------------------------------------------
507 
508  // Show error message
509  #error "ERROR: Undefined or unknown communication mode for COM2."
510 
511  #endif
512 
513 #endif
514 
515 //------------------------------------------------------------------------------
516 // Communication link COM3
517 //------------------------------------------------------------------------------
518 
519 #ifndef COM3_COMMUNICATION_MODE
520 
521  //----------------------------------------------------------------------------
522  // Undefined compilation switch: COM3_COMMUNICATION_MODE
523  //----------------------------------------------------------------------------
524 
525  // Show error message
526  #error "ERROR: Undefined compilation switch: COM3_COMMUNICATION_MODE"
527 
528 #else
529 
530  //----------------------------------------------------------------------------
531  // Compilation switch setted
532  //----------------------------------------------------------------------------
533 
534 // extern "C" VOID System_COM3_Interrupt_Handler();
535 
536  #if ( COM3_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_NONE )
537 
538  //--------------------------------------------------------------------------
539  // Export mounted DUMMY protocol to COM3
540  //--------------------------------------------------------------------------
541 
542  // Export DUMMY protocol over COM3 object reference
543 // extern TProtocol_PLUG_Over_UART object_Protocol_Over_COM3;
544 
545  #elif ( COM3_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_ANVILEX )
546 
547  //--------------------------------------------------------------------------
548  // Export mounted ANVILEX protocol to COM3
549  //--------------------------------------------------------------------------
550 
551  // Export ANVILEX protocol over COM3 object reference
552 // extern TProtocol_ANVILEX_Over_UART object_Protocol_Over_COM3;
553 
554  // ANVILEX: Show error message
555  #error "ERROR: ANVILEX communication mode not supported on COM3."
556 
557  #elif ( COM3_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_MODBUS_RTU )
558 
559  //--------------------------------------------------------------------------
560  // Export mounted MODBUS RTU protocol to COM3
561  //--------------------------------------------------------------------------
562 
563  // Export MODBUS RTU protocol over COM3 object reference
564 // extern TProtocol_MODBUS_Over_UART object_Protocol_Over_COM3;
565 
566  // ANVILEX: Show error message
567  #error "ERROR: MODBUS RTU communication mode not supported on COM3."
568 
569  #elif ( COM3_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_MODBUS_ASCII )
570 
571  //--------------------------------------------------------------------------
572  // Export mounted MODBUS ASCII protocol to COM3
573  //--------------------------------------------------------------------------
574 
575  // Export MODBUS ASCII protocol over COM3
576  // ANVILEX KM: Reserved for the future
577 
578  // ANVILEX: Show error message
579  #error "ERROR: MODBUS ASCII communication mode not supported on COM3."
580 
581  #elif ( COM3_COMMUNICATION_MODE == USART_COMMUNICATION_MODE_SIMCOM )
582 
583  //--------------------------------------------------------------------------
584  // Export mounted SIMCOM protocol to COM3
585  //--------------------------------------------------------------------------
586 
587  // Export SIMCOM protocol over COM3
588  // ANVILEX KM: Reserved for the future
589 
590  // ANVILEX: Show error message
591  #error "ERROR: SIMCOM communication mode not supported on COM3."
592 
593  #else
594 
595  //--------------------------------------------------------------------------
596  // Unknown communication protocol linked to COM3
597  //--------------------------------------------------------------------------
598 
599  // Show error message
600  #error "ERROR: Undefined or unknown communication mode for COM3."
601 
602  #endif
603 
604 #endif
605 
606 //------------------------------------------------------------------------------
607 // Communication link ETHERNET
608 //------------------------------------------------------------------------------
609 
610 #ifndef ETHERNET_MODULE_INSTALLED
611 
612  //----------------------------------------------------------------------------
613  // Undefined compilation switch: ETHERNET_MODULE_INSTALLED
614  //----------------------------------------------------------------------------
615 
616  // Show error message
617  #error "ERROR: Undefined compilation switch: ETHERNET_MODULE_INSTALLED"
618 
619 #else
620 
621  //----------------------------------------------------------------------------
622  // Compilation switch setted
623  //----------------------------------------------------------------------------
624 
625  #include "ETHERNET_P015_09_CB.h"
626 
627  extern TETHERNET_P015_09_CB object_System_ETHERNET;
628 
629  extern "C" VOID System_ETH_Interrupt_Handler();
630 
631  #if ( ETHERNET_MODULE_INSTALLED == true )
632 
633  #include "Protocol_IP_Over_ETHERNET.h"
634 
635  // Export IP protocol over ETHERNET object reference
637 
638  #else
639 
640  //--------------------------------------------------------------------------
641  // Unknown communication protocol linked to ETHERNET
642  //--------------------------------------------------------------------------
643 
644  // Show error message
645  #error "ERROR: Undefined or unknown communication mode for ETHERNET."
646 
647  #endif
648 
649 #endif
650 
651 //------------------------------------------------------------------------------
652 // Communication link CAN1
653 //------------------------------------------------------------------------------
654 
655 #ifndef CAN1_MODULE_INSTALLED
656 
657  //----------------------------------------------------------------------------
658  // Undefined compilation switch: CAN1_MODULE_INSTALLED
659  //----------------------------------------------------------------------------
660 
661  // Show error message
662  #error "ERROR: Undefined compilation switch: CAN1_MODULE_INSTALLED"
663 
664 #else
665 
666  //----------------------------------------------------------------------------
667  // Compilation switch setted
668  //----------------------------------------------------------------------------
669 
670  // Include CAN related headers
671  #include "CAN1_P015_09_CB.h"
672 
673  extern TCAN1_P015_09_CB object_System_CAN1;
674 
675  extern "C" VOID System_CAN1_RX0_Interrupt_Handler();
676  extern "C" VOID System_CAN1_RX1_Interrupt_Handler();
677  extern "C" VOID System_CAN1_TX_Interrupt_Handler();
678  extern "C" VOID System_CAN1_SCE_Interrupt_Handler();
679  extern "C" VOID System_CAN2_RX0_Interrupt_Handler();
680  extern "C" VOID System_CAN2_RX1_Interrupt_Handler();
681  extern "C" VOID System_CAN2_TX_Interrupt_Handler();
682  extern "C" VOID System_CAN2_SCE_Interrupt_Handler();
683 
684  #if ( CAN1_MODULE_INSTALLED == (true) )
685 
686  //--------------------------------------------------------------------------
687  // Mount CANopen protocol to CAN1
688  //--------------------------------------------------------------------------
689 
691 
693 
694  #else
695 
696  //--------------------------------------------------------------------------
697  // Unknown communication protocol linked to CAN1
698  //--------------------------------------------------------------------------
699 
700  // Show error message
701  #error "ERROR: Undefined or unknown communication mode for CAN1."
702 
703  #endif
704 
705 #endif
706 
707 //------------------------------------------------------------------------------
708 // Include ANYBUS module headers
709 //------------------------------------------------------------------------------
710 
711 #ifndef ADDISIONAL_MODULE_COMMUNICATION
712 
713  //----------------------------------------------------------------------------
714  // Undefined compilation switch: ADDISIONAL_MODULE_COMMUNICATION
715  //----------------------------------------------------------------------------
716 
717  // Show error message
718  #error "ERROR: Undefined compilation switch: ADDISIONAL_MODULE_COMMUNICATION"
719 
720 #else
721 
722  //----------------------------------------------------------------------------
723  // Compilation switch setted
724  //----------------------------------------------------------------------------
725 
726  // Test for PROFIBUS DPV1 module enabled
727  #if ( ADDISIONAL_MODULE_COMMUNICATION == PB_DPV_1 )
728 
729  //--------------------------------------------------------------------------
730  // Mount PROFIBUS DPV1 protocol to ANYBUS
731  //--------------------------------------------------------------------------
732 
733  // AnyBus includes
734  #include "ABCC_Base.h"
735  #include "ABCC_DPV1.h"
736 
737 // AnyBus includes
738 // ANVILEX KM: Move to ABCC object
739 /*
740  #include "abcc_drv_cfg.h"
741  #include "abcc.h"
742  #include "abcc_sys_adapt.h"
743  #include "ad_obj.h"
744  #include "appl_abcc_handler.h"
745  #include "abcc_versions.h"
746  #include "appl_adi_config.h"
747 */
748 
749  extern TABCC_DPV1 object_ABCC; //!< ABCC objejct
750 
751  #else
752 
753  //--------------------------------------------------------------------------
754  // Unknown communication protocol linked to ANYBUS
755  //--------------------------------------------------------------------------
756 
757  // Show error message
758  #error "ERROR: Undefined or unknown communication mode for ANYBUS."
759 
760  #endif
761 
762 #endif
763 
764 //------------------------------------------------------------------------------
765 // System terminal
766 //------------------------------------------------------------------------------
767 
768 // Export pointer to system terminal object
770 
771 //----------------------------------------------------------------------------
772 // Parameter database
773 //----------------------------------------------------------------------------
774 
775 #include "Parameter_Manager.h"
776 
777 #include "FM25V02.h"
778 
779 //------------------------------------------------------------------------------
780 // Command manager
781 //------------------------------------------------------------------------------
782 
783 #ifndef COMMAND_MANAGER_MODULE_INSTALLED
784 
785  //----------------------------------------------------------------------------
786  // Undefined compilation switch: COMMAND_MANAGER_MODULE_INSTALLED
787  //----------------------------------------------------------------------------
788 
789  // Show error message
790  #error "ERROR: Undefined compilation switch: COMMAND_MANAGER_MODULE_INSTALLED"
791 
792 #else
793 
794  //----------------------------------------------------------------------------
795  // Compilation switch setted
796  //----------------------------------------------------------------------------
797 
798  // Test for command manager installed
799  #if ( COMMAND_MANAGER_MODULE_INSTALLED == (true) )
800 
801  //--------------------------------------------------------------------------
802  // Mount command manager
803  //--------------------------------------------------------------------------
804 
805  #include "Command_Manager.h"
806 
807  // Export global command manager object
809 
810  #endif
811 
812 #endif
813 
814 //------------------------------------------------------------------------------
815 // Event manager
816 //------------------------------------------------------------------------------
817 
818 #ifndef EVENT_MANAGER_MODULE_INSTALLED
819 
820  //----------------------------------------------------------------------------
821  // Undefined compilation switch: EVENT_MANAGER_MODULE_INSTALLED
822  //----------------------------------------------------------------------------
823 
824  // Show error message
825  #error "ERROR: Undefined compilation switch: EVENT_MANAGER_MODULE_INSTALLED"
826 
827 #else
828 
829  //----------------------------------------------------------------------------
830  // Compilation switch setted
831  //----------------------------------------------------------------------------
832 
833  // Test for command manager installed
834  #if ( EVENT_MANAGER_MODULE_INSTALLED == (true) )
835 
836  //--------------------------------------------------------------------------
837  // Mount event manager
838  //--------------------------------------------------------------------------
839 
840 // const BOOL bool_Configuration_Event_Database_Flash_Istalled = (BOOL)true;
841 
842  #define EVENT_DATABASE_STORAGE_INSTALLED (true)
843 
844  #include "S25FL512.h"
845 
846  extern TS25FL512 *object_Event_Database_Storage;
847 
848  #include "Event_Manager.h"
849 
850  //! @brief Export global event manager object
851  extern TEvent_Manager object_Event_Manager;
852 
853  #endif
854 
855 #endif
856 
857 //------------------------------------------------------------------------------
858 // Signal recorder
859 //------------------------------------------------------------------------------
860 
861 #ifndef SCOPE_MODULE_INSTALLED
862 
863  //----------------------------------------------------------------------------
864  // Undefined compilation switch: SCOPE_MODULE_INSTALLED
865  //----------------------------------------------------------------------------
866 
867  // Show error message
868  #error "ERROR: Undefined compilation switch: SCOPE_MODULE_INSTALLED"
869 
870 #else
871 
872  //----------------------------------------------------------------------------
873  // Compilation switch setted
874  //----------------------------------------------------------------------------
875 
876  // Test for signal recorder installed
877  #if ( SCOPE_MODULE_INSTALLED == (true) )
878 
879  //--------------------------------------------------------------------------
880  // Mount event manager
881  //--------------------------------------------------------------------------
882 
883  #include "Signal_Recorder.h"
884 
885  extern TSignal_Recorder object_Signal_Recorder;
886 
887  #endif
888 
889 #endif
890 
891 //------------------------------------------------------------------------------
892 // Include files related to the system objects
893 //------------------------------------------------------------------------------
894 
895 #include "Function_Block_Manager.h"
896 
897 //------------------------------------------------------------------------------
898 // End of file
899 //------------------------------------------------------------------------------
ANYBUS module base class header file.
ANYBUS Profibus module driver class header file.
Control board P015.09 CB STM32F429 on-chip CAN1 hardware driver header file.
STM32F429 CPU class header file.
ConOpSys command manager class header file.
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
Control board P015.09 CB STM32F429 on-chip ETHERNET hardware driver header file.
Event manager class header file.
NVRAM chip FM25V02 hardware driver class header file.
Control board P015.09 CB FPGA hardware driver header file.
Function block manager class header file.
STM32F429 heap class header file.
TSPI4_P015_09_CB object_System_SPI3
TWDT_STM32F429 object_System_Watchdog_Timer
TRTC_STM32F429 object_System_RTC
TSTACK_STM32F429 object_System_STACK
TSPI5_P015_09_CB object_System_SPI1
THEAP_STM32F429 object_System_HEAP
VOID High_Precision_Timer_Interrupt_Handler()
VOID System_Timer_Interrupt_Handler()
TCPU_STM32F429 object_System_CPU
TTIMER2_STM32F429 object_Delay_Timer
TProtocol_Base * object_System_Terminal
TSPI_Master_Base * object_System_SPI2
TTarget_P015_09_V1_0 object_Target
TSYSTICK_STM32F429 object_System_Timer
TLED_P015_09_CB object_System_LED
Control board P015.09 CB on-board system LED hardware driver header file.
STM32F429 on-chip NVIC module class header file.
VOID FPGA_Interrupt_Handler()
Definition: P013_35_V1_3_CPU.cpp:117
Control board P015.09 V1.0 hardware driver header file.
ConOpSys parameter database manager class header file.
Communication protocol ANVILEX master over UART class header file.
Communication protocol ANVILEX over UART class header file.
Communication protocol ANVILEX over UART class header file.
Communication protocol CANopen over CAN class header file.
Communication protocol IP over Ethernet class header file.
Communication protocol MODBUS RTU over UART class header file.
Dummy communication protocol over UART class header file.
STM32F429 on-chip RTC module class header file.
SPI NAND FLASH memory chip S25FL512 hardware driver class header file.
Control board P015.09 CB STM32F429 on-chip SPI2 hardware driver header file.
Control board P015.09 CB STM32F429 on-chip SPI1 hardware driver header file.
Control board P015.09 CB STM32F429 on-chip SPI5 hardware driver header file.
STM32F429 stack class header file.
STM32F429 on-chip SYSTICK timer module class header file.
Signal recorder class header file.
Virtual communication link COM0 class header file.
TABCC_DPV1 object_ABCC
ABCC global object instance.
Definition: System_Resource.cpp:1452
TProtocol_PLUG_Over_UART object_Protocol_Over_COM0
Definition: System_Resource.cpp:1177
TProtocol_CANopen_Slave_Over_CAN object_Protocol_Over_CAN
CANopen slave protocol over CAN global object instance.
Definition: System_Resource.cpp:1438
TCommand_Manager object_Command_Manager
Command manager global object instance.
Definition: System_Resource.cpp:1464
TProtocol_IP_Over_ETHERNET object_Protocol_Over_ETHERNET
IP protocol over ETHERNET global object instance.
Definition: System_Resource.cpp:1427
STM32F429 on-chip TIMER2 module class header file.
Control board P015.09 CB STM32F429 on-chip UART1 hardware driver header file.
Control board P015.09 CB STM32F429 on-chip UART6 hardware driver header file.
STM32F429 on-chip WTD module class header file.
Definition: ABCC_DPV1.h:111
STM32F429 on-chip CAN1 hardware abstraction layer class for P015.09 CB board.
Definition: CAN1_P015_09_CB.h:58
Virtual communication link COM0 class.
Definition: System_COM0.h:91
STM32F429 CPU hardware class.
Definition: CPU_STM32F429.h:69
ConOpSys terminal command manager class.
Definition: Command_Manager.h:86
STM32F429 on-chip Ethernet hardware abstraction layer class for P015_09_CB.
Definition: ETHERNET_P015_09_CB.h:98
Event manager class.
Definition: Event_Manager.h:70
FPGA hardware dependent driver class for P015_09_CB.
Definition: FPGA_P015_09_CB.h:78
STM32F429 heap class.
Definition: HEAP_STM32F429.h:63
P015.09 control board system LED class.
Definition: LED_P015_09_CB.h:58
Communication protocol ANVILEX master over UART class.
Definition: Protocol_ANVILEX_Master_Over_UART.h:62
Communication protocol ANVILEX over UART class.
Definition: Protocol_ANVILEX_Over_UART_V2.h:62
Communication protocol ANVILEX over UART class.
Definition: Protocol_ANVILEX_Over_UART.h:60
Definition: Protocol_Base.h:57
Communication protocol CANopen over CAN class.
Definition: Protocol_CANopen_Slave_Over_CAN.h:60
Communication protocol IP over ETHERNET class.
Definition: Protocol_IP_Over_ETHERNET.h:61
Communication protocol MODBUS RTU over UART class.
Definition: Protocol_MODBUS_Over_UART.h:82
Dummy communication protocol over UART class implementation.
Definition: Protocol_PLUG_Over_UART.h:54
STM32F429 RTC class.
Definition: RTC_STM32F429.h:71
NAND memory hardware driver.
Definition: S25FL512.h:62
On chip SPI4 bus master unit class.
Definition: SPI4_P015_09_CB.h:56
On chip SPI5 bus master unit class.
Definition: SPI5_P015_09_CB.h:56
SPI master base class.
Definition: SPI_Master_Base.h:58
STM32F429 stack class.
Definition: STACK_STM32F429.h:63
STM32F429 interval timer class.
Definition: SYSTICK_STM32F429.h:55
Signal recorder class.
Definition: Signal_Recorder.h:135
System timer class.
Definition: TIMER2_STM32F429.h:55
Target P017_39_KG3_CB_DEBUG class.
Definition: P015_09_V1_0.h:64
STM32F429 on-chip UART1 hardware abstraction layer class for P015_09_CB.
Definition: UART1_P015_09_CB.h:100
STM32F429 on-chip UART6 hardware abstraction layer class for P015_09_CB.
Definition: UART6_P015_09_CB.h:98
STM32F429 on-chip WDT module class.
Definition: WDT_STM32F429.h:70