Test
Dependencies: mbed-dev-OS5_10_4
MySources/InitMain.cpp@0:014fad4dfb9d, 2020-08-07 (annotated)
- Committer:
- kevman
- Date:
- Fri Aug 07 07:24:21 2020 +0000
- Revision:
- 0:014fad4dfb9d
Test
Who changed what in which revision?
User | Revision | Line number | New 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 |