'Bedingung, dass die erste Haltestelle des Fahrplanes aktiv ist
(L.$.Yard) "Mainz" $=
(L.L.schedule_active) 1 = &&
(M.V.GetTTBusstopIndex) 0 = &&
(L.L.IBIS_SelectIndex) 0 = &&
(L.L.IBIS_Linie_Complex) 0 > &&
{if}
1 (S.L.IBIS_SelectIndex)
(T.L.ev_IBIS_piep)
{endif}
'Setzte den Index an der 2. HST wieder auf null für den nächsten Wechsel am Ende der Route
(L.$.Yard) "Mainz" $=
(L.L.schedule_active) 1 = &&
(M.V.GetTTBusstopIndex) 0 > &&
(L.L.IBIS_SelectIndex) 2 = &&
{if}
0 (S.L.IBIS_SelectIndex)
(T.L.ev_IBIS_piep)
{endif}
(L.$.Yard) "Mainz" $=
(L.L.schedule_active) 1 = &&
{if}
0 (M.V.GetTTBusstopDep) 3600 / s0 trunc s1 "02" $IntToStrEnh ":" $+ l0 l1 - 60 * trunc s2 "02" $IntToStrEnh $+ (S.$.RouteSel_Time)
" " 0 (M.V.GetTTBusstopName) $+ " --> " $+ (M.V.GetTTTerminusIndex) 0 (M.V.GetTerminusString) $+ "@" $+
" Route " $+ (M.V.GetTTLineString) $RemoveSpaces 2 $SetLengthR $+ "@" $+
" Linie " $+ (M.V.GetTTLineString) $RemoveSpaces 2 $cutEnd $+ (S.$.RouteSel_Data)
{else}
" " (S.$.RouteSel_Time) (S.$.RouteSel_Data)
{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}
(M.V.GetTTBusstopIndex) 0 = !
{if}
(L.L.current_stopindex) (S.L.IBIS_busstop)
{else}
(L.L.IBIS_busstop) 1 + (S.L.IBIS_busstop)
{endif}
(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)
' 1 (S.L.IBIS_reload)
(M.L.IBIS_LCD-refresh)
(M.L.IBIS_LCD-refresh_2)
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}
(M.V.GetTTBusstopIndex) 0 = !
{if}
(L.L.current_stopindex) (S.L.IBIS_busstop)
{else}
(L.L.IBIS_busstop) 2 + (S.L.IBIS_busstop)
{endif}
(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)
' 1 (S.L.IBIS_reload)
(M.L.IBIS_LCD-refresh)
(M.L.IBIS_LCD-refresh_2)
0 (S.L.IBIS_State)
{endif}
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 8 návštevníků