Opened 12 years ago
Closed 10 years ago
#50 closed Aufgabe (fixed)
SaveXVars?
| Reported by: | Melanie Hermann | Owned by: | Melanie Hermann |
|---|---|---|---|
| Priority: | mittelfristig | Milestone: | |
| Component: | Gesamtsystem | Version: | |
| Severity: | Aufgabe | Keywords: | |
| Cc: |
Description
SaveXVars?
Change History (17)
comment:1 by , 12 years ago
| Priority: | mittelfristig → sofort |
|---|
comment:3 by , 12 years ago
Bestehendes Problem:
Dadurch, dass kein XVar-CRC berechnet wird, werden auch die XVars nicht kontrolliert, die in einer Variante EVar oder BVar sind.
Dabei handelt es sich momentan um folgende Werte:
EA: ColumnMode
EA: GasAnalyzerTyp
EI: MessMethDownload
EI: MessMethUpload
EI: CpIPAddress
BI: BakeOutDuration
IE: SetCP4002ColumnPres
IE: DevCP4002ColumnPres
IE: DevCP4002ColumnTemp
IE: FactorSampletime
comment:4 by , 12 years ago
Anmerkung:
Die XVars werden aber trotzdem in eine separate Datei geschrieben. Denn sonst würden die Werte bei jedem Applikationswechsel verloren gehen, d.h. ihre Defaultwerte laden.
comment:5 by , 12 years ago
| Priority: | sofort → mittelfristig |
|---|
comment:7 by , 12 years ago
Idee:
Es könnten für jede Applikationsvariante (GC9300 und GC9300-CM) separate CONFIG-Dateien auf der SD-Karte abgelegt werden.
Somit könnten immer Files für folgende Variablenarten angelegt werden:
- 'E'
- 'Z'
- 'B'
- 'N'
- 'P'
- 'A'
- 'I'
Eine Datei für 'X' wäre nicht notwendig, da jede Variable in jeder Applikationsvariante zu einer Kategorie der oben genannten Variablenarten angehört.
comment:8 by , 12 years ago
Änderungen:
- Global.h:
- Pfad CONFIG_PATH geändert (\SDCard\config\GC9300)
- Neuen Pfad CONFIG_PATH_CM definiert (\SDCard\config\GC9300_CM)
- gcvars.cpp:
- WriteVars():
- Abfrage von GCVariante beim Setzen des Pfades
- WriteMacs():
- Abfrage von GCVariante beim Setzen des Pfades
- RestoreVars():
- Abfrage von GCVariante beim Setzen der Pfade
- WriteVars():
- Gc.cpp:
- CopyParaFiles():
- Abfrage von GCVariante beim Setzen des Pfades
- CopyParaFiles():
comment:9 by , 12 years ago
TODO:
Testen ob alle Vars erhalten bleiben und kein CRC-Hinweis kommt bei Applikationswechsel.
comment:10 by , 12 years ago
Ergebnis:
Bei Applikationswechsel kommen CRC-Hinweise.
Denn es müssen natürlich für CM separate CRCs im Ferroram abgelegt werden.
Allerdings werden die XVars so trotzdem nicht überwacht ...
comment:11 by , 12 years ago
Änderungen:
- mtx_tab.txt:
- GCVariante ist jetzt aVar und kein eVar mehr. Und besitzt keine Funktionen mehr.
- utils.cpp:
- CheckDils(): Abfrage von DIL-Schalter 3 und Setzen von GCVariante
- RestartDevice(): Bei Neustart des Geräts kein Setzen mehr von ServiceMode. Dieser wird bei jedem Applikationsstart gesetzt.
- gcvars.cpp:
- chk_GCVariante(): Entfernt.
- fkt_GCVariante(): Entfernt.
- SetAllVarsDefault(): Neue Funktion. Funktionalität wurde aus ReadVars() entnommen und in separate Funktion gepackt.
- WriteVars(): Unterscheidung von GC9300 und GC9300_CM.
- SaveBVars(): Unterscheidung von GC9300 und GC9300_CM.
- SaveEVars(): Unterscheidung von GC9300 und GC9300_CM.
- CheckCrcBVars(): Unterscheidung von GC9300 und GC9300_CM.
- CheckCrcEVars(): Unterscheidung von GC9300 und GC9300_CM.
- GcApp.cpp:
- InitInstance(): Aufruf der Funktion SetAllVarsDefault(). Aufruf von CheckDils() nach SetAllVarsDefault().
- Bios.h:
- FERRO_IDX_CRC_EVARS_CM definiert
- FERRO_IDX_CRC_BVARS_CM definiert
- CAN.cpp:
- ThreadFunc(): Neue cases FERRO_IDX_CRC_EVARS_CM und FERRO_IDX_CRC_BVARS_CM eingefügt.
comment:12 by , 12 years ago
TODO:
- Funktionalität testen.
- Überlegen wie XVars mitüberwacht werden könnten.
comment:13 by , 12 years ago
Änderungen:
- CONFIG_PATH_CM entfernt -> Beide Apps schreiben in gleiche Config-Dateien.
- FERRO_IDX_CRC_EVARS_CM entfernt -> Beide Apps nutzen gleichen EVars-CRC.
- FERRO_IDX_CRC_BVARS_CM entfernt -> Beide Apps nutzen gleichen BVars-CRC.
Es macht keinen Sinn die Evars, BVars, XVars, usw für jede App separat abzulegen und separate BVars-und EVars-CRCs zu berechnen, wenn dabei die XVars nicht einen separaten CRC o.Ä. erhalten.
Denn die CRCs der EVars und BVars stellen kein Problem dar. Diese produzieren beim Appwechsel auch keinen Hinweis.
Wenn es separate Config-Dateien geben soll, müssen diese auch separat erstellt werden zur Compilezeit. Dann darf es aber auch keine XVars mehr geben und alle Variablen müssen den EVars, usw. angehören.
comment:14 by , 12 years ago
Weiterhin bestehendes Problem:
Dadurch, dass kein XVars-CRC berechnet wird, werden auch die XVars nicht kontrolliert, die in einer Variante EVar oder BVar sind.
Dabei handelt es sich momentan um folgende Werte:
EA: ColumnMode
EA: GasAnalyzerTyp
EI: MessMethDownload
EI: MessMethUpload
EI: CpIPAddress
BI: BakeOutDuration
IE: SetCP4002ColumnPres
IE: DevCP4002ColumnPres
IE: DevCP4002ColumnTemp
IE: FactorSampletime
EA: MaxPauseTime
comment:15 by , 12 years ago
| Severity: | Zu prüfen → Aufgabe |
|---|
comment:16 by , 10 years ago
Nicht mehr nötig, da CompatibleMode eine eigene Version bekommt. Dadurch gibt es wie früher nur eine xs-Spalte und somit auch keine xVars mehr!
comment:17 by , 10 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Ergebnis:
Eine CRC-Berechnung für die XVars ist nicht möglich, da viele Werte der XVars zyklisch im Programm gesetzt werden.
Somit verändern sich die Werte ständig und die CRC-Prüfung würde fehlschlagen.
Änderungen: