Leider gibt es aktuell durch fehlende Programmierrichtlinien und den aktuell nicht modularen Code einen recht großes Chaos von Forks.
Was helfen würde:
- Getrennte Konfigurationsdatei mit Beispieldatei. Die eigentliche Konfiguration sollte nicht auf Github landen. Dadurch ist sichergestellt, dass die für jeden Individuelle Konfiguration nicht hochgeladen wird.
- Aufteilung der einzelnen Module in Dateien. Dadurch sollten die Abhängigkeiten der einzelnen Module klarer verteilt werden.
- Verringerung des globalen Zugriffs auf Variablen / Funktionen.
- Abhängigkeiten zu einzelnen ICs auslagern. Dadurch wird es Möglich nur mit wenig Aufwand andere ICs zu unterstützen. Für den ESP32 / ESP8266 sind aktuell nur kleine Änderungen nötig, machen diese aber dann wiederrum für die klassischen ATMELs inkompatibel.
Meine Ideen werde ich nur Umsetzen, wenn die Zeit bei mir reicht. Für meinen ESP32 Fork mit passender LOLIN32 Platine werde ich erst einmal „nur“ als unsauberen Fork bereitstellen. Ggbfs. ziehe ich die gesäuberte Version dann nach.