odstranit Ukaž
Weiterschaltung
' Bei Beenden/Löschen eines Fahrplans soll auch nicht weitergeschalten werden. Dies wird durch Umgehung der Änderungsprüfung (unten) verhindert (auf -1 setzen).
(M.V.GetTTBusstopIndex) -1 =
{if}
(M.V.GetTTBusstopIndex) (S.L.current_stopindex)
{endif}
' Wenn sich der Haltestellenindex geändert hat, den state auf 1 setzten, damit beim nächsten Überschreiten von 40m Entfernung ausgelöst werden kann
(L.L.current_stopindex) (M.V.GetTTBusstopIndex) = ! (M.V.GetTTBusstopIndex) 1 = ! &&
{if}
(L.L.current_stopindex) -1 =
{if}
(M.V.GetTTBusstopIndex) (S.L.current_stopindex)
{else}
1 (S.L.IBIS_State)
(L.L.kmcounter_m) (S.L.meter_startwert)
(M.V.GetTTBusstopIndex) (S.L.current_stopindex)
{endif}
{endif}
' Wenn ausgelöst werden soll, die dazu benötigten Befehle aufrufen und state zurücksetzen, damit nur 1 Mal ausgelöst wird
(L.L.kmcounter_m) (L.L.meter_startwert) - 40 > (L.L.IBIS_State) 1 = &&
{if}
(L.L.IBIS_busstop) (M.V.GetTTBusstopIndex) =
{if}
0 (S.L.IBIS_State)
{else}
(L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
(M.L.IBIS_RefreshBusstop)
(M.L.IBIS_PlayAnnouncement)
' Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
0 (S.L.IBIS_State)
{endif}
{endif}
' Folgender Vergleich wirkt vielleicht blöd (kmcounter_m minus meter_startwert kann eigentlich nicht negativ sein, ist es aber manchmal!) liegt daran, dass der kmcounter_m nach einem Überlauf (wenn er größer als ~1000 ist) wieder auf 0 gesetzt wird
(L.L.kmcounter_m) (L.L.meter_startwert) - 0 < (L.L.IBIS_State) 1 = &&
{if}
(L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
(M.L.IBIS_RefreshBusstop)
(M.L.IBIS_PlayAnnouncement)
' Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
0 (S.L.IBIS_State)
' Bei Beenden/Löschen eines Fahrplans soll auch nicht weitergeschalten werden. Dies wird durch Umgehung der Änderungsprüfung (unten) verhindert (auf -1 setzen).
(M.V.GetTTBusstopIndex) -1 =
{if}
(M.V.GetTTBusstopIndex) (S.L.current_stopindex)
{endif}
' Wenn sich der Haltestellenindex geändert hat, den state auf 1 setzten, damit beim nächsten Überschreiten von 40m Entfernung ausgelöst werden kann
(L.L.current_stopindex) (M.V.GetTTBusstopIndex) = ! (M.V.GetTTBusstopIndex) 1 = ! &&
{if}
(L.L.current_stopindex) -1 =
{if}
(M.V.GetTTBusstopIndex) (S.L.current_stopindex)
{else}
1 (S.L.IBIS_State)
(L.L.kmcounter_m) (S.L.meter_startwert)
(M.V.GetTTBusstopIndex) (S.L.current_stopindex)
{endif}
{endif}
' Wenn ausgelöst werden soll, die dazu benötigten Befehle aufrufen und state zurücksetzen, damit nur 1 Mal ausgelöst wird
(L.L.kmcounter_m) (L.L.meter_startwert) - 40 > (L.L.IBIS_State) 1 = &&
{if}
(L.L.IBIS_busstop) (M.V.GetTTBusstopIndex) =
{if}
0 (S.L.IBIS_State)
{else}
(L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
(M.L.IBIS_RefreshBusstop)
(M.L.IBIS_PlayAnnouncement)
' Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
0 (S.L.IBIS_State)
{endif}
{endif}
' Folgender Vergleich wirkt vielleicht blöd (kmcounter_m minus meter_startwert kann eigentlich nicht negativ sein, ist es aber manchmal!) liegt daran, dass der kmcounter_m nach einem Überlauf (wenn er größer als ~1000 ist) wieder auf 0 gesetzt wird
(L.L.kmcounter_m) (L.L.meter_startwert) - 0 < (L.L.IBIS_State) 1 = &&
{if}
(L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
(M.L.IBIS_RefreshBusstop)
(M.L.IBIS_PlayAnnouncement)
' Nullsetzen des Timers für den Zeilenwechsel der LCD-Innenanzeige
0 (S.L.IBIS_LCD-zeilentimer) (S.L.IBIS_LCD-zeile)
0 (S.L.IBIS_State)
A vymaž to. Pak by to zastávky samo hlásit nemělo.