Compiler-Warnings beim HEW

SIxO Sourcecode, Programmieren und Entwicklungswerkzeuge allgemein
Antworten
Ulf
Beiträge: 6
Registriert: 17 Jul 2009 - 19:46

Compiler-Warnings beim HEW

Beitrag von Ulf » 18 Aug 2009 - 12:58

Hallo

Ich weis, das gehört vermutlich in den Software-Teil, aber da darf ich leider kein Thema eröffnen. Weil ich einen anderen Temperatursensor nehme, würde ich gern eine eigene Lookuptabelle einfügen. Dazu habe ich mir die HEW von Renesas besorgt und mit ein paar Holprigkeiten bekomme ich das jetzt auch durchcompiliert. Nur zwei Warnings sind noch übrig, für die ich fragen wollte, ob das später mal Probleme machen könnte:

in display.h ist folgende union drin
typedef union{
UINT32 dword;
struct{
unsigned char ContrLev:6; //lcd contrast level (valid 0..63)
unsigned char ResB:1; //currently unused bits
unsigned char fDplInvers:1; //lcd invers mode switch ON/OFF flag
unsigned char BacklLev:6; //lcd backlight level (valid 0..63)
unsigned char reserved:2; //
unsigned char BacklOnLevel:3; // lumination level for auto backlight turn on (0...7, 0=always off, 7=always on)
unsigned char ResB:5; // currently unused bits
unsigned char ResByte; // currently unused byte
}flags;
}DPLFLAGS_TYPE;
hier mault der Compiler, daß ResB zwei mal definiert wird und desshalb beim zweiten mal ignoriert wird.

Dann wäre da noch in testdev.c folgedes Statement:
case MSG_KEY_DOWN:
wTestValue -= Test_ValueInkr(GivenMsg);
if (wTestValue < 0)
wTestValue = 0;
{
TestScreenShow(TRUE); }
break;

Die Variable wTestValue ist als UINT16 definiert, kann also nie negativ werden. Desshalb meint der Kompiler, daß die if-Abfrage immer false ist. Dann ist noch das in geschweiften Klammern, das immer durchlaufen wird und somit die Klammern eigentlich unnötig wären.

Gruß Ulf

Andreas
Beiträge: 32
Registriert: 04 Mai 2006 - 15:17
Wohnort: Scheuring

Software

Beitrag von Andreas » 19 Aug 2009 - 07:50

Hallo Ulf,
schicke doch Ralf mal die gleiche Mail. Ich denke er kann dir sicher helfen.

Gruß

Andreas

Arnold
Beiträge: 170
Registriert: 20 Feb 2004 - 11:26
Wohnort: Hannover
Kontaktdaten:

Beitrag von Arnold » 19 Aug 2009 - 08:17

Hi Ulf,

gut, dass du dich traust Hand an die Software zu legen ;-)

- Die ResB sind nur Platzhalter. Nenn sie einfach ResB1 und ResB2.

- Bei dem "negativen" UINT16 ist wohl was schief gelaufen. Das sollte umgebaut werden. Überblicke ich so nicht. Evtl. kann Ralf weiterhelfen.

- Er ist gerade an der Software dran. Die Klammern sind unnötig. Die Warning kannst du erstmal ignorieren.

Deine Hinweise fließen in die nächste Softwareversion mit ein.

Gruß,
Arnold

Ralf
Beiträge: 564
Registriert: 20 Feb 2004 - 11:27
Wohnort: Hannover

Beitrag von Ralf » 19 Aug 2009 - 16:06

Hi Ulf,

sitze gerade in Stuttgart im Cafe. Schaue mir das heute abend an.

Schön dass du dich für die SW interessierst (gibt nicht viele deiner Art).
:-)

Werde dich in die Entwicklergruppe aufnehmen, dann hast du Vollzugriff im Forum.

Die Fehler sind eher harmlos, Arnold hat schon recht.
Mit dem alten NC30 erscheinen sie übrigens nbicht.

Bis dann,
Ralf

Ralf
Beiträge: 564
Registriert: 20 Feb 2004 - 11:27
Wohnort: Hannover

Beitrag von Ralf » 19 Aug 2009 - 21:51

Hi Ulf,

habe diesen Thread nach 'Software' verschoben und dich in Gruppe 'Entwickler' aufgenommen. Willkommen! :D
hier mault der Compiler, daß ResB zwei mal definiert wird und desshalb beim zweiten mal ignoriert wird.
Erstaunlich, dass der alte NC30 das nicht angeckert. Ich habe den Code geändert, wird in der nächsten Version so enthalten sein:

Code: Alles auswählen

typedef union{
    UINT32 dword;
    struct{
        unsigned char ContrLev:6;       //lcd contrast level (valid 0..63)
        unsigned char res_a:1;          //currently unused bits
        unsigned char fDplInvers:1;     //lcd invers mode switch ON/OFF flag

        unsigned char BacklLev:6;       //lcd backlight level (valid 0..63)
        unsigned char res_b:2;          //currently unused bits

        unsigned char BacklOnLevel:3;   // lumination level for auto backlight turn on (0...7, 0=always off, 7=always on)
        unsigned char res_c:5;          // currently unused bits

        unsigned char res_d;            // currently unused bits
    }flags;
}DPLFLAGS_TYPE;
Dann wäre da noch in testdev.c folgedes Statement:
Die Zeilen gibt es in der aktuellen Version nicht mehr. Ich habe das 'testdevice' gründlich überarbeitet, um neue Controls testen zu können.

Ich habe in den letzten Wochen ne Menge neuen Code geschrieben, vor allem um die Einstellungen besser zu gestalten. Es wäre also gut, wenn du dich im Moment ganz auf die neue LookupTable konzentrieren könntest - die wohl auch viele anderen AT(?) Fahrer erfreuen würde! :-) Dann würde das Mergen danach nicht sehr fallen.

Wenn du noch viel mehr beitragen möchtest 8) , können wir dir auch einen CVS-Zugang bei Sourceforge einrichten.

Ich könnte dir auch den aktuellen SnapShot aus meiner Sandbox geben, den ich demnächst bei SourceForge einchecken werden, wenn du ihn haben möchtest.
Dazu habe ich mir die neue HEW von Renesas besorgt und mit ein paar Holprigkeiten bekomme ich das jetzt auch durchcompiliert.
Wir haben leider keine Lizenz für die neue IDE 'HEW', nur für den alten NC30/ToolManager, sonst hätten wir das auch schon im CVS. Unabh. davon könnte die HEW-Projektdatei im CVS zusätzlich eingecheckt werden, damit nicht andere das gleiche einrichten müssen, was du schon längst vorbereitet hast. Wenn du magst, kannst du mir bei Ende deiner Arbeiten mal das Projekt als ZIP senden, und ich checke die HEW-Project-Files ein.

Bye, Ralf

Ulf
Beiträge: 6
Registriert: 17 Jul 2009 - 19:46

Beitrag von Ulf » 20 Aug 2009 - 16:00

Hallo

Das geht ja alles zackig hier. Sogar den Beitrag ist schon umgezogen :D . So, ich habe jetzt mal die Tabelle für den internen Sensor (ist von Reichelt und war das einzige Teil, daß mir gefehlt hat) gemacht und kompiliert. Das paßt schon mal.
Der externe Öltemp. Sensor ist dann als nächstes dran. Da ist ein Gerät samt Sensor vom Conrad drin, meine Elefant hatte den nicht serienmäßig. Ich muß mal suchen ob ich da nochdatzen dazu finde ...
Apropos Elefant, da muß ich natürlich auch noch das unwichtige Logo :wink: anpassen. Für die Huski ist es ja freundlicherweise schon drin. Damit ich auch immer weis, auf welchem Mopped ich gerade sitze ...

Die Temperatur-Sensoren werden ja vermutlich Quell ständiger Anpassungen sein. Könnte man die Lookup-Tabellen evtl. als include-Dateien aus der anain.c auslagern ? Dann müßte man die nicht bei jeder neuen Version reineditieren.

Überhaupt muß ich auch mal ein Lob los werden. Ihr habt da wirklich klasse Arbeit geleistet und daß freundlicherweise die FW auch noch offen ist, macht das ganze noch viiiieeel besser.

Gruß Ulf

Antworten