[Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Zur Sicherheit: Hab 5 Warnings wegen unsafe-Funktionen in VS2010
An 2 Stellen ließe sich relativ leicht Schadcode durch die Datei einschleusen :devil:

Noch ein Tipp: Zur Optimierung der Lese-Performance solltest du den Lesepuffer auf die Clustergröße deiner Platte/Partition anpassen. Windows mit NTFS ist da mit einem Vielfachen von 4k (also 4096) zufrieden :D
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Sry.. Doppelpost o0

Hallo Bingo, kurze Frage wie hast du den Code ausprobiert? Da ist noch ein Fehler drin der mir auch nicht direkt aufgefallen wäre. Schau die mal am Ende der erste Schleife an, was mit dem Dateipointer passiert.;)
Das fclose ist außerhalb der ersten Schleife, falls du das meinst? Ich habe die ganze Funktion gepostet, daher sind da noch zwei {} mehr...
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Das fclose ist außerhalb der ersten Schleife, falls du das meinst? Ich habe die ganze Funktion gepostet, daher sind da noch zwei {} mehr...
Ok, übersehen! Aber dann gibtst du immer nur die letzte Zeile in der Datei aus. ;)

Zu den Sicherheitsbedenken muss man eh nichts sagen. Das ganze Funktioniert ja schon nicht, wenn man da nur ein , in den FP Werten weg läst. ;)
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Ahja, dann müsste das printf() noch nach oben. Hab das nur schnell zusammengeschustert, nebenbei auch noch nen netten Bug eingebaut (immer strtok(buf, ";") aufgerufen, d. h. der hat immer von vorne angefangen :ugly: )
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Hehe, hab auch nur schnell zusammen geklickt und probiert. Muss noch viel geändert werden, aber ich denke mit dem kann er jetzt weiter arbeiten. Aber das Debugen muss er definitiv noch üben!:daumen:
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Noch ein Tipp zum Abschluss des Tages. L.B.

Code:
[FONT=Consolas]*(strchr(token, [SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]','[/SIZE][/SIZE][/SIZE][SIZE=2][SIZE=2])) = [/SIZE][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'.'[/SIZE][/SIZE][/SIZE][/FONT][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE]
Diese Zeilen (hast die zwei mal im Code) werden zum Problem wenn kein ',' im Token ist. Dann gibt strchr ein NULL zurück was sofort zum Absturz der Anwendung führt. Da musste noch mal was korrigieren. ;) Hätte ich ja machen können, aber ich war wohl zu faul.
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Noch ein Tipp zum Abschluss des Tages. L.B.

Code:
[FONT=Consolas]*(strchr(token, [SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]','[/SIZE][/SIZE][/SIZE][SIZE=2][SIZE=2])) = [/SIZE][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]'.'[/SIZE][/SIZE][/SIZE][/FONT][SIZE=2][FONT=Consolas][SIZE=2];[/SIZE][/FONT][/SIZE]
Diese Zeilen (hast die zwei mal im Code) werden zum Problem wenn kein ',' im Token ist. Dann gibt strchr ein NULL zurück was sofort zum Absturz der Anwendung führt. Da musste noch mal was korrigieren. ;) Hätte ich ja machen können, aber ich war wohl zu faul.
Jap, hab ich auch irgendwo geschrieben. Da war dann auch mein bereits angesprochener Bug eingebaut, im Datum kam nämlich kein , vor :ugly:
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Pah, wer macht sich denn über sowas Gedanken :P

Eigentlich sollte man auch strtod verwenden und nicht atof, da man bei atof nicht zwischen einer 0 als eingabe und einer 0 als Fehlerrückgabe unterscheiden kann.
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Meiner Meinug nach ist die Performance unseres Programmes schon ziemlich gut und ich glaube kaum, dass jemand Interesse daran hat, eine Datenauswertung für Temperturen und Lüfterdrehzahlen zu hacken. :ugly: Deshalb ist es in erster Linie wichtig, dass das Programm einfach nur funktioniert. :D
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Sag mal, ist eine Dateibasierte Schnittstelle die einzige Möglochkeit an die Daten zu bekommen? Ich würde gerne für mein nächstes Projekt eine Wasserkühlung in betracht ziehen, aber das muss sich besser auslesen und überwachen oder sogar Steuern lassen.
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Die gesamte Steuerung übernimmt die Software des Heatmasters: Aquatuning - Der Wasserkühlung Vollsortimenter - Alphacool Heatmaster Alphacool Heatmaster 70125 (Heute gibt es sogar 10% Rabatt auf den HM ;))

Hätte man den Quellcode der Software, ließe sich die Aufnahmen der Messwerte mit Sicherheit auch noch optimieren und von der Log-Datei lösen. Allerdings war Alphacool nicht bereit, den Code herauszugeben, was ich aber auch verstehen kann.

Unsere Software dient in erster Linie ja dazu, die Messwerte an das LCD weiterzusenden.
Dehalb denke ich, wäre es sinnvoll, dass wir uns zuerst mit der Ausgabe auf dem LCD beschäftigen. Dazu wird das Programm LCD Hype verwendet, für das ein Plugin geschrieben werden muss. (s. einige Seiten weiter vorne)
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Auch wenn es hier derzeit ein bisschen ruhig ist, habe ich das Programmieren längst nicht aufgegeben. Ich habe von einem Freund ein gutes Buch zu C bekommen, sodass ich mir zurzeit ein bisschen mehr Grundwissen aneigne. Dann sollten meine Programme demnächst auch ein wenig funktioneller und praktischer sein. :D
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Ich mache programmiertechnisch Fortschritte und habe Einiges programmiert und gelernt. :) Demnächst werde ich mich dann wieder mit dem Programm befassen.

Momentan beschäftige ich mich mit dynamischer Speicherverwaltung, dazu gibt es auch ein Programm im Anhang.
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Entschuldige, aber welchen Sinn verfolgst du mit diesen Programm? :huh: Und eine Sache hast du noch nicht verinnerlicht. Du musst die Rückgabe einer Funktion prüfen, das ist besonders bei Dynamischen Speicher sehr sehr wichtig!:devil:
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Entschuldige, aber welchen Sinn verfolgst du mit diesen Programm? :huh:

Das Program dient nur der Übung. Mir ist klar, dass man mit dem Programm an sich nicht viel anfangen kann.

Und eine Sache hast du noch nicht verinnerlicht. Du musst die Rückgabe einer Funktion prüfen, das ist besonders bei Dynamischen Speicher sehr sehr wichtig!:devil:

Wie sähe das dann aus?
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Alles was von malloc zurückgeben wird, erst mal gegen null prüfen. ;)

Wenn malloc null zurück gibt, dann konnte kein Speicher reserviert werden und ein Zugriff würde unweigerlich zum Absturz der Anwendung führen.
 
AW: [Projekt] Messdatenverarbeitung für den Alphacool Heatmaster

Ach so, kein Problem. Gibt es eine Möglichkeit, bei der Eingabe zu überprüfen, ob die Eingabe außerhalb des Wertebereichs von bspw. int liegt? Wenn ich nämlich 10000000000000 eingebe, wird ein undefinierter Wert zurückgegeben und das Programm stürtzt ab.
 
Zurück