Test

Dependencies:   mbed-dev-OS5_10_4

Committer:
kevman
Date:
Fri Aug 07 07:24:21 2020 +0000
Revision:
0:014fad4dfb9d
Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevman 0:014fad4dfb9d 1 /*-------------------------------------------------------------------------------
kevman 0:014fad4dfb9d 2 Programm Name: InitMain.C
kevman 0:014fad4dfb9d 3 Version: 1.0
kevman 0:014fad4dfb9d 4 Sprache: C++
kevman 0:014fad4dfb9d 5 Compiler: mbed
kevman 0:014fad4dfb9d 6 Autor: PS
kevman 0:014fad4dfb9d 7 Copyright: PS
kevman 0:014fad4dfb9d 8
kevman 0:014fad4dfb9d 9
kevman 0:014fad4dfb9d 10 Funktion: Macht alle notwendigen Initialisierungen
kevman 0:014fad4dfb9d 11 04.08.2016: Projekt: EcmComFrdm
kevman 0:014fad4dfb9d 12 -------------------------------------------------------------------------------*/
kevman 0:014fad4dfb9d 13 #include "Headers.h"
kevman 0:014fad4dfb9d 14
kevman 0:014fad4dfb9d 15
kevman 0:014fad4dfb9d 16 // Globale Variablen fuer Main
kevman 0:014fad4dfb9d 17
kevman 0:014fad4dfb9d 18 // int g_nMainCounter;
kevman 0:014fad4dfb9d 19 bool m_fAutoStart;
kevman 0:014fad4dfb9d 20
kevman 0:014fad4dfb9d 21 // bool m_fDoCheckIRange;
kevman 0:014fad4dfb9d 22
kevman 0:014fad4dfb9d 23 // PwmOut PwmTest(PTA0);
kevman 0:014fad4dfb9d 24 bool m_fTimeAlternate; // wird fuer die Anfrage der Zeit in Sekunden genommen
kevman 0:014fad4dfb9d 25 bool g_fEnableTftIrq; // wird zur Bearbeitung de TFT Irq's genommen
kevman 0:014fad4dfb9d 26 bool g_fOnDuringInit;
kevman 0:014fad4dfb9d 27
kevman 0:014fad4dfb9d 28 /*-------------------------------------------------------------------------------
kevman 0:014fad4dfb9d 29 Main Init.
kevman 0:014fad4dfb9d 30 -------------------------------------------------------------------------------*/
kevman 0:014fad4dfb9d 31 int InitMain()
kevman 0:014fad4dfb9d 32 {
kevman 0:014fad4dfb9d 33
kevman 0:014fad4dfb9d 34 m_fAutoStart = false;
kevman 0:014fad4dfb9d 35 g_fDoDioReInit = false;
kevman 0:014fad4dfb9d 36 m_fTimeAlternate = false;
kevman 0:014fad4dfb9d 37 g_fOnDuringInit = true;
kevman 0:014fad4dfb9d 38
kevman 0:014fad4dfb9d 39 #ifdef TOUCH_DISPLAY
kevman 0:014fad4dfb9d 40 // g_fEnableTftIrq = false;
kevman 0:014fad4dfb9d 41 g_iMethCCActive = false;
kevman 0:014fad4dfb9d 42 g_fTimerIsRunning = false;
kevman 0:014fad4dfb9d 43 #endif
kevman 0:014fad4dfb9d 44 EcmIni.nAnzChannel = 8;
kevman 0:014fad4dfb9d 45 MVars.nAnzPot = 1; // nur 1 Pot.
kevman 0:014fad4dfb9d 46
kevman 0:014fad4dfb9d 47 InitInterface();
kevman 0:014fad4dfb9d 48 printf("Init Interface done.\n");
kevman 0:014fad4dfb9d 49
kevman 0:014fad4dfb9d 50 SetTimerInterrupt(1);
kevman 0:014fad4dfb9d 51 printf("Timer started.\n");
kevman 0:014fad4dfb9d 52 if (InitGlobals() == true) // noch kein Zugriff auf die A/D Wandler
kevman 0:014fad4dfb9d 53 {
kevman 0:014fad4dfb9d 54 printf("Global Values initialized.\n");
kevman 0:014fad4dfb9d 55 g_RCodeStartUp |= 0x01;
kevman 0:014fad4dfb9d 56 }
kevman 0:014fad4dfb9d 57 else
kevman 0:014fad4dfb9d 58 printf("Error on init Global Values. \n");
kevman 0:014fad4dfb9d 59
kevman 0:014fad4dfb9d 60 if (InitSdFileSystem() == true)
kevman 0:014fad4dfb9d 61 {
kevman 0:014fad4dfb9d 62 printf("SD-Filesystem initialized.\n");
kevman 0:014fad4dfb9d 63 g_RCodeStartUp |= 0x02;
kevman 0:014fad4dfb9d 64 }
kevman 0:014fad4dfb9d 65 else
kevman 0:014fad4dfb9d 66 printf("Error on init SD-Filesystem. \n");
kevman 0:014fad4dfb9d 67
kevman 0:014fad4dfb9d 68 if (OpenIni() == true)
kevman 0:014fad4dfb9d 69 {
kevman 0:014fad4dfb9d 70 printf("IniFile read sucessful.\n");
kevman 0:014fad4dfb9d 71 g_RCodeStartUp |= 0x04;
kevman 0:014fad4dfb9d 72 }
kevman 0:014fad4dfb9d 73 else
kevman 0:014fad4dfb9d 74 printf("Error on open Ini-File. \n");
kevman 0:014fad4dfb9d 75
kevman 0:014fad4dfb9d 76 OpenDevIni();
kevman 0:014fad4dfb9d 77 printf("DevIniFile read sucessful.\n");
kevman 0:014fad4dfb9d 78
kevman 0:014fad4dfb9d 79 if (InitDio() == true)
kevman 0:014fad4dfb9d 80 {
kevman 0:014fad4dfb9d 81 printf("Digital I/O initialized.\n");
kevman 0:014fad4dfb9d 82 g_RCodeStartUp |= 0x08;
kevman 0:014fad4dfb9d 83 }
kevman 0:014fad4dfb9d 84 else
kevman 0:014fad4dfb9d 85 printf("Error on init Digital I/O. \n");
kevman 0:014fad4dfb9d 86
kevman 0:014fad4dfb9d 87 #ifndef PGU_RPA
kevman 0:014fad4dfb9d 88 if (InitMethGlobals() == true) //
kevman 0:014fad4dfb9d 89 {
kevman 0:014fad4dfb9d 90 printf("Global Method values initialized.\n");
kevman 0:014fad4dfb9d 91 g_RCodeStartUp |= 0x10;
kevman 0:014fad4dfb9d 92 }
kevman 0:014fad4dfb9d 93 else
kevman 0:014fad4dfb9d 94 printf("Error on init Global Method values. \n");
kevman 0:014fad4dfb9d 95
kevman 0:014fad4dfb9d 96 InitAutoStart(); // Autostartdatei lesen
kevman 0:014fad4dfb9d 97 printf("Auto-Start initialized.\n");
kevman 0:014fad4dfb9d 98 #endif
kevman 0:014fad4dfb9d 99 #ifdef TOUCH_DISPLAY
kevman 0:014fad4dfb9d 100 if (InitTftGlobals() == true) // 2016-03-31 UFa; Initialisierung der TftGlobals Variablen
kevman 0:014fad4dfb9d 101 g_RCodeStartUp |= 0x18;
kevman 0:014fad4dfb9d 102 #endif
kevman 0:014fad4dfb9d 103 #ifndef PGU_RPA
kevman 0:014fad4dfb9d 104 if (InitFkt() == true)
kevman 0:014fad4dfb9d 105 {
kevman 0:014fad4dfb9d 106 printf("Scanner initialized.\n");
kevman 0:014fad4dfb9d 107 g_RCodeStartUp |= 0x20;
kevman 0:014fad4dfb9d 108 }
kevman 0:014fad4dfb9d 109 else
kevman 0:014fad4dfb9d 110 printf("Error on init Scanner. \n");
kevman 0:014fad4dfb9d 111 #endif
kevman 0:014fad4dfb9d 112 if (InitDac() == true)
kevman 0:014fad4dfb9d 113 {
kevman 0:014fad4dfb9d 114 printf("DAC initialized.\n");
kevman 0:014fad4dfb9d 115 g_RCodeStartUp |= 0x40;
kevman 0:014fad4dfb9d 116 }
kevman 0:014fad4dfb9d 117 else
kevman 0:014fad4dfb9d 118 printf("Error on init DAC. \n");
kevman 0:014fad4dfb9d 119
kevman 0:014fad4dfb9d 120 #ifdef ADC_24BIT
kevman 0:014fad4dfb9d 121 if (InitSpiAd() == true) // Setzt den Mode vom ADC Irq
kevman 0:014fad4dfb9d 122 {
kevman 0:014fad4dfb9d 123 printf("24 Bit ADC initialized.\n");
kevman 0:014fad4dfb9d 124 g_RCodeStartUp |= 0x80;
kevman 0:014fad4dfb9d 125 }
kevman 0:014fad4dfb9d 126 else
kevman 0:014fad4dfb9d 127 printf("Error on init 24 Bit ADC. \n");
kevman 0:014fad4dfb9d 128
kevman 0:014fad4dfb9d 129 #endif
kevman 0:014fad4dfb9d 130 // SwitchRangesOnStart(); //UFa 2017-05-23 -- > IRange.RangeValue[0] wird uad 0 gesetzt;
kevman 0:014fad4dfb9d 131
kevman 0:014fad4dfb9d 132 #ifdef TOUCH_DISPLAY
kevman 0:014fad4dfb9d 133 DefineTouchInt(); // 2016-03-07 UFa: Touch Interrupts Definition
kevman 0:014fad4dfb9d 134
kevman 0:014fad4dfb9d 135 DispInit2Screen();
kevman 0:014fad4dfb9d 136
kevman 0:014fad4dfb9d 137
kevman 0:014fad4dfb9d 138 TftDecodeChannel(1); // Initialer Aufruf, da Para = 1
kevman 0:014fad4dfb9d 139
kevman 0:014fad4dfb9d 140 TftDisp.fMeasureRunning = false; // initial, es l�uft keine aktive Messung
kevman 0:014fad4dfb9d 141 TftDisp.fPguTouchActive = true; // initial, PguTouch ist via TFT bedienbar
kevman 0:014fad4dfb9d 142
kevman 0:014fad4dfb9d 143 g_ToCallScreen = 0;
kevman 0:014fad4dfb9d 144 DispMainScreenStatic();
kevman 0:014fad4dfb9d 145 DispMainScreenDynamic();
kevman 0:014fad4dfb9d 146 #endif
kevman 0:014fad4dfb9d 147
kevman 0:014fad4dfb9d 148 #ifdef ADC_24BIT
kevman 0:014fad4dfb9d 149 AdReset();
kevman 0:014fad4dfb9d 150 InitSpiAd(); // definiert die Irq's, der CallBack ist aber noch nicht scharf
kevman 0:014fad4dfb9d 151 Ad7739Init(0); // macht den kompletten Registerinit der ADC's
kevman 0:014fad4dfb9d 152 printf("Nach Ad7739 Init\n");
kevman 0:014fad4dfb9d 153
kevman 0:014fad4dfb9d 154 #ifdef PGU_STAND_ALONE
kevman 0:014fad4dfb9d 155 SetAdIrq(); // macht den Interrupt scharf
kevman 0:014fad4dfb9d 156 DoAdStart();
kevman 0:014fad4dfb9d 157 #endif
kevman 0:014fad4dfb9d 158 #endif
kevman 0:014fad4dfb9d 159
kevman 0:014fad4dfb9d 160 g_fOnDuringInit = false;
kevman 0:014fad4dfb9d 161 return(true);
kevman 0:014fad4dfb9d 162 }
kevman 0:014fad4dfb9d 163