bekomme typhon reef-controller sketch nicht kompiliert

Hallo,

irgendwie schwirrt mir nach 3 stündiger Fehlersuche der Kopf
Ich habe nach einem Controller für eine Aquarienbeleuchtung gesucht und bin hier auch fündig geworden:

Habe die Extralibraries.zip runtergeladen und fehlende Libs bei mir installiert und versucht in der 1.5.8 und in der 1.0.3 zu kompilieren.
Habe als Nächstes die fraglichen Libs auf aktuelle Versionen geupdatet
Habe die Button Lib gepatcht, weil ein Fehler mit der WProgram.h angezeigt wurde.
Als das alles nicht half, habe ich dann auch noch die IDE 0.22 runtergeladen und dort die alten Libs aus der Extralibraries.zip installiert, weil im Code angegeben war, das mit der 0.22 compiliert wurde.
Auch das brachte nichts.
Code ist im Anhang, weil zu viele Zeichen.
Folgende Fehlermeldungen kamen:

Aquarium.ino:62:29: error: ‘PULLDOWN’ was not declared in this scope
Aquarium.ino:63:29: error: ‘PULLDOWN’ was not declared in this scope
Aquarium.ino:64:29: error: ‘PULLDOWN’ was not declared in this scope
Aquarium.ino:65:29: error: ‘PULLDOWN’ was not declared in this scope
Aquarium.ino: In function ‘void setDate(byte, byte, byte, byte, byte, byte, byte)’:
Aquarium.ino:158:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:159:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:160:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:161:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:162:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:163:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:164:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:165:9: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino: In function ‘void getDate(byte*, byte*, byte*, byte*, byte*, byte*, byte*)’:
Aquarium.ino:179:8: error: ‘class TwoWire’ has no member named ‘send’
Aquarium.ino:182:31: error: ‘class TwoWire’ has no member named ‘receive’
Aquarium.ino:183:31: error: ‘class TwoWire’ has no member named ‘receive’
Aquarium.ino:184:31: error: ‘class TwoWire’ has no member named ‘receive’
Aquarium.ino:185:31: error: ‘class TwoWire’ has no member named ‘receive’
Aquarium.ino:186:31: error: ‘class TwoWire’ has no member named ‘receive’
Aquarium.ino:187:31: error: ‘class TwoWire’ has no member named ‘receive’
Aquarium.ino:188:31: error: ‘class TwoWire’ has no member named ‘receive’
Fehler beim Übersetzen

Verstehe ich nicht. PULLDOWN erkennt er auch nicht im Beispeielsketch zur Lib. Andererseits ist die Textfarbe blau, also erkennt er schon irgendeinen Syntax :fearful:
Ganz zu schweigen vom Rest, den er mir da um die Ohren haut…
Aber irgendwie kommt er ja noch bis Zeile 188 - erst danach versetzt ihm irgendwas einen Tiefschlag.

Wäre nur schön, wenn ich den Sketch irgendwie zum Laufen kriege, denn der Funktionsumfang ist schon recht umfangreich mit RTC, Display und 4 LED-Kanälen.
Die LEDs sind schon alle mit Paste auf Starplatinen auf dem Ceranfeld gelötet, sitzen auf einem großen Kühlkörper, sind mit den selbst gebauten getakteten KSQs und einem 24V Netzteil verkabelt und warten eigentlich nur noch auf die PWM Signale vom Controller. Mit einem Fade Sketch sind die auch schon getestet. Fehlt nur noch das “Hirn” dazu :grin:
Es sind 7x 3W 6500K, 4x 3W 2700K, 1x 3W rot und 1x 3W blau.
Die Farbigen sind Cree’s und die weißen Toshiba-LEDs. Machen schon ein brutales Licht 8)

Gruß Gerald

Aquarium.ino (22.9 KB)

Bist Du sicher daß es PULLDOWN gibt und nicht nur PULLUP?

Grüße Uwe

In der Button Lib sind beide Befehle hinterlegt, das habe ich mit als erstes verifiziert. Ich habe aber noch ein bisschen weiter geguckt. Unter http://www.reefcentral.com/forums/showthread.php?t=2329889 Habe ich noch eine weitere Version gefunden. Um die downloaden zu können, mußte ich mich erst bei reefcentral.com anmelden ;) Diese Version hatte zwar auch noch Fehlermeldungen gebracht, die ich aber fixen konnte. Jetzt ist der Compiler durchgelaufen. Werde dann mal die Hardware um den Prozzi zusammenfrickeln und das Hex-File da draufblasen :sunglasses:

So kann man natürlich die Open Source Lizenz auch aushebeln. Code mit kleinen Fehlern streuen und alle "Nichteingeweihten" werden erst mal ferngehalten und man kann den Controller - natürlich mit funktionierender Firmware - ungestört verkaufen! Ein Schelm, wer Böses dabei denkt :fearful:

So, ich bin nun ein ganzes Stück weiter. Die Hardware läuft mit der Firmware. Diese habe ich noch ein bisschen angepasst. Ein paar Pins getauscht, die Menüs auf dem LCD ins Deutsche übersetzt und die PWM Ausgänge invertiert, weil null Volt bei mir die Treiber abschaltet. Ich warte nur noch auf die morgen von DHL auszuliefernde Reichelt-Bestellung, die Do. Vormittag dort rausging. Ich warte halt auf das Gehäuse, einen LCD Einbaurahmen und so ein bisschen Zeug fürs Finish ;) Wenn allses fertig ist, werde ich es vorstellen. Gestern habe ich mir allerdings selber ein Ei gelegt, was mich ca. einen halben Tag Zeit kostete, ein halbes Dutzend Kleinleistungstransistoren und 4x KSQ-IC's :stuck_out_tongue_closed_eyes: Ohne das ich es bemerkte (wenn, wäre es auch zu spät gewesen) hatte ich am 24V Schaltnetzteil eine unsichere Masseverbindung, was zur Folge hatte, das die KSQs keine Masse mehr hatten. Da die KSQ Eingänge zum Dimmen mittels Transistoren gegen Masse geschaltet werden und die Steuerplatine Masse und 24V (aus denen mittels Schaltregler 5V erzeugt werden) nahm das Unheil seinen Lauf. Durch parasitäre Dioden in den KSQ ICs ballerte ein unbegrenzter Strom von Masse durch die Transistoren in die KSQs. Ich wunderte mich, das ein Transi Rauchzeichen gab. Erst schob ich das, nach Konsultation des Datenblattes, auf seine nur 20V betragende Spannungsfestigkeit Uce. Nachdem auch 60V Transistoren verreckten, wurde ich stutzig. Nach Tausch der KSQ ICs, stellte ich fest, das der 2. Satz Transistoren auch durch war :smiling_imp: Zum Glück habe ich die Transistoren zu Hunderten und die KSQ ICs hatte ich auch noch da. Gottseidank kosten die nur 27 Cent das Stück, weil ich die nächste Rabattstufe mit 25 Stck noch mitgenommen habe :stuck_out_tongue:

uwefed: Bist Du sicher daß es PULLDOWN gibt und nicht nur PULLUP?

Grüße Uwe

Ich frage nur da die ATmegas integriete Pullup-Widerstände haben aber kene Pulldown. Grüße Uwe