Seite 1 von 1

[GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 11.08.2019, 12:53
von Chromium
Hallo
Ich habe den HM-WDS40-TH-I-BME280 Sensor nachgebaut.
Nun versuche ich den entsprechenden Sketch von Jérôme aufzuspielen
und bekomme folgende Fehlermeldung:

Code: Alles auswählen

HM-WDS40-TH-I-BME280:95:5: error: 'Bme280' does not name a type

     Bme280          bme280;

     ^

E:\ArduinoProjekte\HM-WDS40-TH-I-BME280\HM-WDS40-TH-I-BME280.ino: In member function 'void WeatherChannel::measure()':

HM-WDS40-TH-I-BME280:106:7: error: 'bme280' was not declared in this scope

       bme280.measure();

       ^

E:\ArduinoProjekte\HM-WDS40-TH-I-BME280\HM-WDS40-TH-I-BME280.ino: In member function 'virtual void WeatherChannel::trigger(as::AlarmClock&)':

HM-WDS40-TH-I-BME280:117:24: error: 'bme280' was not declared in this scope

       msg.init(msgcnt, bme280.temperature()+OFFSETtemp,bme280.humidity()+OFFSEThumi, device().battery().low());

                        ^

HM-WDS40-TH-I-BME280:118:79: error: 'as::Channel<Hal, as::List1, as::EmptyList, as::List4, 6, as::List0>::DeviceType {aka class as::Device<Hal, as::List0>}' has no member named 'broadcastEvent'

       if (msgcnt % 20 == 1) device().sendPeerEvent(msg, *this); else device().broadcastEvent(msg, *this);

                                                                               ^

E:\ArduinoProjekte\HM-WDS40-TH-I-BME280\HM-WDS40-TH-I-BME280.ino: In member function 'void WeatherChannel::setup(as::Device<Hal, as::List0>*, uint8_t, uint16_t)':

HM-WDS40-TH-I-BME280:126:7: error: 'bme280' was not declared in this scope

       bme280.init();

       ^

exit status 1
'Bme280' does not name a type
Das einzige was ich im Sketch verändert habe sind Device ID/Serial.
Da es mir zuvor bereits gelungen ist einen HB-UNI-Sensor1 mit BME280 in Betrieb zu nehmen,
vermute ich das die BME280 Bibliothek korrekt installiert ist.

Hat jemand eine Idee?

Re: HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 11.08.2019, 13:22
von jp112sdl
Hmm... vielleicht irgendwo eine } oder ein ; weggemacht?

Und aktualisier mal auf die neueste AskSinPP aus dem master Branch. broadcastEvent ist noch nicht lange drin.

Code: Alles auswählen

HM-WDS40-TH-I-BME280:118:79: error: 'as::Channel<Hal, as::List1, as::EmptyList, as::List4, 6, as::List0>::DeviceType {aka class as::Device<Hal, as::List0>}' has no member named 'broadcastEvent'

       if (msgcnt % 20 == 1) device().sendPeerEvent(msg, *this); else device().broadcastEvent(msg, *this);

                                                                               ^
                                                                            

Re: HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 11.08.2019, 13:45
von Chromium
Die Aktualisierung auf die neueste AskSinPP hat das Problem gelöst.

Vielen Dank für die schnelle Hilfe.

Re: [GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 28.04.2020, 15:46
von epigene
Komme mit HM-WDS40-TH-I-BME280 nicht weiter
Habe beim kompilieren folgende Fehlermeldung erhalten:

Arduino: 1.8.13 Hourly Build 2020/03/16 09:12 (Mac OS X), Board: "Arduino Pro or Pro Mini, ATmega328P (3.3V, 8 MHz)"

/Users/franz/Documents/Arduino/HomeMatic/HM-WDS40-TH-I-BME280/HM-WDS40-TH-I-BME280.ino: In function 'void setup()':
HM-WDS40-TH-I-BME280:161:7: error: 'Hal {aka class as::AskSin<as::StatusLed<4>, as::BattSensor<as::SyncMeter<as::InternalVCC> >, as::Radio<as::AvrSPI<10, 11, 12, 13>, 2> >}' has no member named 'initBattery'; did you mean 'battery'?
hal.initBattery(60UL * 60, 22, 19);
^~~~~~~~~~~
battery
exit status 1
'Hal {aka class as::AskSin<as::StatusLed<4>, as::BattSensor<as::SyncMeter<as::InternalVCC> >, as::Radio<as::AvrSPI<10, 11, 12, 13>, 2> >}' has no member named 'initBattery'; did you mean 'battery'?

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Danke

Re: [GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 29.04.2020, 07:39
von jp112sdl
Evtl. AskSinPP-Lib veraltet. Mal die neueste aus dem 'master' Branch nehmen

Re: [GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 29.04.2020, 10:54
von epigene
Danke, das war es. Habe zwar die neuerste Version geholt, Compiler hat aber die Version 4.1.0. aus einem anderen Master genommen - zuviele AsksinPPmaster am Mac, da muss ich wohl Ordnung machen.

Re: [GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 29.04.2020, 11:23
von epigene
Bin schon wieder da! Komipilieren und laden kein Problem - dann wird aber im Monitor nur "AskSin++ V4.1.3 (Apr 29 2020 11:18:12)" angezeigt und es ist aus!
Wieder eine falsche Lib??

Re: [GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 08.05.2020, 10:16
von chief
Hab das Problem auch, dass nur "AskSin++ V4.1.3 (Apr 29 2020 11:18:12)" angezeigt wird.
Es kommen keine Daten rein.
Bin mir aktuell nicht sicher, ob es vllt ein Hardwareproblem ist.
Das Modul CC1101 hab ich auch nochmal neu aufgelötet, aber dieses mal mit einer stiftleiste.
bin ratlos....

Re: [GELÖST] HM-WDS40-TH-I-BME280 lässt sich nicht kompilieren

Verfasst: 14.05.2020, 13:13
von Hackertomm
Welche Platine verwendest du?
Ich habe da einen DIY Temperatur und Feuchtigkeitssenor mit dem BME280 gebaut.
Nach dieser Anleitung: Link

Da wird unbedingt empfohlen, auf die Lötpunkte A4/A5 zu achten, da sonst das ganze Ding nicht funktioniert und sich nicht anmelden lässt.
Auch kann es Probleme mit dem CC11101 Modul geben, weshalb man zum ermitteln der Frequenz einen Sketch gibt, der die richtige Frequenz rausfindet und im Arduino speichert.
Danach dann einfach den richtigen Sketch aufspielen, dann läuft dass.
Man sollte die aktuelle Version der AskiinPP Bibliotheken verwenden.

Das kompilieren war auch kein größeres Problem, die richtigen Bibliotheken such und einbinden und dann den Sketch hochladen, fertig, klappte einwandfrei und nahezu auf Anhieb.
Verwendet habe ich dazu einen einfachen FTDI Adapter, der auf 3.3V eingestellt werden muss, da ja der Arduino eine 3.3V Version ist!

Ich habe beim ersten Modul auch den Fehler gemacht und A4/A5 nicht verlötet und konnte natürlich mein Modul nicht Anlernen.
Aber ich hab es dann gemerkt und das mit 2 Drahtstücken verlötet und dann lies es sich Anlernen.
Mittlerweile laufen da 3 dieser Module, eines davon als Außensensor konfiguriert.
Eines liegt hier rum um gibt mit die aktuellen Daten, noch eines liegt in der Garage und zeigt mir da wie die Werte sind.
Das Modul für Außen ist unter dem Vordach meiner Gerätehütte montiert Wind und Regengeschützt und in einem anderen, geschlossenem Gehäuse.