Code Monkey home page Code Monkey logo

Comments (14)

RealMerlin avatar RealMerlin commented on June 1, 2024

from openhcan.

AndreasW79 avatar AndreasW79 commented on June 1, 2024

Hallo @RealMerlin ,

dieses Detail habe ich natürlich unterschlagen, es war ein aktueller clone aus github von Montag.
Somit sollte es eigentlich die aktuelle Version gewesen sein.
Nutzt Du auch eine rpi mit dem aktuellen raspbian?

Grüße

from openhcan.

RealMerlin avatar RealMerlin commented on June 1, 2024

from openhcan.

AndreasW79 avatar AndreasW79 commented on June 1, 2024

Hallo Merlin,

vielen Dank dafür.
Was mich aber noch wundert ist sind die Meldungen des Compilers, entweder ist der in stretch verwendete sehr empfindlich oder diese Fehler müssten bei jedem auflaufen

In file included from ./devices/../../controllerboard/devices.h:14:0, from ./devices/zeitschaltuhr.c:20: ./devices/../../controllerboard/devices/multitaster.h:44:13: error: inline function âmultitaster_timer_handlerâ declared but never defined [-Werror] inline void multitaster_timer_handler(device_data_multitaster *p, uint8_t zyklus); ^ In file included from ./devices/../../controllerboard/devices.h:12:0, from ./devices/zeitschaltuhr.c:20: ./devices/../../controllerboard/devices/reedkontakt.h:24:13: error: inline function âreedkontakt_timer_handlerâ declared but never defined [-Werror] inline void reedkontakt_timer_handler(device_data_reedkontakt *p, uint8_t zyklus); ^ In file included from ./devices/../../controllerboard/devices.h:10:0, from ./devices/zeitschaltuhr.c:20: ./devices/../../controllerboard/devices/zentralheizungspumpe.h:57:13: error: inline function âzentralheizungspumpe_timer_handlerâ declared but never defined [-Werror] inline void zentralheizungspumpe_timer_handler(device_data_zentralheizungspumpe *p, uint8_t zyklus); ^ cc1: all warnings being treated as errors ./devices/helligkeitssensor.c:69:42: error: âgetADCvalue_invertedâ is static but used in inline function âhelligkeitssensor_timer_handlerâ which is not static [-Werror] addToFloatAvg(&(p->filterBrightness), getADCvalue_inverted()); ^ ./devices/helligkeitssensor.c:68:4: error: âsetADMUXâ is static but used in inline function âhelligkeitssensor_timer_handlerâ which is not static [-Werror] setADMUX(p->config.port); ^ cc1: all warnings being treated as errors
Das kann ich wie gesagt nur verhindern, in dem man Wno-error den cflags hinzfügt, vermutlich auch wenn man Werror entfernen würde.

Ich habe gerade das image nochmal komplett neu geschrieben und mich exakt an die Vorgaben für Ubuntu gehalten, mit dem gleichen Effekt.
Welche Compiler Version wird denn empfohlen?

Grüße
Andreas

from openhcan.

hcanIngo avatar hcanIngo commented on June 1, 2024

Hallo Andreas,
habe das openHCAN-master.zip von hier heruntergeladen, entpackt und dann in openHCAN-master ein make durchgeführt. Läuft. Anleitung findest du hier: https://github.com/hcanIngo/openHCAN/wiki/entwicklungsumgebung_installieren

Den zuletzt von mir verwendeten Compiler findest du hier: https://github.com/hcanIngo/openHCAN/blob/master/liesmich.txt

Wenn wir den Compilerschalter -Werror weglassen, dann werden sich im Laufe der Zeit immer mehr "warnings" einschleichen. Daher wäre das keine gute Idee.

Grüße,
Ingo

from openhcan.

AndreasW79 avatar AndreasW79 commented on June 1, 2024

... ein paar Stunden später ...
Mit dem Parameter -fgnu89-inline funktioniert es.

Die Erklärung hierzu findet man hier:
https://gcc.gnu.org/gcc-5/porting_to.html

Damit hören auch die Error Meldungen auf - wundert mich nur, warum die Meldung nicht jeder mit einem gcc Version < 6 in dieses Problem läuft.

Danke für die Hilfe.

Grüße
Andreas

from openhcan.

hcanIngo avatar hcanIngo commented on June 1, 2024

Hallo Andreas,
geht doch :)
Aber im Ernst: Dafür ist die getestete Compilerversion notiert. Und keiner von uns kann alles testen. Scheitert schon daran, das z. B. ich den Bananapi mit Armbian 5.34 (Debian 9 - Stretch) verwende: https://github.com/hcanIngo/openHCAN/wiki/bananapi-hi

Zusammenfassung: Bei folgenden Compilerversionen:

  • avr-libc 2.0.0
  • avr-gcc (GCC) 5.4.0
  • cmake 3.7.2-1
  • gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516
  • clang version 4.0.1-10+rpi1~bpo9+1 (tags/RELEASE_401/final)

ist erst einmal folgender Compilerschalter nötig:

-fgnu89-inline

from openhcan.

AndreasW79 avatar AndreasW79 commented on June 1, 2024

Hallo Ingo,

Deine Anmerkung zu dem Hinweis auf die notierte Compilerversion verstehe ich nur anteilig, denn ich verwende ja genau die Compiler Version - zumindest die gcc Version welche hier notiert ist und in dem Hinweis zur Version fehlt m. E. der Hinweis auf -fgnu89-inline - oder habe ich das irgendwo übersehen?

Ich werde heute noch einmal ein neues Image vorbereiten und mit den Stretch (das aktuelle Rasbpian basiert auch auf Debian 9 - Stretch) Versionen einen Build testen. Wenn es nur der Parameter -fgnu89-inline ist wäre die Ergänzung in dem Hinweis, zumindest im Kontext zum Raspberry, hilfreich :)

Ich würde auch anbieten den Pages/Wiki Bereich um eine Seite zum Raspberry zu ergänzen.

Grüße
Andreas

from openhcan.

RealMerlin avatar RealMerlin commented on June 1, 2024

from openhcan.

hcanIngo avatar hcanIngo commented on June 1, 2024

Hallo Martin,
das klingt doch gut. Mal schauen, ob der alte Compiler damit auch zufrieden ist...

inline: Der Pre-Compiler versucht -falls möglich- den Code überall direkt ohne Funktionsaufruf einzusetzen. Führt zur Performance-Steigerung. Andererseits versucht der Pre-Compiler auch ohne inline bereits derartige Optimierungen.

extern: Die Funktion ist außerhalb dieser Datei aufrufbar.

@AndreasW79: Eine Anleitung für Raspberry ist eine schöne Erweiterung das Projekt.

Viele Grüße,
Ingo

from openhcan.

RealMerlin avatar RealMerlin commented on June 1, 2024

from openhcan.

hcanIngo avatar hcanIngo commented on June 1, 2024

Hey Martin,
sehr gut, dann ist es wohl damit geschafft.
Sorry, ich bin erst einmal raus: Habe dem Ubuntu-Update von Version 17.10 auf 18.04 zugestimmt. Nun bootet der PC nicht mehr :(

Viele Grüße,
Ingo

from openhcan.

RealMerlin avatar RealMerlin commented on June 1, 2024

from openhcan.

hcanIngo avatar hcanIngo commented on June 1, 2024

ok, prima Martin!
Bin nun auch auf Ubuntu 18.04. Somit kann ich 17.10 nicht mehr prüfen. Habe daher
https://github.com/hcanIngo/openHCAN/wiki/entwicklungsumgebung_installieren aktualisiert.

Viele Grüße,
Ingo

from openhcan.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.