Seite 1 von 2

out8-dimmer-bim112 build error

Verfasst: 21. Jan 2021, 16:00
von luckychild
Hallo zusammen,
da ich neu hier im Forum bin, erst mal die Frage ob es eher gewünscht ist Beiträge in deusch oder englisch zu schreiben.
Jetzt zur eigentlichen Frage :D
Bei mir lässt sich der out8-dimmer-bim112 für arm aus github nicht bauen. Ich bekomme folgenden Fehler:
../src/app_main.cpp:52:9: error: 'class BcuBase' has no member named 'setMemMapper'
Ich hab mal etwas im Code gegraben und festgestellt, dass sich LPCXpresso an folgendem in app_main.cpp stört:

Code: Alles auswählen

bcu.setMemMapper(&memMapper);
In bcu_base.h der sblib sehe ich:

Code: Alles auswählen

extern BcuBase& bcu;
BcuBase hat tatsächlich keine Methode setMemMapper. Die Klasse Bcu hingegen besitzt diese Methode und erbt von BcuBase.
Nach meinem ersten Eindruck kann das so gar nicht funktionieren. Wurde der out8-dimmer-bim112 von jemandem schon mal erfolgreich gebaut ? Hat jemand Erfahrungen im Umgang mit dem memMapper ?
Wollte den out8-dimmer-bim112 eigentlich als Grundlage für eine eigene bim112 Entwicklung nehmen, die auch den memMapper benötigt.
Vielen Dank für eure Hilfe ! :)

Re: out8-dimmer-bim112 build error

Verfasst: 21. Jan 2021, 17:29
von luckychild
Hab es jetzt zumindest mal vollständig bauen können, indem ich in der app_main.cpp folgende Zeile eingefügt habe

Code: Alles auswählen

#include <sblib/eib/sblib_default_objects.h>
und

Code: Alles auswählen

bcu.setMemMapper(&memMapper);
durch

Code: Alles auswählen

_bcu.setMemMapper(&memMapper);
ersetzt habe. Vielleicht gibt es jemand der den Fix mal prüfen kann.

Re: out8-dimmer-bim112 build error

Verfasst: 21. Jan 2021, 17:50
von Doumanix
Hi luckychild,

willkommen!
Da fast alles auf deutsch geschrieben ist, würde ich sagen: deutsch ist völlig in Ordnung. Es gibt ein paar Mitglieder, die englisch sprechen, aber die behelfen sich offensichtlich mit Übersetzungsplugins im Browser. Das funktioniert ja ganz gut inzwischen.

Zu deinem Compileproblem: auch ich habe einige Projekte mit #include <sblib/eib/sblib_default_objects.h> angepasst. Siehe am 7.1.2028.
https://github.com/selfbus/software-arm ... nch=master
Das ist eine Anpassung, die auf jeden Fall richtig ist.

Allerdings wurden manche Projekte schon lange nicht mehr angefasst.
Das Dimmer-Projekt und Florians 6out-cs sind aktuell die einzigen, die ich finde, die diesen angepassten Memmapper verwenden. Vielleicht kannst in das 6out-cs mal rein schauen, ob dir das was hilft.

Grüße
Christian

Re: out8-dimmer-bim112 build error

Verfasst: 26. Jan 2021, 00:00
von luckychild
Hi Christian,
ok, dann bleib ich erst mal bei deutsch - ist etwas bequemer ;-)
Vielen Dank für die Hinweise. Du meinst wahrscheinlich das out-cs-bim112 Projekt. Leider lässt sich das bei mir auch nicht bauen und es kommen verschiedene Fehlermeldungen hoch. Gab es da mit der Zeit evtl. Änderungen an der sblib und die einzelnen Projekte wurden nicht mehr an die Änderungen angepasst ? Ich denke ja schon, dass die Projekte ursprünglich mal lauffähig waren. Ich möchte jetzt mal versuchen ein eigenes bim112 Projekt auf die Beine zu stellen ...

Re: out8-dimmer-bim112 build error

Verfasst: 26. Jan 2021, 08:41
von Doumanix
Servus,
komisch, dass die 16in-bim112 bei dir nicht übersetzt.
Wäre interessant, was ob / was du da falsch konfiguriert hast, nicht dass das aktuell ein allgemeines Problem im Zusammenspiel der Projekte ist.
Wenn du magst, kannst dich ja mal in Slack registrieren, dann könnten wir abends mal drüber chatten.
Grüße
Christian

Re: out8-dimmer-bim112 build error

Verfasst: 27. Jan 2021, 23:21
von Florian
Hallo luckychild,
wann hattest Du versucht, out-cs-bim112 zu übersetzen? Im November hatte ich Änderungen eingespielt, davor war es mit neueren mcuxpresso-Versionen wohl tatsächlich nicht übersetzbar. Welche Fehlermeldungen zeigen sich bei Dir?

Grüße,
Florian

Re: out8-dimmer-bim112 build error

Verfasst: 28. Jan 2021, 18:07
von luckychild
In Slack bin ich bereits registriert, habe aber ehrlich gesagt noch nicht viel drin gemacht. Die Liste der Fehler in out-cs-bim112 ist etwas zu lang zum Pasten. D.h. hier nur ein paar der Fehlermeldungen:

/Projekte/knx/selfbus/LPC11xx-Source/software-arm-incubation/actuators/outputs/out-cs-bim112/inc/Relay.h:228:18: error: 'CHANNELCNT' was not declared in this scope
int PulseRepTmr[CHANNELCNT]; // Zähler/Timer für die Pulswiederholung
/Projekte/knx/selfbus/LPC11xx-Source/software-arm-incubation/actuators/outputs/out-cs-bim112/inc/app_main.h: In function 'bool AppProcessingEnabled()':
/Projekte/knx/selfbus/LPC11xx-Source/software-arm-incubation/actuators/outputs/out-cs-bim112/inc/app_main.h:40:32: error: 'AppOperatingStates' is not a class or namespace
return ((AppOperatingState == AppOperatingStates::AppStartup) || (AppOperatingState == AppOperatingStates::AppRunning));
/Projekte/knx/selfbus/LPC11xx-Source/software-arm-incubation/actuators/outputs/out-cs-bim112/inc/app_main.h:40:89: error: 'AppOperatingStates' is not a class or namespace
return ((AppOperatingState == AppOperatingStates::AppStartup) || (AppOperatingState == AppOperatingStates::AppRunning));

Ich habe da aber auch noch nicht genauer rein geschaut. Meine eigene App mit dem MemMapper funktioniert jetzt soweit, dass sie von der ETS programmiert werden kann. Damit ist die größte Hürde überwunden und ich kann mit der eigentlichen Arbeit beginnen und die Funktion implementieren. :D
Liebe Grüße !

Re: out8-dimmer-bim112 build error

Verfasst: 28. Jan 2021, 20:59
von Florian
Der erste Fehler klingt für mich nach falscher Build Configuration (Die setzt Symbole, nach denen dann u.A. dieses Symbol CHANNELCNT gesetzt wird.)
Wenn Du im Project Explorer mit der rechten Maustaste auf das out-cs-bim112 klickst -> Build Configurations -> Set active
Hast Du dann mehrere Optionen zur Auswahl? Versuch mal "Debug 6Ch", das ist das 6 Kanal-modul in der Debug-Variante. Wenn da keine drei Debug-Varianten sind, dann fehlt das in der Projektdatei. Ich hoffe mal nicht, dass ich die gar nicht in's github eingespielt habe...
In dem Fall könntest Du auf die schnelle Deine Build-Configuration editieren: Projekt-Properties -> C/C++ Build -> Build Variables: Wähle eine Configuration aus, die Du ändern willst, ergänze wenn notwendig einen Eintrag: Name -> hardware; Type -> String; Value -> HW_6CH.

Re: out8-dimmer-bim112 build error

Verfasst: 4. Feb 2021, 12:01
von luckychild
Ja, da scheint mit der Projektdatei was nicht zu stimmen. Ich habe nur "debug" und "release" zur Auswahl.

Re: out8-dimmer-bim112 build error

Verfasst: 4. Feb 2021, 18:22
von Darthyson
Hallo zusammen,
Florian hat geschrieben: 28. Jan 2021, 20:59 Wenn da keine drei Debug-Varianten sind, dann fehlt das in der Projektdatei
In der .cproject vom selfbus-Repo des out-cs-bim112 sind die drei Debug-Builds enthalten und man kann normal compilieren. Gerade selbst getestet.

Allerdings in meinem eigenen Repo ist eine Version der .cproject drin mit nur zwei Debug-Builds, welche die selben Compilerfehler bringt wie von luckychild hier erwähnt.

Kann das an git liegen, dass das Probleme hat die .cprojects zu "auto-mergen"?

Viele Grüße
Denis