Go Down

Topic: Millis Befehl, Steuerung Schattenbahnof.  (Read 2309 times) previous topic - next topic

kgbrus

Das ist der Punkt an dem ich Angst bekomme ;)
Jetzt hab ich aber verstanden wozu Arrays da sind, um mich daran zu begeben muß ich mir aber noch ein paar Grundlagen beibringen. Denn wenn ich ehrlich bin blicke ich durch meinen Code besser durch als durch die beiden Array Codes von euch.... Da fehlt mir doch noch so einiges.

Zum Üben werde ich jetzt als erstes mal in dem anderen Programm von mir, die einzelnen Zeilen durch Funktionen ersetzten.

Gruß und nochmals Danke für die Hilfe


Kay


noiasca

#46
Sep 23, 2020, 01:37 pm Last Edit: Sep 23, 2020, 01:38 pm by noiasca
Quote
Vielleicht etwas allgemeines, ich will nicht der C++ Guru werden und werde auch nicht, glaub ich, Seitenweise Programme schreiben.
Betrachte es so: "seitenweise" sind deine ersten Programme auch schon gewesen. Künftig wirst du durch geschickte Anwendung nur ein MEHR an Funktionalität in deine Programme packen ohne dass sie wesentlich länger werden.

Irgendwann kommen vieleicht Start-Ziel Fahrten hinzu, dann eine Flankensicherung, dann...
Das ist das schöne an Software - es ist schneller umgebaut als eine Weiche im Gleisschotter.
Geht etwas nicht wie gewünscht, na dann halt wieder alten Sketch draufgespielt und weiter gespielt.

Mach mal dein Funktionendingens und dann gib bescheid wenns der nächste Schritt werden soll.

Ob Array oder Struct ist so eine Sache. Tendenziell würde ich auch das Array nehmen, aber in Hinsicht auf die zukommende Tipparbeit, würde ich fast eher mit dem struct weitermachen um dann die Änderung in einem Aufwasch zu machen...


how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

MicroBahner

Das ist der Punkt an dem ich Angst bekomme ;)
Must Du nicht, wir sind ja bei dir  :D .

Jetzt hab ich aber verstanden wozu Arrays da sind, um mich daran zu begeben muß ich mir aber noch ein paar Grundlagen beibringen.
Das ist doch schonmal eine gute Grundlage. Hast Du dir den obigen Link zur 'delay-freien Programmierung' schonmal angeschaut? Beim 2. Teil habe ich da auch was zu Arrays geschrieben in einer ähnlichen Anwendung.

@noiasca:
Ob Array oder Struct ist so eine Sache.
Das ist keine Alternative. Arrays können Structs nicht ersetzen und umgekehrt. Array's braucht man in diesem Fall immer. Struct's wäre noch eine Erweiterung der Strukturierung. Dann käme man zu 'Arrays of Structs'.
Gruß, Franz-Peter

noiasca

#48
Sep 23, 2020, 04:18 pm Last Edit: Sep 23, 2020, 04:19 pm by noiasca
ich meinte auch nicht entweder oder verwenden, sondern welches der beiden der nächste Schritt sein soll (siehe Satz davor!).
brauchen wird er beides...
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

MicroBahner

#49
Sep 23, 2020, 04:24 pm Last Edit: Sep 23, 2020, 04:27 pm by MicroBahner
Sorry, dann hatte ich das falsch verstanden. Um den Sketch einzudampfen und die Tipparbeit bei weiteren Schritten zu reduzieren, sind aber erstmal die Arrays angebracht. Wo Structs Tipparbeit ersparen ( ausser bei der Variablendefinition ) sehe ich erstmal nicht. Beim Zugriff auf die Elemente ist es eher mehr Tipperei ;) .
Gruß, Franz-Peter

combie

Vorsicht: Es folgt eine Meinung.


Wie schon mal gesagt, aus meiner Sicht zählt hier das Mantra:
> Fasse zusammen, was zusammen gehört.

Das ist in erster Linie die Struktur pro Weiche.
In zweiter Line, die Weichen in einem Array.

Polemik:
Erst die Weichen Bestandteile in ein halbes Dutzend Arrays zu pressen, um die in nächsten Schritt wieder raus zu holen, ist das freimütige und eigentlich unnötige Eingeständnis eines Irrweges.


Aber wie auch immer....
Meine Sorge/Verwirrung soll es nicht sein.
Und dass die Multiarray Variante verwirrt, haben wir ja eben gesehen.
> Das ist der Punkt an dem ich Angst bekomme ;)
Es ist offensichtlich, dass uns die Umstände alleine nicht glücklich oder unglücklich machen.
Es ist die Art unserer Reaktion darauf, die unsere Gefühle bestimmt.

noiasca

jetzt bekomme ich fast Angst wenn sich deine Meinung mit meiner deckt ...
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

MicroBahner

#52
Sep 23, 2020, 05:36 pm Last Edit: Sep 23, 2020, 05:45 pm by MicroBahner
Das ist in erster Linie die Struktur pro Weiche.
In zweiter Line, die Weichen in einem Array.
Vorsicht, auch eine Meinung ;) :
Dann aber erstmal das ganze Programm für eine Weiche/2 GLeise mit Struct neu erstellen, und dann per Array auf mehrere Gleise aufbohren. Wir reden hier über ein bereits existierendes Programm. Den Bandwurm wie er jetzt ist, erst auf Struct zu ändern, und dann per Array einzudampfem macht mMn erst Recht keinen Sinn.

Ich befürchte allerdings, das wir mit dieser Diskussion unseren Kay komplett verwirren.


P.S. Ich kenne auch kein C++ Buch, dass die Struct vor den Arrays erklärt.
Gruß, Franz-Peter

Tommy56

Manches Mal ist es sinnvoller, das Bestehende (uneffektive) beiseite zu legen und neu anzufangen. Sonst verwirrt man sich in den eigenen Beschränkungen des Altcodes.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

kgbrus

Vorsicht, auch eine Meinung ;) :
Dann aber erstmal das ganze Programm für eine Weiche/2 GLeise mit Struct neu erstellen, und dann per Array auf mehrere Gleise aufbohren. Wir reden hier über ein bereits existierendes Programm. Den Bandwurm wie er jetzt ist, erst auf Struct zu ändern, und dann per Array einzudampfem macht mMn erst Recht keinen Sinn.

Ich befürchte allerdings, das wir mit dieser Diskussion unseren Kay komplett verwirren.


P.S. Ich kenne auch kein C++ Buch, dass die Struct vor den Arrays erklärt.
Da ich eh nix verstanden hab, hab ich auch nicht zugehört :-)

Falls es nicht anders geht, würde ich ja auch den Sketch neu machen. Nur würde ich mal behaupten, das ich zunächst noch einiges lernen muss. Bzw einiges noch besser verstehen muss. Sonst fang ich noch mehrfach neu an. Das schöne ist, ich hab ja was lauffähiges was ich nach und nach verbessern und ausbauen kann.
Es wird ja auch nicht der letztte Sketch bleiben.
Pendelzug, ampelschaltung, Blitzer mit geschwindigkeitsmessung. Tag / nachtschaltung. Beleuchtungssimulation in Häusern....
Also noch viele Möglichkeiten Bandwürmer zu Basteln :-)

combie

#55
Sep 23, 2020, 06:30 pm Last Edit: Sep 23, 2020, 06:30 pm by combie
Quote
P.S. Ich kenne auch kein C++ Buch, dass die Struct vor den Arrays erklärt.
Das erste Buch welches ich aus dem Regal gezogen habe.
Der  C++ Programmierer(C++14) von Ulrich Breymann
struct Seite 85
Array Seite 201

Seitenzahlen dem Register entnommen.

---

Aber das ist mir nicht wichtig, da meiner Ansicht nach die konkrete Anwendung die Reihenfolge vorgibt.
In Lehre und Ausbildung mag das anders sein.


Es ist offensichtlich, dass uns die Umstände alleine nicht glücklich oder unglücklich machen.
Es ist die Art unserer Reaktion darauf, die unsere Gefühle bestimmt.

noiasca

Quote
Pendelzug, ampelschaltung, Blitzer mit geschwindigkeitsmessung. Tag / nachtschaltung. Beleuchtungssimulation in Häusern....
dann wird's Zeit für millis ... gell ...
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

kgbrus

dann wird's Zeit für millis ... gell ...
Japp, womit wir wieder beim Eingangsposting wären.

Gruss

Kay

agmue

Das schöne ist, ich hab ja was lauffähiges was ich nach und nach verbessern und ausbauen kann.
Nun ja, das kann ich leider nicht bestätigen. Ich habe allerdings keinen Schattenbahnhof, keinen STM32, da bin ich mit einer Aussage mal ganz vorsichtig. Aber wenn ich Dein Programm (mit delay) auf einen Mega2560 umschreibe und LEDs anschließe, bekomme ich eine Blinkschaltung. Wie das mit der Funktion eines Schattenbahnhofs zusammenhängen soll, erschließt sich mir nicht.

Mein Programm in #44 macht dieses Blinken auch, so gesehen gibt es eine Übereinstimmung.

Was also ist die eigentliche Idee? Wird diese Idee von Deinem Programm wirklich realisiert?

Wenn Du zu #44 Fragen hättest, könntest Du fragen.

Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

kgbrus

#59
Sep 23, 2020, 08:14 pm Last Edit: Sep 23, 2020, 08:17 pm by kgbrus
Hallo agmue,

Das Programm macht folgendes:
Bei der Einfahrt in den SBH (Lichtschranke LSHaupt) wird auf 4 Gleisen geschaut ob da ein Zug steht (lichtschranken LSGB1 - 4)
Dementsprechend wird einer der beiden Anschlüsse der jeweiligen weiche geschaltet.

Beispiel:
Lok steht auf Gleis 1. LSBG1 ist High. Eine weitere Lok fährt in den SBH LShaupt geht auf High. Somit wird der Anschluss von weiche 1 der auf geradeaus schaltet (W1G)für 1 Skunde auf Higv geschaltet. Die genauso bei den Gleisen 2, 3 ,4 . Die Weichenstellung für Gleis5 ergibt sich dann automatisch.
Sind alle 5 Gleise besetzt, wird die Weiche vor dem SBH (WhauptA) auf abbiegen geschaltet, damit der einfahrrnd3 Zug am SBH vorbei geleitet wird.

Das funktioniert auch.

Morgen lade ich dein Programm mal in ein Board und probiere das aus. Danke

Gruss

Kay

Go Up