Alle Defines an einen Ort schieben

Ich weiß, die Idee, alle Konfigurationszeilen in eine eigene Datei zu verschieben, wurde mehrfach im Github abgelehnt.
Wäre es zumindest möglich, alle #defines ganz nach oben zu schieben? Aktuell sind zusammengehörige Optionen über den ganzen Source verteilt. So ist z.B. die Fivebuttons-Option auf Zeile 21, während die Einstellungen welche Buttons auf welchen Pins sind erst auf Zeile 636 beginnen. Man muss sich also den ganzen Source durchlesen um zusammengehörige Einstellungen zu finden.

Alle #defines an eine Stelle zu schieben (nämlich den Anfang des Files) hätte auch den Vorteil, dass man nicht so einfach eine wichtige Option übersieht.

Auf den Code hätte es auch keine Auswirkung, da es egal ist, wo im Code die #defines stehen.

2 „Gefällt mir“

Genau das habe ich bei mir schon vor längerer Zeit umgesetzt. Das hat keine Nachteile für die Funktion. Außerdem kann man so alle Erweiterungen die man dem Sketch hinzugefügt hat über die Defines aktivieren oder deaktivieren. Desgleichen habe ich alle Definitionen für die Pins an den Anfang des Sketches gesetzt. Das macht aus meiner Sicht den Umfang des Sketches übersichtlicher.

1 „Gefällt mir“

Es spricht ja nichts dagegen, dass du dir die defines an den Anfang ziehst.
Und wenn man den original Schaltplan nachbaut besteht ja auch kein Bedarf was am code zu ändern.

Ich habe auch so das Gefühl, dass die Software nicht großartig angepasst wird, weil sie zum einen läuft
und zum andern die AiO Platine gerade die ganze Aufmerksamkeit bekommt.
Es wird mit ihr auch ein neuer Softwarestand kommen müssen, aufgrund der neuen Funktionen.
Deshalb würde ich mich in Geduld üben und mich überraschen lassen.

1 „Gefällt mir“

„Bei mir“ die Defines nach oben ziehen bringt nur gar nichts, da ich das bei jedem Update neu machen muss. Das heißt, ich muss mir die Defines suchen, alle nach oben schieben und sie dann dort ändern.

Das ist schwer unnötig.

Deswegen ist es eigentlich gängige Praxis in quasi allen Projekten, dass man alle Sachen, die Nutzer ändern können wollen würden an einem Ort sind. Bei größeren Projekten hat man dann alles in einem eigenen File (config.h), bei kleineren Projekten sind alle Optionen am Anfang des einen Source Files.

Dass die meisten Leute nichts konfigurieren müssen seh ich auch nicht wirklich als Argument.

Würde man die Defines an den Anfang ziehen, hätte es den Vorteil, dass die, die was konfigurieren müssen, das sehr viel einfacher machen können. Behält man die aktuelle Situation bei, dann hat das gar keinen einzigen Vorteil.

Diese Änderung ist eigentlich ein no-brainer. Deswegen ist das auch Industriepraxis.

Ich fände es auch praktisch. Ich habe ja die zwei Versionen installiert und musste bei beiden dann lange scrollen um die Einstellungen vorzunehmen. In den ersten paar Zeilen würde die Übersicht und Handhabung erheblich verbessern.

Hast du das denn mal als Pull Request angeboten?

Jetzt schon:

Ähnliche Pull-Requests sind hald bisher noch nicht durchgegangen.