Fehler beim übertragen der Firmware

Hallo zusammen,

ich bin leider kein Profi. Habe aber schon Erfahrungen gesammelt mit Arduino (3D Drucker).

Beim aktuellen Projekt einen Eggbot zu bauen kommt mein UNO zum Einsatz, wo es aber ein Probleme
beim übertragen Firmware gibt.

Eggbot: SphereBot | Pleasant Hardware
Firmware: GitHub - zaggo/SphereBot: Arduino Firmware for the SphereBot, an EggBot inspired robot

Bestimmt nur ein Anfänger Fehler, aber der nervt und ich komm nicht weiter.

Beim kompilieren kommt immer:

SoftwareServo.cpp: In member function ‘uint8_t SoftwareServo::attach(int)’:
SoftwareServo.cpp:27: error: ‘digitalWrite’ was not declared in this scope
SoftwareServo.cpp:28: error: ‘OUTPUT’ was not declared in this scope
SoftwareServo.cpp:28: error: ‘pinMode’ was not declared in this scope
SoftwareServo.cpp: In member function ‘void SoftwareServo::write(int)’:
SoftwareServo.cpp:51: error: ‘clockCyclesPerMicrosecond’ was not declared in this scope
SoftwareServo.cpp: In static member function ‘static void SoftwareServo::refresh()’:
SoftwareServo.cpp:73: error: ‘millis’ was not declared in this scope
SoftwareServo.cpp:106: error: ‘digitalWrite’ was not declared in this scope
SoftwareServo.cpp:108: error: ‘TCNT0’ was not declared in this scope
SoftwareServo.cpp:123: error: ‘digitalWrite’ was not declared in this scope

Denke ich habe die <TimerOne.h> und die <SoftwareServo.h> richtig eingefügt.
->Sketch->ImportLibery

Kann mir jemand helfen ?

Danke u. Gruß
Tobi

DelKona: Bestimmt nur ein Anfänger Fehler, aber der nervt und ich komm nicht weiter.

Falls es Dir nicht klar ist: Wenn Du einen Arduino-Quellcode kompilieren möchtest, der als "3 years old" gekennzeichnet ist, dann müßtest Du zum Kompilieren auch: - die Arduino-Software mit dem Stand "3 years old" sowie - die externen Libraries mit dem Stand "3 years old" zum Kompilieren verwenden.

Ansonsten mußt Du den Quellcode selbst anpassen.

Die Arduino-Software hat in den letzten Jahren eine so umfangreiche Entwicklung hinter sich, dass Programm-Quellcodes von vor drei Jahren auf den derzeitigen Entwicklungsumgebungen oft nicht ohne vorherige Änderungen kompilierbar sind.

Kannst Du nicht den ursprünglichen Programmierer nach einer fertig kompilierten "HEX-Datei" (HEX-file) fragen?

simpel...logisch... grrrr ...... Anfänger! "Copyright 2011 by...."

Vielen Dank. Werde gleich mal nee ältere Version laden. Sollte das nicht funktionieren werde ich mal den Admin anschreiben.

Danke u. Gruß Tobi

jurs da hast Du zwar einen guten Ratschlag gegeben aber irgendwie unmöglich.

Um für einen UNO zu kompilieren braucht man mindestens IDE 1.0.0. Die IDE23 kennt den UNO nicht, kennt aber #include "WProgram.h". Da kommt man nicht umhin den Sketch bzw die Bibliotheken umzuschreiben. Ich habs nicht probiert ob es genügt #include "WProgram.h" gegen #include "Arduino.h" zu tauschen.

Ok über Umweg .hex- ISP -Programmierung gehts aber das ist nicht gerade was für einen Anfänger.

Grüße Uwe

Super Tip.

Musste Wprogram.h gegen Arduino.h tauschen in der .cpp

Nach weiteren 30min habe ich dann auch herausgefunden das ich in der Library ebenfalls die SoftwareServo.h anpassen musste.

Kompilieren geht nun ... mit aufspielen geht es jetzt weiter ....

Danke euch Gruß Tobi