Gast
#3636008
Mahlzeit, ich arbeite daheim an einem mittelgroßen uC Projekt. Die Funktion meines Gerätes ist relativ trivial, eine typische Bastleruhr mit paar lustigen Features. Allerdings wird sehr viel verschiedene Controllerhardware benötigt, im Spiel sind ADC, UART, DCF77, Spi, Schieberegister usw. Deswegen hab ich das nicht eben mal dreckig reingehackt sondern sauber modular aufgebaut, schöne Schnittstellen geschaffen und auf Wiederverwertbarkeit des Codes geachtet. Jetzt hab ich eine schöne Codebasis, aus der ich mich für zukünftige Projekten bedienen kann. Das ganze hab ich auch mit git als Versionsverwaltung gelöst, dadurch konnte ich je nach Belieben an verschiedenen Modulen simultan arbeiten, indem ich einfach den Branch gewechselt habe. Wenn ein Modul oder Feature fertig war hab ichs in den Hauptzweig gemergt. Somit haben auch alle meine Module eine saubere Versionshistorie. Im root-Ordner meines Projektes liegt also der .git Ordner. So, jetzt mein Problem. Ich würde mein Gerät gerne um ein Feature erweitern. Das Modul wird recht umfangreich, vielleicht sogar das Größte der bisherigen Software. Im Grunde könnte es fast schon als eigenständiges Projekt durchgehen. Wenn es fertig ist würde ich es gerne als OpenSource veröffentlichen, da es vielleicht dem ein oder anderen nützen kann und nicht speziell auf mein Projekt zugeschnitten ist. Dementsprechend wäre mein erster Gedanke, ein eigenes Projekt mit eigenem git-Repository anzulegen. Allerdings braucht dieses Modul eine Softwareumgebung, in der es laufen kann, sonst ist es nicht sinnvoll (ähnlich einer FAT-Bibliothek, die für sich alleine ja eigentlich wenig Nutzen hat). Da würde sich eben meine Uhr anbieten. Aber dann wüsst ich spontan nicht, wie ich eine separate Projekthistorie kriege. Wenn ich mein Repository später mal auf github o.Ä. hochlade will ich da nicht meinen Uhrencode drinhaben weil der keinen interessieren wird. Das spricht auch für ein eigenes Projekt, angereichert mit bisl Testcode drum herum, der das Modul nutzt. Was dagegen spricht: das Projekt wird sich wohl hinziehen, und ich will dieses geplante Feature vielleicht schon teilweise in meiner Uhr nutzen. Daher würde es sich anbieten, das Modul eben doch im bisherigen git-Projekt zu entwickeln. So, steh grad bisl aufn Schlauch. Wie würdet ihr dieses Projekt organisieren? - Eigenes Projekt, und funktionierende Teilstände in die Uhr rüberkopieren? - direkt im Uhrenprojekt entwickeln? Grüße!