Test
Dependencies: mbed-dev-OS5_10_4
MySources/OpenIni.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 | ------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 3 | Programm Name: OpenIni.CPP |
kevman | 0:014fad4dfb9d | 4 | Version: 1.0 |
kevman | 0:014fad4dfb9d | 5 | Sprache: C |
kevman | 0:014fad4dfb9d | 6 | Compiler: MBED |
kevman | 0:014fad4dfb9d | 7 | Autor: PS |
kevman | 0:014fad4dfb9d | 8 | Copyright: PS |
kevman | 0:014fad4dfb9d | 9 | |
kevman | 0:014fad4dfb9d | 10 | |
kevman | 0:014fad4dfb9d | 11 | Funktion: Oeffnen die zusätzliche Ini-Datei. Falls nicht vorhanden, |
kevman | 0:014fad4dfb9d | 12 | Basisinitialisierung. |
kevman | 0:014fad4dfb9d | 13 | ------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 14 | */ |
kevman | 0:014fad4dfb9d | 15 | /* |
kevman | 0:014fad4dfb9d | 16 | ------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 17 | Zuordnung der Konfigurationsvariablen. Folgende Informationen sollten verarbeitet |
kevman | 0:014fad4dfb9d | 18 | werden: 08.01.2008 |
kevman | 0:014fad4dfb9d | 19 | Diese Ini-Datei soll so gestaltet sein, daß Zeilen angehängt werden können. |
kevman | 0:014fad4dfb9d | 20 | Zunächst sollen folgende Inhalte aufgenommen werden: |
kevman | 0:014fad4dfb9d | 21 | 1. Seriennummer des Potentiostaten |
kevman | 0:014fad4dfb9d | 22 | 2. Lizenznummer der Software |
kevman | 0:014fad4dfb9d | 23 | 3. Revisionsnummer der Software |
kevman | 0:014fad4dfb9d | 24 | 4. Offsetkorrekturwert für die Analogausgabe |
kevman | 0:014fad4dfb9d | 25 | 5. Netzwerkadresse z.B. 192.168.2.99 |
kevman | 0:014fad4dfb9d | 26 | |
kevman | 0:014fad4dfb9d | 27 | |
kevman | 0:014fad4dfb9d | 28 | ------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 29 | */ |
kevman | 0:014fad4dfb9d | 30 | /*------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 31 | -------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 32 | #include "Headers.h" |
kevman | 0:014fad4dfb9d | 33 | |
kevman | 0:014fad4dfb9d | 34 | /*------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 35 | Variablen für die Ini-Datei |
kevman | 0:014fad4dfb9d | 36 | -------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 37 | |
kevman | 0:014fad4dfb9d | 38 | // 0 1 2 3 4 5 6 7 8 9 10 11 |
kevman | 0:014fad4dfb9d | 39 | /*char *Key[34] = {"DEV_TYP", "POT_CODE", "SER_NR", "LZ_NR", "REV_NR", "IP_ADR", "SUB_NET", "GATEWAY", "HOST_IP", "PORT_NO", \ |
kevman | 0:014fad4dfb9d | 40 | "EXT_START", "SEXT_CHN_NR", "RPM_OFFSET", "RPM_SCALE", "AO_SCALE", "AO_OFFSET", "RE_INIT", "NR_OFF", |
kevman | 0:014fad4dfb9d | 41 | "A0_OFFSET", "A1_OFFSET", "A2_OFFSET", "A3_OFFSET", "A4_OFFSET", "A5_OFFSET", "A6_OFFSET", "A7_OFFSET", |
kevman | 0:014fad4dfb9d | 42 | "A0_SCALE", "A1_SCALE", "A2_SCALE", "A3_SCALE", "A4_SCALE", "A5_SCALE", "A6_SCALE", "A7_SCALE" |
kevman | 0:014fad4dfb9d | 43 | }; // bis hier 93 |
kevman | 0:014fad4dfb9d | 44 | */ |
kevman | 0:014fad4dfb9d | 45 | // Zeile = 50, Spalte = 16 |
kevman | 0:014fad4dfb9d | 46 | char IniKey[50][16]; |
kevman | 0:014fad4dfb9d | 47 | |
kevman | 0:014fad4dfb9d | 48 | |
kevman | 0:014fad4dfb9d | 49 | int posKey, posEqual, posValueEnd; |
kevman | 0:014fad4dfb9d | 50 | |
kevman | 0:014fad4dfb9d | 51 | int (*KeyPtr[])(char *) = {DecDevTyp, DecPotCode, DecSerNr, DecLzNr,DecRevNr, DecIpAddr, DecSubNet, DecGateway, DecHostIp, DecPortNo, \ |
kevman | 0:014fad4dfb9d | 52 | DecExtStart, DecSextChnNr, DecRpmOffset, DecRpmScale, DecAoScale, DecAoOffset,DecReInit, DecNrOff, |
kevman | 0:014fad4dfb9d | 53 | DecU0Offset, DecU1Offset, DecU2Offset, DecU3Offset, DecU4Offset, DecU5Offset, DecU6Offset, DecU7Offset, |
kevman | 0:014fad4dfb9d | 54 | DecU0Scale, DecU1Scale, DecU2Scale, DecU3Scale, DecU4Scale, DecU5Scale, DecU6Scale, DecU7Scale |
kevman | 0:014fad4dfb9d | 55 | }; |
kevman | 0:014fad4dfb9d | 56 | |
kevman | 0:014fad4dfb9d | 57 | |
kevman | 0:014fad4dfb9d | 58 | /*------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 59 | SetIniKey: Beschreiben der Felder mit den INiKeys |
kevman | 0:014fad4dfb9d | 60 | -------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 61 | void SetIniKey() |
kevman | 0:014fad4dfb9d | 62 | { |
kevman | 0:014fad4dfb9d | 63 | int i; |
kevman | 0:014fad4dfb9d | 64 | |
kevman | 0:014fad4dfb9d | 65 | i = 0; |
kevman | 0:014fad4dfb9d | 66 | strcpy(IniKey[i++], "DEV_TYP"); |
kevman | 0:014fad4dfb9d | 67 | strcpy(IniKey[i++], "POT_CODE"); |
kevman | 0:014fad4dfb9d | 68 | strcpy(IniKey[i++], "SER_NR"); |
kevman | 0:014fad4dfb9d | 69 | strcpy(IniKey[i++], "LZ_NR"); |
kevman | 0:014fad4dfb9d | 70 | strcpy(IniKey[i++], "REV_NR"); |
kevman | 0:014fad4dfb9d | 71 | strcpy(IniKey[i++], "IP_ADR"); |
kevman | 0:014fad4dfb9d | 72 | strcpy(IniKey[i++], "SUB_NET"); |
kevman | 0:014fad4dfb9d | 73 | strcpy(IniKey[i++], "GATEWAY"); |
kevman | 0:014fad4dfb9d | 74 | strcpy(IniKey[i++], "HOST_IP"); |
kevman | 0:014fad4dfb9d | 75 | strcpy(IniKey[i++], "PORT_NO"); |
kevman | 0:014fad4dfb9d | 76 | |
kevman | 0:014fad4dfb9d | 77 | strcpy(IniKey[i++], "EXT_START"); |
kevman | 0:014fad4dfb9d | 78 | strcpy(IniKey[i++], "SEXT_CHN_NR"); |
kevman | 0:014fad4dfb9d | 79 | strcpy(IniKey[i++], "RPM_OFFSET"); |
kevman | 0:014fad4dfb9d | 80 | strcpy(IniKey[i++], "RPM_SCALE"); |
kevman | 0:014fad4dfb9d | 81 | strcpy(IniKey[i++], "AO_SCALE"); |
kevman | 0:014fad4dfb9d | 82 | strcpy(IniKey[i++], "AO_OFFSET"); |
kevman | 0:014fad4dfb9d | 83 | strcpy(IniKey[i++], "RE_INIT"); |
kevman | 0:014fad4dfb9d | 84 | strcpy(IniKey[i++], "NR_OFF"); |
kevman | 0:014fad4dfb9d | 85 | strcpy(IniKey[i++], "A0_OFFSET"); |
kevman | 0:014fad4dfb9d | 86 | strcpy(IniKey[i++], "A1_OFFSET"); |
kevman | 0:014fad4dfb9d | 87 | strcpy(IniKey[i++], "A2_OFFSET"); |
kevman | 0:014fad4dfb9d | 88 | strcpy(IniKey[i++], "A3_OFFSET"); |
kevman | 0:014fad4dfb9d | 89 | strcpy(IniKey[i++], "A4_OFFSET"); |
kevman | 0:014fad4dfb9d | 90 | strcpy(IniKey[i++], "A5_OFFSET"); |
kevman | 0:014fad4dfb9d | 91 | strcpy(IniKey[i++], "A6_OFFSET"); |
kevman | 0:014fad4dfb9d | 92 | strcpy(IniKey[i++], "A7_OFFSET"); |
kevman | 0:014fad4dfb9d | 93 | strcpy(IniKey[i++], "A0_SCALE"); |
kevman | 0:014fad4dfb9d | 94 | strcpy(IniKey[i++], "A1_SCALE"); |
kevman | 0:014fad4dfb9d | 95 | strcpy(IniKey[i++], "A2_SCALE"); |
kevman | 0:014fad4dfb9d | 96 | strcpy(IniKey[i++], "A3_SCALE"); |
kevman | 0:014fad4dfb9d | 97 | strcpy(IniKey[i++], "A4_SCALE"); |
kevman | 0:014fad4dfb9d | 98 | strcpy(IniKey[i++], "A5_SCALE"); |
kevman | 0:014fad4dfb9d | 99 | strcpy(IniKey[i++], "A6_SCALE"); |
kevman | 0:014fad4dfb9d | 100 | strcpy(IniKey[i++], "A7_SCALE"); |
kevman | 0:014fad4dfb9d | 101 | } |
kevman | 0:014fad4dfb9d | 102 | |
kevman | 0:014fad4dfb9d | 103 | /*------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 104 | Datei öffnen |
kevman | 0:014fad4dfb9d | 105 | -------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 106 | int OpenIni() |
kevman | 0:014fad4dfb9d | 107 | { |
kevman | 0:014fad4dfb9d | 108 | int i,j,Ret; |
kevman | 0:014fad4dfb9d | 109 | char strKeyCode[64]; |
kevman | 0:014fad4dfb9d | 110 | char strValue[128]; |
kevman | 0:014fad4dfb9d | 111 | |
kevman | 0:014fad4dfb9d | 112 | |
kevman | 0:014fad4dfb9d | 113 | InitDefault(); // vor den Lesen defautl initialisieren |
kevman | 0:014fad4dfb9d | 114 | #ifdef SINGLE_DEBUG |
kevman | 0:014fad4dfb9d | 115 | printf("Nach InitDfault\n"); |
kevman | 0:014fad4dfb9d | 116 | #endif |
kevman | 0:014fad4dfb9d | 117 | |
kevman | 0:014fad4dfb9d | 118 | if(g_SdInitSuccess == false) // wenn SD Karte nicht vorhanden, retour |
kevman | 0:014fad4dfb9d | 119 | { |
kevman | 0:014fad4dfb9d | 120 | #ifdef SINGLE_DEBUG |
kevman | 0:014fad4dfb9d | 121 | printf("SD Card not present\n"); |
kevman | 0:014fad4dfb9d | 122 | #endif |
kevman | 0:014fad4dfb9d | 123 | } |
kevman | 0:014fad4dfb9d | 124 | |
kevman | 0:014fad4dfb9d | 125 | Ret = clSdCard.OpenFile(FileNames.IniFileName, FileNames.FileReadMode); |
kevman | 0:014fad4dfb9d | 126 | |
kevman | 0:014fad4dfb9d | 127 | if(Ret == false) |
kevman | 0:014fad4dfb9d | 128 | { |
kevman | 0:014fad4dfb9d | 129 | WriteIni(); // Default erzeugen |
kevman | 0:014fad4dfb9d | 130 | return(false); // öffnen der Inidatei hat nicht geklappt |
kevman | 0:014fad4dfb9d | 131 | } |
kevman | 0:014fad4dfb9d | 132 | |
kevman | 0:014fad4dfb9d | 133 | do |
kevman | 0:014fad4dfb9d | 134 | { |
kevman | 0:014fad4dfb9d | 135 | Ret = clSdCard.ReadLine(strFileRwBuf, FILE_RW_BUF_LEN); |
kevman | 0:014fad4dfb9d | 136 | if(Ret > 0) // es sind Zeichen im Puffer |
kevman | 0:014fad4dfb9d | 137 | { |
kevman | 0:014fad4dfb9d | 138 | #ifdef SINGLE_DEBUG |
kevman | 0:014fad4dfb9d | 139 | // printf("Buf: %s\n",strFileRwBuf); |
kevman | 0:014fad4dfb9d | 140 | #endif |
kevman | 0:014fad4dfb9d | 141 | for(i=0;i<Ret;i++) |
kevman | 0:014fad4dfb9d | 142 | { |
kevman | 0:014fad4dfb9d | 143 | if( (strFileRwBuf[i] == 0x0A) || (strFileRwBuf[i] == 0x0D)) |
kevman | 0:014fad4dfb9d | 144 | { |
kevman | 0:014fad4dfb9d | 145 | strFileRwBuf[i] = 0x00; |
kevman | 0:014fad4dfb9d | 146 | i = Ret; |
kevman | 0:014fad4dfb9d | 147 | } |
kevman | 0:014fad4dfb9d | 148 | else if(strFileRwBuf[i] == 0x2C) // Komma |
kevman | 0:014fad4dfb9d | 149 | strFileRwBuf[i] = 0x2E; // in Punkt |
kevman | 0:014fad4dfb9d | 150 | } |
kevman | 0:014fad4dfb9d | 151 | i = 0; |
kevman | 0:014fad4dfb9d | 152 | while( (i < 64) && (strFileRwBuf[i] != '=') ) |
kevman | 0:014fad4dfb9d | 153 | { |
kevman | 0:014fad4dfb9d | 154 | strKeyCode[i] = strFileRwBuf[i]; |
kevman | 0:014fad4dfb9d | 155 | i++; |
kevman | 0:014fad4dfb9d | 156 | } |
kevman | 0:014fad4dfb9d | 157 | strKeyCode[i] = 0x00; |
kevman | 0:014fad4dfb9d | 158 | i++; |
kevman | 0:014fad4dfb9d | 159 | while( (strFileRwBuf[i] == ' ') && (i < 100) ) |
kevman | 0:014fad4dfb9d | 160 | i++; |
kevman | 0:014fad4dfb9d | 161 | strcpy(strValue,&strFileRwBuf[i]); |
kevman | 0:014fad4dfb9d | 162 | |
kevman | 0:014fad4dfb9d | 163 | //printf("KeyCode: %s Value: %s\n", strKeyCode, strValue); |
kevman | 0:014fad4dfb9d | 164 | for(j = 0;j< ANZ_KEY;j++) |
kevman | 0:014fad4dfb9d | 165 | { |
kevman | 0:014fad4dfb9d | 166 | if(strcmp(strKeyCode, IniKey[j]) == 0) // die Strings stimmen überein |
kevman | 0:014fad4dfb9d | 167 | { |
kevman | 0:014fad4dfb9d | 168 | (*KeyPtr[j])((char *)(strValue)); |
kevman | 0:014fad4dfb9d | 169 | j = ANZ_KEY; |
kevman | 0:014fad4dfb9d | 170 | } |
kevman | 0:014fad4dfb9d | 171 | } |
kevman | 0:014fad4dfb9d | 172 | } |
kevman | 0:014fad4dfb9d | 173 | } |
kevman | 0:014fad4dfb9d | 174 | while(Ret > 0); |
kevman | 0:014fad4dfb9d | 175 | clSdCard.CloseFile(); |
kevman | 0:014fad4dfb9d | 176 | EcmIni.fCfgExists = true; |
kevman | 0:014fad4dfb9d | 177 | if(EcmIni.nReInit == 1) |
kevman | 0:014fad4dfb9d | 178 | { |
kevman | 0:014fad4dfb9d | 179 | EcmIni.nReInit = 0; |
kevman | 0:014fad4dfb9d | 180 | InitDefault(); |
kevman | 0:014fad4dfb9d | 181 | WriteIni(); // Default erzeugen |
kevman | 0:014fad4dfb9d | 182 | } |
kevman | 0:014fad4dfb9d | 183 | |
kevman | 0:014fad4dfb9d | 184 | |
kevman | 0:014fad4dfb9d | 185 | return(true); |
kevman | 0:014fad4dfb9d | 186 | } |
kevman | 0:014fad4dfb9d | 187 | |
kevman | 0:014fad4dfb9d | 188 | /*------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 189 | Defaultwerte für die Inivariablen setzten |
kevman | 0:014fad4dfb9d | 190 | -------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 191 | int InitDefault() |
kevman | 0:014fad4dfb9d | 192 | { |
kevman | 0:014fad4dfb9d | 193 | int i; |
kevman | 0:014fad4dfb9d | 194 | |
kevman | 0:014fad4dfb9d | 195 | strcpy(EcmIni.DevTyp,"RPA-Device"); // Gerätetyp des Gerätes |
kevman | 0:014fad4dfb9d | 196 | strcpy(EcmIni.DevSio,"200_xxx"); // Seriennummer des Gerätes |
kevman | 0:014fad4dfb9d | 197 | strcpy(EcmIni.SwLizenz,"20000_xxx"); // Lizenznummer der Software |
kevman | 0:014fad4dfb9d | 198 | strcpy(EcmIni.SwRev,SW_REV); // Revisionsnummer der Software |
kevman | 0:014fad4dfb9d | 199 | strcpy(EcmIni.IpAddress,"192.168.2.1"); // meine IP-Adresse für Netzwerkbetrieb |
kevman | 0:014fad4dfb9d | 200 | strcpy(EcmIni.SubNet,"255.255.255.0"); // IP-Adresse für Netzwerkbetrieb |
kevman | 0:014fad4dfb9d | 201 | strcpy(EcmIni.Gateway,"0.0.0.0"); // IP-Adresse für Netzwerkbetrieb |
kevman | 0:014fad4dfb9d | 202 | strcpy(EcmIni.HostIp,"192.168.2.8"); // IP-Adresse für Netzwerkbetrieb |
kevman | 0:014fad4dfb9d | 203 | |
kevman | 0:014fad4dfb9d | 204 | EcmIni.nPotCode = 1; // default PGU, Jaissle ist 0x00, 71 ist PGU-Stack |
kevman | 0:014fad4dfb9d | 205 | EcmIni.nExtStart = 0; // default kein externen Start |
kevman | 0:014fad4dfb9d | 206 | EcmIni.nSExtChnNr = 0x00; // default Kanalnummer 0 für externen Start |
kevman | 0:014fad4dfb9d | 207 | EcmIni.nPortNr = 4000; // Default 4000 |
kevman | 0:014fad4dfb9d | 208 | EcmIni.dbRpmOffset = 0.0; // Offsetkorrektur für die Anzeige Drehzahl |
kevman | 0:014fad4dfb9d | 209 | EcmIni.dbRpmScale = 1.0; // Skalierungswert fuer die Anzeige Drehzahl |
kevman | 0:014fad4dfb9d | 210 | EcmIni.dbAoScale = 13.107; // Skalierungswert fuer den Analogausgang |
kevman | 0:014fad4dfb9d | 211 | EcmIni.dbAoOffset = 0.0; // Offset fuer den Analogausgang |
kevman | 0:014fad4dfb9d | 212 | EcmIni.nReInit = 0; // Flag für Reinitialisierung |
kevman | 0:014fad4dfb9d | 213 | EcmIni.nNrOff = 0; // Ausschalten der Drehzahlnachführung |
kevman | 0:014fad4dfb9d | 214 | for(i=0;i<8;i++) |
kevman | 0:014fad4dfb9d | 215 | { |
kevman | 0:014fad4dfb9d | 216 | EcmIni.dbUOffset[i] = 0.0; |
kevman | 0:014fad4dfb9d | 217 | EcmIni.dbUScale[i] = 1.0; |
kevman | 0:014fad4dfb9d | 218 | } |
kevman | 0:014fad4dfb9d | 219 | return(true); |
kevman | 0:014fad4dfb9d | 220 | } |
kevman | 0:014fad4dfb9d | 221 | |
kevman | 0:014fad4dfb9d | 222 | /*------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 223 | Datei speichern |
kevman | 0:014fad4dfb9d | 224 | -------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 225 | int WriteIni() |
kevman | 0:014fad4dfb9d | 226 | { |
kevman | 0:014fad4dfb9d | 227 | int Ret,i, j; |
kevman | 0:014fad4dfb9d | 228 | |
kevman | 0:014fad4dfb9d | 229 | |
kevman | 0:014fad4dfb9d | 230 | if(g_SdInitSuccess == false) // wenn SD Karte nicht vorhanden, retour |
kevman | 0:014fad4dfb9d | 231 | { |
kevman | 0:014fad4dfb9d | 232 | #ifdef TFT_DEBUG |
kevman | 0:014fad4dfb9d | 233 | // printf("SD Card not present\n"); |
kevman | 0:014fad4dfb9d | 234 | #endif |
kevman | 0:014fad4dfb9d | 235 | return(false); |
kevman | 0:014fad4dfb9d | 236 | } |
kevman | 0:014fad4dfb9d | 237 | |
kevman | 0:014fad4dfb9d | 238 | Ret = clSdCard.OpenFile(FileNames.IniFileName, FileNames.FileWriteMode); |
kevman | 0:014fad4dfb9d | 239 | |
kevman | 0:014fad4dfb9d | 240 | if(Ret == false) |
kevman | 0:014fad4dfb9d | 241 | return(false); // öffnen der Datei hat nicht geklappt |
kevman | 0:014fad4dfb9d | 242 | |
kevman | 0:014fad4dfb9d | 243 | i= 0; |
kevman | 0:014fad4dfb9d | 244 | // Methode CI |
kevman | 0:014fad4dfb9d | 245 | |
kevman | 0:014fad4dfb9d | 246 | |
kevman | 0:014fad4dfb9d | 247 | |
kevman | 0:014fad4dfb9d | 248 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.DevTyp); clSdCard.WriteLine(); i++; // DEV_TYP |
kevman | 0:014fad4dfb9d | 249 | sprintf(clSdCard.cSdLine, "%s=%d\r\n", IniKey[i],EcmIni.nPotCode); clSdCard.WriteLine(); i++; // POT_CODE |
kevman | 0:014fad4dfb9d | 250 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.DevSio); clSdCard.WriteLine(); i++; // SER_NR |
kevman | 0:014fad4dfb9d | 251 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.SwLizenz); clSdCard.WriteLine(); i++; // LZ_NR |
kevman | 0:014fad4dfb9d | 252 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.SwRev); clSdCard.WriteLine(); i++; // REV_NR |
kevman | 0:014fad4dfb9d | 253 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.IpAddress); clSdCard.WriteLine(); i++; // IP_ADR |
kevman | 0:014fad4dfb9d | 254 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.SubNet); clSdCard.WriteLine(); i++; // SUB_NET |
kevman | 0:014fad4dfb9d | 255 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.Gateway); clSdCard.WriteLine(); i++; // GATEWAY |
kevman | 0:014fad4dfb9d | 256 | sprintf(clSdCard.cSdLine, "%s=%s\r\n", IniKey[i],EcmIni.HostIp); clSdCard.WriteLine(); i++; // HOST_IP |
kevman | 0:014fad4dfb9d | 257 | sprintf(clSdCard.cSdLine, "%s=%d\r\n", IniKey[i],EcmIni.nPortNr); clSdCard.WriteLine(); i++; // PORT_NO |
kevman | 0:014fad4dfb9d | 258 | sprintf(clSdCard.cSdLine, "%s=%d\r\n", IniKey[i],EcmIni.nExtStart); clSdCard.WriteLine(); i++; // "EXT_START |
kevman | 0:014fad4dfb9d | 259 | sprintf(clSdCard.cSdLine, "%s=%d\r\n", IniKey[i],EcmIni.nSExtChnNr); clSdCard.WriteLine(); i++; // "SEXT_CHN_NR |
kevman | 0:014fad4dfb9d | 260 | sprintf(clSdCard.cSdLine, "%s=%f\r\n", IniKey[i],EcmIni.dbRpmOffset); clSdCard.WriteLine(); i++; // |
kevman | 0:014fad4dfb9d | 261 | sprintf(clSdCard.cSdLine, "%s=%f\r\n", IniKey[i],EcmIni.dbRpmScale); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 262 | sprintf(clSdCard.cSdLine, "%s=%f\r\n", IniKey[i],EcmIni.dbAoScale); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 263 | sprintf(clSdCard.cSdLine, "%s=%f\r\n", IniKey[i],EcmIni.dbAoOffset); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 264 | sprintf(clSdCard.cSdLine, "%s=%d\r\n", IniKey[i],EcmIni.nReInit); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 265 | sprintf(clSdCard.cSdLine, "%s=%d\r\n", IniKey[i],EcmIni.nNrOff); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 266 | |
kevman | 0:014fad4dfb9d | 267 | for(i=0, j=18;i<8;i++, j++) |
kevman | 0:014fad4dfb9d | 268 | sprintf(clSdCard.cSdLine, "%s=%f\r\n", IniKey[j],EcmIni.dbUOffset[i]); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 269 | for(i=0, j=26;i<8;i++, j++) |
kevman | 0:014fad4dfb9d | 270 | sprintf(clSdCard.cSdLine, "%s=%f\r\n", IniKey[j],EcmIni.dbUScale[i]); clSdCard.WriteLine(); i++; |
kevman | 0:014fad4dfb9d | 271 | |
kevman | 0:014fad4dfb9d | 272 | clSdCard.CloseFile(); |
kevman | 0:014fad4dfb9d | 273 | return(true); |
kevman | 0:014fad4dfb9d | 274 | |
kevman | 0:014fad4dfb9d | 275 | } |
kevman | 0:014fad4dfb9d | 276 | |
kevman | 0:014fad4dfb9d | 277 | |
kevman | 0:014fad4dfb9d | 278 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 279 | // DecDevTyp: Decodieren des Gerätetyps |
kevman | 0:014fad4dfb9d | 280 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 281 | int DecDevTyp(char *Line) |
kevman | 0:014fad4dfb9d | 282 | { |
kevman | 0:014fad4dfb9d | 283 | strcpy(EcmIni.DevTyp,Line); |
kevman | 0:014fad4dfb9d | 284 | #ifdef TFT_DEBUG |
kevman | 0:014fad4dfb9d | 285 | printf("DevTyp: %s\n", EcmIni.DevTyp); |
kevman | 0:014fad4dfb9d | 286 | #endif |
kevman | 0:014fad4dfb9d | 287 | return(true); |
kevman | 0:014fad4dfb9d | 288 | } |
kevman | 0:014fad4dfb9d | 289 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 290 | // DecPotCode: Decodieren |
kevman | 0:014fad4dfb9d | 291 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 292 | int DecPotCode(char *Line) |
kevman | 0:014fad4dfb9d | 293 | { EcmIni.nPotCode = atoi(Line); return(true); } |
kevman | 0:014fad4dfb9d | 294 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 295 | // Dec |
kevman | 0:014fad4dfb9d | 296 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 297 | int DecSerNr(char *Line) |
kevman | 0:014fad4dfb9d | 298 | { strcpy(EcmIni.DevSio,Line); return(true); } |
kevman | 0:014fad4dfb9d | 299 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 300 | // Dec |
kevman | 0:014fad4dfb9d | 301 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 302 | int DecLzNr(char *Line) |
kevman | 0:014fad4dfb9d | 303 | { strcpy(EcmIni.SwLizenz,Line); return(true); } |
kevman | 0:014fad4dfb9d | 304 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 305 | // Dec |
kevman | 0:014fad4dfb9d | 306 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 307 | int DecRevNr(char *Line) |
kevman | 0:014fad4dfb9d | 308 | { strcpy(EcmIni.SwRev,Line); return(true); } |
kevman | 0:014fad4dfb9d | 309 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 310 | // Dec |
kevman | 0:014fad4dfb9d | 311 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 312 | int DecIpAddr(char *Line) |
kevman | 0:014fad4dfb9d | 313 | { strcpy(EcmIni.IpAddress,Line); return(true); } |
kevman | 0:014fad4dfb9d | 314 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 315 | // Dec |
kevman | 0:014fad4dfb9d | 316 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 317 | int DecSubNet(char *Line) |
kevman | 0:014fad4dfb9d | 318 | { strcpy(EcmIni.SubNet,Line); return(true); } |
kevman | 0:014fad4dfb9d | 319 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 320 | // Dec |
kevman | 0:014fad4dfb9d | 321 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 322 | int DecGateway(char *Line) |
kevman | 0:014fad4dfb9d | 323 | { strcpy(EcmIni.Gateway,Line); return(true); } |
kevman | 0:014fad4dfb9d | 324 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 325 | // Dec |
kevman | 0:014fad4dfb9d | 326 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 327 | int DecHostIp(char *Line) |
kevman | 0:014fad4dfb9d | 328 | { strcpy(EcmIni.HostIp,Line); return(true); } |
kevman | 0:014fad4dfb9d | 329 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 330 | // Dec |
kevman | 0:014fad4dfb9d | 331 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 332 | int DecPortNo(char *Line) |
kevman | 0:014fad4dfb9d | 333 | { EcmIni.nPortNr = atoi(Line); return(true); } |
kevman | 0:014fad4dfb9d | 334 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 335 | // Dec |
kevman | 0:014fad4dfb9d | 336 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 337 | int DecExtStart(char *Line) |
kevman | 0:014fad4dfb9d | 338 | { EcmIni.nExtStart = atoi(Line); return(true); } |
kevman | 0:014fad4dfb9d | 339 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 340 | // Dec |
kevman | 0:014fad4dfb9d | 341 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 342 | int DecSextChnNr(char *Line) |
kevman | 0:014fad4dfb9d | 343 | { EcmIni.nSExtChnNr = atoi(Line); return(true); } |
kevman | 0:014fad4dfb9d | 344 | |
kevman | 0:014fad4dfb9d | 345 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 346 | // Dec |
kevman | 0:014fad4dfb9d | 347 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 348 | int DecRpmOffset(char *Line) |
kevman | 0:014fad4dfb9d | 349 | { EcmIni.dbRpmOffset = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 350 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 351 | // Dec |
kevman | 0:014fad4dfb9d | 352 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 353 | int DecRpmScale(char *Line) |
kevman | 0:014fad4dfb9d | 354 | { EcmIni.dbRpmScale = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 355 | |
kevman | 0:014fad4dfb9d | 356 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 357 | // Dec |
kevman | 0:014fad4dfb9d | 358 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 359 | int DecAoScale(char *Line) |
kevman | 0:014fad4dfb9d | 360 | { EcmIni.dbAoScale = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 361 | |
kevman | 0:014fad4dfb9d | 362 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 363 | // Dec |
kevman | 0:014fad4dfb9d | 364 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 365 | int DecReInit(char *Line) |
kevman | 0:014fad4dfb9d | 366 | { EcmIni.nReInit = atoi(Line); return(true); } |
kevman | 0:014fad4dfb9d | 367 | |
kevman | 0:014fad4dfb9d | 368 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 369 | // Dec |
kevman | 0:014fad4dfb9d | 370 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 371 | int DecNrOff(char *Line) |
kevman | 0:014fad4dfb9d | 372 | { EcmIni.nNrOff = atoi(Line); return(true); } |
kevman | 0:014fad4dfb9d | 373 | |
kevman | 0:014fad4dfb9d | 374 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 375 | // Dec |
kevman | 0:014fad4dfb9d | 376 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 377 | int DecAoOffset(char *Line) |
kevman | 0:014fad4dfb9d | 378 | { EcmIni.dbAoOffset = atof(Line); |
kevman | 0:014fad4dfb9d | 379 | return(true); |
kevman | 0:014fad4dfb9d | 380 | } |
kevman | 0:014fad4dfb9d | 381 | |
kevman | 0:014fad4dfb9d | 382 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 383 | // Dec |
kevman | 0:014fad4dfb9d | 384 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 385 | int DecU0Offset(char *Line) |
kevman | 0:014fad4dfb9d | 386 | { EcmIni.dbUOffset[0] = atof(Line); |
kevman | 0:014fad4dfb9d | 387 | EcmIni.dbUOffset[0] *= 838860.; |
kevman | 0:014fad4dfb9d | 388 | return(true); |
kevman | 0:014fad4dfb9d | 389 | } |
kevman | 0:014fad4dfb9d | 390 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 391 | // Dec |
kevman | 0:014fad4dfb9d | 392 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 393 | int DecU1Offset(char *Line) |
kevman | 0:014fad4dfb9d | 394 | { EcmIni.dbUOffset[1] = atof(Line); |
kevman | 0:014fad4dfb9d | 395 | EcmIni.dbUOffset[1] *= 838860.; |
kevman | 0:014fad4dfb9d | 396 | return(true); |
kevman | 0:014fad4dfb9d | 397 | } |
kevman | 0:014fad4dfb9d | 398 | |
kevman | 0:014fad4dfb9d | 399 | |
kevman | 0:014fad4dfb9d | 400 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 401 | // Dec |
kevman | 0:014fad4dfb9d | 402 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 403 | int DecU2Offset(char *Line) |
kevman | 0:014fad4dfb9d | 404 | { EcmIni.dbUOffset[2] = atof(Line); |
kevman | 0:014fad4dfb9d | 405 | EcmIni.dbUOffset[2] *= 838860.; |
kevman | 0:014fad4dfb9d | 406 | return(true); |
kevman | 0:014fad4dfb9d | 407 | } |
kevman | 0:014fad4dfb9d | 408 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 409 | // Dec |
kevman | 0:014fad4dfb9d | 410 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 411 | int DecU3Offset(char *Line) |
kevman | 0:014fad4dfb9d | 412 | { EcmIni.dbUOffset[3] = atof(Line); |
kevman | 0:014fad4dfb9d | 413 | EcmIni.dbUOffset[3] *= 838860.; |
kevman | 0:014fad4dfb9d | 414 | return(true); |
kevman | 0:014fad4dfb9d | 415 | } |
kevman | 0:014fad4dfb9d | 416 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 417 | // Dec |
kevman | 0:014fad4dfb9d | 418 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 419 | int DecU4Offset(char *Line) |
kevman | 0:014fad4dfb9d | 420 | { EcmIni.dbUOffset[4] = atof(Line); |
kevman | 0:014fad4dfb9d | 421 | EcmIni.dbUOffset[4] *= 838860.; |
kevman | 0:014fad4dfb9d | 422 | return(true); |
kevman | 0:014fad4dfb9d | 423 | } |
kevman | 0:014fad4dfb9d | 424 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 425 | // Dec |
kevman | 0:014fad4dfb9d | 426 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 427 | int DecU5Offset(char *Line) |
kevman | 0:014fad4dfb9d | 428 | { EcmIni.dbUOffset[5] = atof(Line); |
kevman | 0:014fad4dfb9d | 429 | EcmIni.dbUOffset[5] *= 838860.; |
kevman | 0:014fad4dfb9d | 430 | return(true); |
kevman | 0:014fad4dfb9d | 431 | } |
kevman | 0:014fad4dfb9d | 432 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 433 | // Dec |
kevman | 0:014fad4dfb9d | 434 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 435 | int DecU6Offset(char *Line) |
kevman | 0:014fad4dfb9d | 436 | { EcmIni.dbUOffset[6] = atof(Line); |
kevman | 0:014fad4dfb9d | 437 | EcmIni.dbUOffset[6] *= 838860.; |
kevman | 0:014fad4dfb9d | 438 | return(true); |
kevman | 0:014fad4dfb9d | 439 | } |
kevman | 0:014fad4dfb9d | 440 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 441 | // Dec |
kevman | 0:014fad4dfb9d | 442 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 443 | int DecU7Offset(char *Line) |
kevman | 0:014fad4dfb9d | 444 | { EcmIni.dbUOffset[7] = atof(Line); |
kevman | 0:014fad4dfb9d | 445 | EcmIni.dbUOffset[7] *= 838860.; |
kevman | 0:014fad4dfb9d | 446 | return(true); |
kevman | 0:014fad4dfb9d | 447 | } |
kevman | 0:014fad4dfb9d | 448 | |
kevman | 0:014fad4dfb9d | 449 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 450 | // Dec |
kevman | 0:014fad4dfb9d | 451 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 452 | int DecU0Scale(char *Line) |
kevman | 0:014fad4dfb9d | 453 | { EcmIni.dbUScale[0] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 454 | |
kevman | 0:014fad4dfb9d | 455 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 456 | // Dec |
kevman | 0:014fad4dfb9d | 457 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 458 | int DecU1Scale(char *Line) |
kevman | 0:014fad4dfb9d | 459 | { EcmIni.dbUScale[1] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 460 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 461 | // Dec |
kevman | 0:014fad4dfb9d | 462 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 463 | int DecU2Scale(char *Line) |
kevman | 0:014fad4dfb9d | 464 | { EcmIni.dbUScale[2] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 465 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 466 | // Dec |
kevman | 0:014fad4dfb9d | 467 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 468 | int DecU3Scale(char *Line) |
kevman | 0:014fad4dfb9d | 469 | { EcmIni.dbUScale[3] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 470 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 471 | // Dec |
kevman | 0:014fad4dfb9d | 472 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 473 | int DecU4Scale(char *Line) |
kevman | 0:014fad4dfb9d | 474 | { EcmIni.dbUScale[4] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 475 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 476 | // Dec |
kevman | 0:014fad4dfb9d | 477 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 478 | int DecU5Scale(char *Line) |
kevman | 0:014fad4dfb9d | 479 | { EcmIni.dbUScale[5] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 480 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 481 | // Dec |
kevman | 0:014fad4dfb9d | 482 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 483 | int DecU6Scale(char *Line) |
kevman | 0:014fad4dfb9d | 484 | { EcmIni.dbUScale[6] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 485 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 486 | // Dec |
kevman | 0:014fad4dfb9d | 487 | //-------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 488 | int DecU7Scale(char *Line) |
kevman | 0:014fad4dfb9d | 489 | { EcmIni.dbUScale[7] = atof(Line); return(true); } |
kevman | 0:014fad4dfb9d | 490 | |
kevman | 0:014fad4dfb9d | 491 | |
kevman | 0:014fad4dfb9d | 492 | |
kevman | 0:014fad4dfb9d | 493 |