Pages: [1]   Go Down
Author Topic: Hilfestellkung bei einer Lib.  (Read 727 times)
0 Members and 1 Guest are viewing this topic.
AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1128
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe mir die MAX 72** Library angepasst damit man echtes SPI nutzen kann,(für den MAX7221) damit man das flacken der LED minimiert. Jetzt habe ich aber folgendes Problem. Wenn die Zeilen #include <SPI.h> bzw. #include "SPI.h" in den header mit reinbringe bekomme ich immer beim Komplieren des Fehler ähnlich "no such file in the directory", wenn ich jetzt die beiden Files der SPI Lib mit in meinen Ordner packe kann ich ohne Fehler komplieren. Hat den jeman ein IDEE wie ich dies lösen kann. Würde das gerne auch in den Playground packen habe aber keinen  Schimmer wie. Wenn ich an der entsprechenden Stelle auf edit drücke habe ich zwar das Edit fenster kann aber absolut nichts damit anfangen.
Ich packe mal meine Lib als anhang dran

* LedControlSPI.zip (5.99 KB - downloaded 4 times.)
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3488
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Das ist ein Fehler in der IDE. Ich sag ja schon immer, daß die IDE suboptimal ist. Du kannst den Pfad vollständig angeben, aber das funktioniert dann nur bei Dir bzw. bei allen die genau die eine ähnliche Direktorystruktur haben wie Du.
Logged

Check out my experiments http://blog.blinkenlight.net

Bavaria Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 121
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Irgendwo (unter Linux wäre es /usr/share/arduino) gibt es ein arduino-Verzeichnis, in dem sich auch die bereits enthaltenen Standardbibliotheken im Unterverzeichnis "libraries" befinden, also z.B. libraries/SoftwareSerial/SoftwareSerial.h und ...cpp.

In diesem libraries-Verzeichnis ein neues Verzeichnis "SPI" anlegen, dort dann SPI.h und SPI.cpp reinkopieren.

Wichtig ist, daß das Unterverzeichnis genauso heissen muß, wie die .h und .cpp Dateien, in diesem Fall also "SPI/SPI.h". Groß-/Kleinschreibung beachten.

So funktioniert es hier problemlos mit Linux.

Gruß, mmi.
« Last Edit: February 20, 2012, 03:17:30 pm by mmi » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21671
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

auch mit Win.
Grüße Uwe
Logged

WW
Offline Offline
Jr. Member
**
Karma: 0
Posts: 59
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich habe Deine Lib mal ausprobiert, aber SPI.h + SPI.cpp aus dem Ordner genommen - so bekomme ich den gleichen Fehler wie Du. Dann habe ich in Deinen Dateien etwas rumgepfuscht:
LedControlSPI.h : #include "SPI.h" auskommentiert
LedControlSPI.cpp : #include "SPI.h" über #include "LedControlSPI.h" hinzugefügt
dann muss die SPI-Bib noch im Sketch aufgerufen werden..mein Test-Sketch sieht so aus:
Code:
#include "SPI.h"
#include "LedControlSPI.h"

void setup(){
}

void loop(){
  LedControl(9,1);
}

und wird fehlerfrei übersetzt.
Du kannst den Fehler so umgehen und musst die SPI-Lib nicht extra mitliefern. Ich halte das für eine bessere Lösung als das rumkopieren der Bibliothek wie es mmi vorschlägt, weil dies ev. für weniger Computer-affine Leute wieder zu kompliziert wird und das auch nicht auf jedem OS so funktioniert. Ich habe zwar auch ein *nix, aber keinen Ordner  /usr/share/arduino.
Logged

Bavaria Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 121
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich hatte es so verstanden, daß die Bibliotheken anwendungsübergreifend, also global zur Verfügung stehen sollen. Dann wäre es aber wie von mir beschrieben der empfehlenswerte Weg: Man hat alle Bibliotheken übersichtlich an einem Ort und muß keine extra Pfade setzen.

Naja, Hauptsache es funktioniert! smiley-wink

Gruß, mmi.

P.S.:
Was Linux betrifft: Entweder man installiert die Arduino IDE über einen Paketmanager (sofern möglich) oder manuell. Das  Hauptverzeichnis kann im ersteren Fall je nach Distribution dann auch (etwas) unterschiedlich ausfallen.

« Last Edit: February 20, 2012, 10:39:14 pm by mmi » Logged

WW
Offline Offline
Jr. Member
**
Karma: 0
Posts: 59
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich hatte es so verstanden, daß die Bibliotheken anwendungsübergreifend, also global zur Verfügung stehen sollen. Dann wäre es aber wie von mir beschrieben der empfehlenswerte Weg: Man hat alle Bibliotheken übersichtlich an einem Ort und muß keine extra Pfade setzen.
So habe ich das ebenfalls verstanden, normalerweise heisst es aber immer, man solle Bibliotheken in den Order für Sketche/libraries/ kopieren. http://arduino.cc/it/Reference/Libraries
Wenn man sie zu den original libraries kopiert, so wie Du das vorschlägst, ist das zwar eine elegante Lösung, aber was wenn man die IDE neuinstalliert?
Wird seine Bibliothek dann gelöscht? Ich weiss es nicht, habe kein Arduino unter Win, ein Linux-System hab ich gar nicht.
Auf Mac OS X ist es ganz anders, da stecken die (original) Bibliotheken im Programm mit drin, wenn ich da etwas hinein kopiere ist es 100% bei nächsten Arduino-Update weg, wenn ich nicht aufpasse und die Sachen vorher wieder raus hole....und ich bin sicher nicht der einzige vergessliche Mensch smiley-wink
Nachher fragt man sich dann "Wie hiess das Ding noch mal?" und "Wo war es bloss her?"
Mein Vorschlag war dazu gut, um das zu vermeiden und halt um den "normalen" Ort zum Ablegen der Bibliotheken beizubehalten. Dein Vorschlag ist zweifellos der elegantere smiley-wink
Logged

Bavaria Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 121
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Beim Deinstallieren müsste man dann aufpassen - da hast Du natürlich völlig recht.

Wenn es arduinoseitig anders vorgesehen ist, sollte das natürlich auch die vorzuziehende Lösung sein - ich habe das ehrlich gesagt nie so genau gelesen - als Linuxer hat man sich ans "Hacken" gewöhnt. smiley-wink

Gruß, mmi.
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21671
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Der IDE wird unter Windows nicht installiert sondern entkomrimiert. Es ist kein problem mehrere Versionen nebeneinender zu haben. Die Bibliotheken kann man einfach von der alten Version zur neuen in die LIBRARIES-ordner kopieren.
Viele Grüße Uwe
Logged

Heidelberg
Offline Offline
Full Member
***
Karma: 1
Posts: 207
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@UweF.

Ist das bei der 1.0 denn auch so ? Mich hat die automatische Software Update Warnung in der 022 mißtrauisch gemacht. Habe ich das richtig verstanden, dass keinerlei Pfade in den WIN Konfigurationsdateien geschrieben werden, ich also wirklich nebenan eine 1.0 haben kann und die 022 funzt weiter ? *dummfrag* smiley-wink Ich trau mich nicht das auszuprobieren  smiley-small
Logged

 

Germany
Offline Offline
Edison Member
*
Karma: 47
Posts: 2322
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich trau mich nicht das auszuprobieren

Feigling! smiley-wink Ich habe auch mehrere Arduino-IDEs nebeneinander, klappt prima. Immer eine alte 0022er und die neue 1.0, dazu noch bei mir ein "Arduino 1.0 Testgelände" zum probieren. Selbst auf meinem Bürorechner ist trotz eingeschränkter Rechte die 1.0 drauf, eben weil nichts installiert werden muss, sondern wie angesprochen nur entpackt wird.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1128
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja so muss das sein!!!!
Ein Frage und innerhalb kurzer Zeit antworten. Ich habe fast alle Varianten ausprobiert nur diese von Mime nicht. Aber danke schön!
So wie bekomme ich das noch in den Playground, ich denke es wäre schön diese richtig Lib andern zur verfügung zu stellen.
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Pages: [1]   Go Up
Jump to: