Forum: Compiler & IDEs Frust mit CAN-Lib


von flyingwolf (Gast)


Lesenswert?

Hallo Leute.
Ich progammiere jetzt seit Monaten an dieser verflixten CAN -
Schnittstelle rum und habe mich des AVR-Beispiels bedient, es für GCC
umgeschieben und versucht zu verstehen, was darin vorgeht.
Inzwischen habe ich festgestellt, dass die Funktion zig Dinge nicht
tut, die sie sollte. Heute habe ich ein Beispiel selbst geschrieben und
es funktioniert. Kann es sein, dass diese beigestellten Libs, nicht nur
lausig dokumentiert, sondern auch lausig programmiert sind? Hat jemand
ähnliche Erfahrungen gemacht oder bin ich wieder mal nur zu doof es
richtig anzuwenden?

von Alex (Gast)


Lesenswert?

Sei doch bitte konstruktiv und veröffentliche die "Fehler" bzw.
Merkwürdigkeiten, die dir aufgefallen sind.

von flyingwolf (Gast)


Lesenswert?

Nun, ich möchte nur ungern jemandem Fehler nachsagen. Immerhin habe ich
bis heute nicht rausbekommen, was das Programm macht und wie man es
benutzt. Mir ist nur aufgefallen, dass es z.B. die Möglichkeit gibt,
einem zu senden String ein ID mit auf den Weg zu geben. Bei der
vorgefertigten Leseroutine habe ich aber die Einstellung zum ID-Check
nicht gefunden und in der selbstgestrickten leseroutine kam nicht die
gewünschte ID raus. Also habe ich 4 Strings mit 4 IDs senden lassen und
mir immer vor dem senden die 4 ID-Register angeschaut und festgestellt,
dass die ID ein Zufallswert war, wovon ich glaube dass das nun nicht
mehr an mir gelegen haben kann.
Ich habe halt diverse Fehler in der Doku des Proz gefunden, die mich
Wochen gekostet haben und in dem 2. Beispiel von AVR, welches ein
Freund für mich zur Benutzung mit GCC umgeschrieben hat, zeigte der
Interruptverktor ins Nirvana. Es kann die Software also nie getestet
worden sein. Ähnliches habe ich bei einem publizierten ct-Projekt
festgestellt. Jetzt frage ich mich, ob das erste Beispiel vieleicht
auch mit der heißen Nadel gestrickt wurde und vor der Publizierung nie
auch nur in die nähe des Can-Cntrollers gekommen ist.
Immerhin experimentiere ich seit 8 Wochen mit diesen fertigen Routinen
rum ohne auf einen grünen Zweig zu kommen und meine lausige
selbststrickware funzt auf Anhieb wie gewünscht.

von Stefan Kleinwort (Gast)


Lesenswert?

"habe mich des AVR-Beispiels bedient"

Welches meinst Du bitte damit genau?
Bei Atmel gibts die "AT90CAN128 Software Library", ist vielleicht
diese gemeint?

"Ähnliches habe ich bei einem publizierten ct-Projekt"

Nochmal: welches genau? Ein ordentlicher Link hilft allen, die hier
mitlesen beim Suchen und Raten.

"Ich habe halt diverse Fehler in der Doku des Proz gefunden"

Entweder es sind Denkfehler von Dir. Dann wird Dir SO niemand
weiterhelfen können. Oder es sind wirklich Fehler des Proc, dann hilft
Deine Aussage niemandem, den Fehler zu umgehen, und auch Atmel nicht,
den Fehler zu beheben. Nochmal: sei bitte exakt. Habe dieselben
Ansprüche an Dich, wie Du sie an die Autoren der Doku und des Source
hast!

Beim Programmieren wirst Du auch nicht glücklich werden, wenn Du so
unexakt arbeitest. Obwohl: vielleicht mal Fuzzy versuchen ...

Viele Grüße, Stefan

von Peter Dannegger (Gast)


Lesenswert?

"Sei doch bitte konstruktiv"

Sehe ich auch so, anstatt immer nur Wischiwaschi.


Wie wärs erstmal mit dem CAN-Typ (SJA1000, MCP2515, CAN128) und dann
die Source als Anhang oder nen Link darauf ?

Und natürlich Deine Source und Kommentare, wo Du denn Fehler vermutest
bzw. was Du wie verstanden zu haben glaubst.



Peter

von flyingwolf (Gast)


Lesenswert?

mein konstruktiver Beitrag wird darin bestehen, meine Can-Routine,
sobald ich sie zufriedenstellend zusammengezaubert und getestet habe,
hier einzustellen, auf dass ihr Gurus mein Copy_and_Past_Coder - Werk
in der Luft zerreist.

von Guru (Gast)


Lesenswert?

CAN es sein, das du nur einen Wutzettel brauchst?

von flyingwolf (Gast)


Lesenswert?

nein, kein Wutzettel. Ich habe bloß ein Problem damit, mir vorzustellen,
dass die Treiber, Libs und Dokus heutzutage so oberflächlich erstellt
werden, dass sie vor der Publikation noch nicht einmal getestete
werden. Ich wollte eigentlich nur wissen, ob das Problem häufiger
Auftritt, oder ob ich das Problem bin. (Eine Frage die bisher noch
nicht geklärt wurde)
Ich finde den Fehler ja noch nicht einmal, weil (Meine Meinung! >> )
dieses Zeug so unübersichtlich und sinnlos zusammnegezaubert ist, darum
kann ich hier ja auch nicht mit dem dicken Finger drauf zeigen und sagen
: Da Issa!  Ich merke nur die Auswirkungen und frage mich, was ich nun
wieder falsch gemacht habe.
Das mit den Gurus ist nicht zu Ernst zu nehmen, ich habe nichts gegen
Verbesserungspotential.
fw.

von OldBug (Gast)


Lesenswert?

Vielleicht stellst Du ja mal die "portierte" Library und einen Link
zur Original-Library in diesen Thread! Vielleicht hat ja auch
derjenige, der das Portiert hat, Bockmist gebaut...

von Peter Dannegger (Gast)


Lesenswert?

"oder ob ich das Problem bin. (Eine Frage die bisher noch nicht geklärt
wurde)"


Eine Frage die bisher noch nicht geklärt wurde, ist doch erstmal,
worüber Du überhaupt sprichst.

Du gehst ja nicht mal auf die Rückfragen ein.

Wie erwartest Du dann, daß sich jemand dazu äußern kann ?


In diesem Sinne gebe ich Dir recht, daß bisher Du das Problem bist.


Peter

von flyingwolf (Gast)


Angehängte Dateien:

Lesenswert?

Nun gut.
Im Anhang ist die umgezauberte und nicht funktionstüchtige LIB. mit all
ihren Auswüchsen und hier unten der Quell des Übels.

Ach ja. Der C ist ein AT90CAN128
http://www.atmel.com/dyn/resources/prod_documents/AT90CAN128_demo1_IAR.zip
http://www.atmel.com/dyn/resources/prod_documents/AT90CAN128_demo2_IAR.zip

@Peter
Nun, ich sehe noch nicht recht, wie das helfen soll, denn ich kann mir
nicht vorstellen, dass sich jetzt jemand ein Demo-Board mit AT90CAN128
aus der Rippe schneidet, die Software da rauftüdelt meine HAusaufgaben
macht und postst: "Ja, Du musst ja auch vorher ...
Na wie dem auch sei, ich hoffe nun ist alles beieinander ...

von Peter Dannegger (Gast)


Lesenswert?

"Nun, ich sehe noch nicht recht, wie das helfen soll, denn ich kann
mir
nicht vorstellen, dass sich jetzt jemand ein Demo-Board mit AT90CAN128
aus der Rippe schneidet, die Software da rauftüdelt meine HAusaufgaben
macht"


Hab ich auch nirgends nicht behauptet.

Aber die Leute, die den AT90CAN128 kennen und den IAR-Link gelesen
haben, können doch auch nicht hellsehen, daß Du diese gemeint hast oder
?

Aus den konfusen Texten vorher war es jedenfalls nicht zu entnehmen.

So müssen sich mögliche Antwortwillige erst bis ins 11.Posting
runterquälen.


Es gibt bestimmt tausende CAN-Libs weltweit und vielleicht 20..100
davon für den AVR.


Peter

von mthomas (Gast)


Lesenswert?

- AT90CAN128-Plugin zur Simulation in AVR-Studio mal ausprobiert? Damit
kann recht gut der Ablauf verfolgt werden und das CAN-Plugin liefert
auch Moeglichkeiten fuer "CAN-Message-Stimuli". Duefte beim Debuggen
hilfreich sein - war es zumindest "hier".
- eine Fehlerquelle mglw. ein inzwischen behobener Fehler einer
Bitdefintion in iocan128.h, aktuelle Version im avr-libc-cvs
- Diff. der Lib.-Anpassungen gegen das Atmel-Original bzw. Markierung
der gaenderten Quellzeilen wuerde helfen.
- Atmel hat mglw. eine aktuellere Library, die "Version 0.3" ist ja
schon etwas aelter, fragen bei avr at atmel dot com "kost' nix"
Leider "hier" immer noch keine Zeit zum Bau der Proto-Hardware zum
Test meiner gcc-Portierung, geschriebene Hinweise also nur vor dem
Hintergrund von zumindest "virtuell" erfolgreichen Tests mit dem
Simulator.

von flyingwolf (Gast)


Lesenswert?

...Duefte beim Debuggen hilfreich sein - war es zumindest "hier
Kann ich nicht mit um, gebe ich offen zu.
...Bitdefintion in iocan128.h,
die hab ich mir schon zur Brust genommen.
..."virtuell" erfolgreichen Tests mit dem
Simulator.
 Das ist zimlich genau das was ich vermute. Die zwei libs, die es gibt
sind nicht getestete Werkzeuge sondern mit der heißen Nadel am
Simulator gestrickte Tools zur Beruhigung der Massen und wer mehr will
als auf 2 Boards "Ping" und "Pong" ausgeben, der ist angeschmiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.