FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Banisa am 06 April 2018, 22:51:57

Titel: Arduino Sketch -> AVR Studio
Beitrag von: Banisa am 06 April 2018, 22:51:57
Hallo,
ich habe das "HomeBrewWired - Das Tutorial" durch gelesen und auch die Programme ausprobiert. Alle Änderungen vom ersten Sketch bis zum letzten haben in der Arduino-IDE funktioniert. Die Arduino-IDE habe ich vorher noch nie genutzt sondern das AVR Studio. Da ich das AVR Studio zum testen besser finde wollte ich den Sketch von der Arduino-IDE im AVR Studio weiter bearbeiten. Dort bekomme ich aber jetzt immer Fehlermeldungen wie z.B. "../HBWSoftwareSerial.h:10:20: error: Stream.h: No such file or directory". Ich habe schon 2 Tage lang versucht die ganzen *.h Dateien zu finden und in das gleiche Verzeichnis zu kopieren aber es geht immer noch nicht. Vielleicht kann mir jemand, auf leicht verständlicher weise, erklären wie ich den Arduino Sketch im AVR Studio zum laufen bringe.

Mfg Bernd
Titel: Antw:Arduino Sketch -> AVR Studio
Beitrag von: Thorsten Pferdekaemper am 07 April 2018, 11:17:35
Hi,

das ist meiner Meinung nach eine allgemeine Frage zu Arduino/Atmel Programmierung. Hast Du dazu schonmal hier nachgesehen bzw. in deren Forum gefragt?
https://www.mikrocontroller.net/

Ansonsten, wenn man so die Beschreibungen liest, dann ist die C++-Unterstützung im Atmel Studio nicht ganz so ausgereift wie in der Arduino IDE. Möglicherweise muss man da auch noch was machen.
Ansonsten habe ich das hier gefunden:
http://www.visualmicro.com/page/Arduino-for-Atmel-Studio-7.aspx

Die .h-Files reichen wahrscheinlich nicht. Ich gehe mal davon aus, dass es noch Arduino-Library-Files gibt, die automatisch dazugelinkt werden, wenn man mit der Arduino-IDE arbeitet. Ich denke, Du müsstest Dich da Stück für Stück durchwurschteln und Dich ggf. mit den einzelnen Problemen hier nochmal melden.

Gruß,
   Thorsten
Titel: Antw:Arduino Sketch -> AVR Studio
Beitrag von: Banisa am 13 Mai 2018, 14:14:38
Hallo Thorsten,

ich habe mir AVR Studio 7 herunter geladen und dazu die Arduino IDE Erweiterung dazu installiert. Es hat etwas gedauert bis ich das so hin bekommen habe das es funktioniert. Dann habe ich mir die HBW-LC-Bl-4.ino von deinem github herunter geladen. Beim Kompilieren bekomme ich aber sowohl im AVR Studio als auch in der Arduino IDE eine Fehlermeldung.
Im AVR Studio folgende:
Compiling 'HBW-LC-Bl-4' for 'Arduino Duemilanove or Diecimila w/ ATmega328P'

HBW-LC-Bl-4.ino: In function void setup()

HBW-LC-Bl-4.ino: 130:81: error: invalid new-expression of abstract class type 'HBWLinkBlindSimple
   NULL, new HBWLinkBlindSimple(NUM_LINKS,LINKADDRESSSTART))

HBW-LC-Bl-4.ino:42: In file included from
HBWLinkBlindSimple.h:15: note    because the following virtual functions are pure within HBWLinkBlindSimple
class HBWLinkBlindSimple *: public HBWLinkReceiver {

HBW-LC-Bl-4.ino:41: In file included from
HBWired.h:33: note     virtual void HBWLinkReceiver  receiveKeyEvent(HBWDevice*, uint32_t, uint8_t, uint8_t, boolean)
   virtual void receiveKeyEvent(HBWDevice* device, uint32_t senderAddress, uint8_t senderChannel
Error compiling project sources
Build failed for project 'HBW-LC-Bl-4'

und in der Arduino IDE:
Arduino: 1.8.5 (Windows 10), Board: "Arduino Duemilanove or Diecimila, ATmega328P"

D:\Program Files (x86)\Arduino\libraries\Rollladen4er\HBW-LC-Bl-4\HBW-LC-Bl-4.ino: In function 'void setup()':

HBW-LC-Bl-4:130: error: invalid new-expression of abstract class type 'HBWLinkBlindSimple'

                          NULL, new HBWLinkBlindSimple(NUM_LINKS,LINKADDRESSSTART));

                                                                                 ^

In file included from D:\Program Files (x86)\Arduino\libraries\Rollladen4er\HBW-LC-Bl-4\HBW-LC-Bl-4.ino:45:0:

D:\Program Files (x86)\Arduino\libraries\HBWLinkBlindSimple/HBWLinkBlindSimple.h:15:7: note:   because the following virtual functions are pure within 'HBWLinkBlindSimple':

class HBWLinkBlindSimple : public HBWLinkReceiver {

       ^

In file included from D:\Program Files (x86)\Arduino\libraries\Rollladen4er\HBW-LC-Bl-4\HBW-LC-Bl-4.ino:44:0:

D:\Program Files (x86)\Arduino\libraries\HBWired/HBWired.h:33:17: note:    virtual void HBWLinkReceiver::receiveKeyEvent(HBWDevice*, uint32_t, uint8_t, uint8_t, boolean)

    virtual void receiveKeyEvent(HBWDevice* device, uint32_t senderAddress, uint8_t senderChannel,

                 ^

exit status 1
invalid new-expression of abstract class type 'HBWLinkBlindSimple'


Was mache ich jetzt schon wieder falsch ?

Mfg Bernd.

Titel: Antw:Arduino Sketch -> AVR Studio
Beitrag von: Thorsten Pferdekaemper am 13 Mai 2018, 16:38:18
Hi,
da hat loetmeister in den letzten paar Wochen dran rumgeschraubt. Kann es sein, dass bei Dir die Dateien aus dem Ordner libraries nicht ganz aktuell sind? Insbesondere HBWLinkBlindSimple.cpp und HBWLinkBlindSimple.h solltest Du mal prüfen.
...im Zweifelsfall stell' die beiden Dateien hier mal rein, so wie sie bei Dir aussehen.
Gruß,
   Thorsten
Titel: Antw:Arduino Sketch -> AVR Studio
Beitrag von: Banisa am 14 Mai 2018, 19:22:20
Hallo,
das kann sein, die habe ich mir Anfang des Jahres herunter geladen als ich das HomeBrewWired Tutorial durch gearbeitet habe. Ich habe sie jetzt noch mal von deinem GitHub herunter geladen aber das Ergebnis ist das gleiche. Hier meine beiden Dateien.
Titel: Antw:Arduino Sketch -> AVR Studio
Beitrag von: loetmeister am 14 Mai 2018, 22:45:17
Hi,

HBWLinkBlindSimple schaut aktuell aus.

Ich glaube deine HBWired ist nicht aktuell, es müssten 6 Parameter sein, nicht 5 wie in deiner Fehlermeldung.
HBWired.h:33: note     virtual void HBWLinkReceiver  receiveKeyEvent(HBWDevice*, uint32_t, uint8_t, uint8_t, boolean)

Lade am besten alle Dateien von GitHub (https://github.com/ThorstenPferdekaemper/HBWired/tree/master/libraries) aus dem "libraries" Verzeichnis, dann solltest du einen konsistenten Stand haben.

Ich habe zuletzt nichts an BL4 oder den libs geändert.... :) https://github.com/loetmeister/HBWired

Gruß,
Thomas
Titel: Antw:Arduino Sketch -> AVR Studio
Beitrag von: Banisa am 16 Mai 2018, 20:03:57
Hallo loetmeister,
danke das Du dich dazu gemeldet hast, genau das war es. Einige Dateien waren noch auf dem Stand 28.01.2017.

Mfg Bernd