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 -------------------------------------------------------------------------------
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