Asystent Pasa Ruchu
Z UMP
(→Jak stworzyć mapę z dodatkowymi komunikatami) |
(→Dobre praktyki - standardy pisania komunikatów: uaktualnienie dotyczace drogowskazow) |
||
(Nie pokazano 27 wersji pośrednich.) | |||
Linia 1: | Linia 1: | ||
Asystent Pasa Ruchu ( w tworzeniu) | Asystent Pasa Ruchu ( w tworzeniu) | ||
- | + | == Asystent Pasa Ruchu by Garmin == | |
- | Garmin w | + | Garmin w odbiornikach nüvi serii 7x5 dodał nową funkcjonalność: Asystent Pasa Ruchu (Lane Assist). Pomaga ona wybrać odpowiedni pas na skomplikowanych skrzyżowaniach. Wygląda to tak: (strzałki w lewym górnym rogu) |
[[Grafika:AsystentPasRuchu4.JPG]] | [[Grafika:AsystentPasRuchu4.JPG]] | ||
- | Na terenie Polski asystent jest dostępny tylko w mapie CNE 2009 i nowszych. GPMapa 2009.2 jak i UMP | + | Na terenie Polski asystent jest dostępny tylko w mapie CNE 2009 i nowszych. GPMapa 2009.2 jak i UMP nie ma jeszcze tej funkcjonalności. |
- | + | == Asystent Pasa Ruchu by UMP == | |
- | W mapach projektu UMP | + | W mapach projektu UMP od października 2009 mamy możliwość używać namiastki asystenta pasa ruchu. |
- | Mamy wpływ co wyświetla się w górnym zielonym pasku | + | Mamy wpływ na to, co wyświetla się w górnym zielonym pasku nüvi. |
- | Zwykle znajduje się tam nazwa ulicy w którą skręcamy | + | Zwykle znajduje się tam nazwa ulicy w którą skręcamy. Teraz w nawiasach może pojawić się dodatkowy komunikat. |
- | Oto | + | Odbiorniki z funkcjonalnością TTS mogą go oczywiście przeczytać.(To było pisane przez Alfa nuvi 360 ???, 765T nie czyta tych komunikatów) |
+ | |||
+ | Oto przykładowe zrzuty z ekranu nuvi 200 v2 i programu GarminMobilePC: | ||
[[Grafika:AsystentPasRuchu5.JPG]] | [[Grafika:AsystentPasRuchu5.JPG]] | ||
Linia 20: | Linia 22: | ||
[[Grafika:AsystentPasRuchu3.JPG]] | [[Grafika:AsystentPasRuchu3.JPG]] | ||
- | + | == Jak stworzyć mapę z dodatkowymi komunikatami == | |
- | Najpierw instalujemy sobie [[Skins|Skórki dla Mapedita]]. Bez tego | + | Najpierw instalujemy sobie [[Skins|Skórki dla Mapedita]]. Bez tego wprawdzie też można tworzyć linie obsługujące dodatkowe komunikaty, ale będą wyświetlane cienką czerwoną przerywaną linią, nie odróżniającą się od różnych innych typów specjalnych. |
- | W miejscu gdzie chcemy dodać komunikat tworzymy nową | + | W miejscu gdzie chcemy dodać komunikat tworzymy nową trójwęzłową linię typu 0x2f (Podpowiedź) |
- | Powinna być ona zaczepiona w węzłach podobnie jak zakazy skrętu. | + | Powinna być ona zaczepiona w węzłach, podobnie jak zakazy skrętu i być narysowana we właściwą stronę. |
[[Grafika:AsystentPasRuchu6.JPG]] | [[Grafika:AsystentPasRuchu6.JPG]] | ||
- | Nowy komunikat będzie | + | Nowy komunikat będzie wyświetlany w czasie nawigacji wraz z informacją o planowanym manewrze. |
- | + | UWAGA: Jeśli GPS nie planuje w miejscu użycia linii 0x2f wyświetlać żadnego komunikatu, to jej obecność tego nie spowoduje. | |
+ | :Czyli najpierw GPS decyduje, czy komunikat padnie, niezależnie od istnienia Podpowiedzi. | ||
+ | :Dopiero po tej decyzji dodawana jest Podpowiedź, jeśli jest zdefiniowana za linii pomocą 0x2f | ||
- | + | Dodatkowe komunikaty NIE DZIAŁAJĄ w wersji testowej mapy. Obsługiwane są wersje NI, ogonki i topo. | |
- | == | + | == Technikalia == |
- | * Komunikaty powinny być krótkie. Wyświetlane są za nazwą drogi i na | + | Jak to działa *technicznie*? |
- | * Nie ma jeszcze standardu co umieszczamy w komunikatach. Jak dotąd używamy: | + | |
+ | Linia 0x2f zamieniana jest na najnowszą nowinkę w kompilatorze: | ||
+ | [SIGN] | ||
+ | SignPoints=20448,20640,20618 | ||
+ | SignRoads=9941,9828 | ||
+ | SignParam=T,cośtam | ||
+ | [END] | ||
+ | |||
+ | Ograniczenia i możliwości | ||
+ | * linia może mieć tylko trzy punkty, czyli dwa odcinki, a nie więcej (jak w przypadku zakazów) | ||
+ | * w opisie linii 0x2f można pisać | ||
+ | ** Label=T,cośtam (T jak Toward - po polsku '''do''' ), jako najbardziej naturalny jest stosowany jako domyślny | ||
+ | ** Label=E,cośtam (E jak Exit- po polsku ??) | ||
+ | ** Label=O,cośtam (O jak Onto - po polsku ??) | ||
+ | * nie działa w wersji roboczej, a tylko w wersjach ogonkowej, NI i topo | ||
+ | |||
+ | Opcja E,cośtam w label oznacza Exit – | ||
+ | czyli wyjazd. Jeśli dodamy linię drogowskazową z Label=E,''label'', to w | ||
+ | odbiorniku pojawi się informacja: Zjazd ''label'' w lewo. Może być | ||
+ | przydatne na autostradach, do numerowania albo nazywania zjazdów, np: | ||
+ | Zjazd 2 w lewo (Label=E,2), albo Zjazd EMILIA w lewo (Label=E,Emilia, | ||
+ | emilia pojawi się kapitalikami, tak było przynajmniej u mnie (PW) podczas | ||
+ | testów). | ||
+ | |||
+ | Równie przydatna może być opcja O, która też dosyć tajemniczo jest | ||
+ | wyjaśniona jako Onto. A po polsku? A po polsku to oznacza ni | ||
+ | mniej ni więcej tylko 'na' i może się przydać jeśli mamy strasznie | ||
+ | długaśną nazwę ulicy. I tak, jeśli powiedzmy ulica nazywa się: aleja | ||
+ | 1000-lecia Państwa Polskiego wtedy to 1000-lecie będzie wyświetlone na | ||
+ | pasku nawigacji. Używając opcji O,Label możemy to zmienić i uzyskać | ||
+ | informację Skręć w lewo/trzymaj się prawe w Label. | ||
+ | |||
+ | == Dobre praktyki - standardy pisania komunikatów== | ||
+ | Od momentu gdy UMP zaczęło być używalne w nawigacjach bazujących na OSM, zaistniała potrzeba ujednolicenia standardu nazywania podpowiedzi/komunikatów, tak aby podczas konwersji mp->xml można było rozpoznać czy podpowiedź dotyczy wyboru pasa ruchu, czy drogowskazu na który trzeba się kierować. Ponieważ w wersjach mapy bazujących na konwersji do xml (osm) komunikaty inne niż drogowskazy są ignorowane, dlatego stworzone zostały poniższe standardy, aby można było automatycznie rozróżnić podczas konwersji, czy brać pod uwagę tę podpowiedź czy nie. | ||
+ | |||
+ | * Komunikaty będące drogowskazami np. Katowice, Kraków, 91 Gdańsk (gdzie 91 to numer drogi) | ||
+ | ** Jeśli drogowskaz nie zawiera numeru drogi, to w Label wpisz: '''T,MiastoA/MiastoB/MiastoC''' lub '''T,MiastoA,MiastoB,MiastoC'''. "T," jest automatycznie usuwane zarówno przez Garmina jak i konwerter, a MiastoA/MiastoB/MiastoC lub MiastoA,MiastoB,MiastoC jest automatycznie dzielone na odpowiednie wpisy w xml. Wyższy priorytet dla oddzielania miejscowości ma znak '''"/"''' dlatego gdy pojawią się w jednej linii i przecinek i slash to używany będzie '''"/"'''. | ||
+ | ** Jeśli drogowskaz zawiera numer drogi to w Label wpisz '''[nr_drogi_1/nr_drogi2] Miasto1/Miasto2/Miasto3''' lub '''[nr_drogi_1,nr_drogi2] Miasto1,Miasto2,Miasto3''', lub '''[nr_drogi_1/nr_drogi2] Miasto1,Miasto2,Miasto3''' lub '''[nr_drogi_1,nr_drogi2] Miasto1/Miasto2/Miasto3'''. Nie trzeba wtedy dodawać na początku "T," ale jest to dozwolone. Numer drogi i miasta są traktowane niezależnie, dlatego można użyć do rozdzielania numerów i miast zarówno "/" jak i ",", ważne aby zachować jednorodność w ramach numeru i miejscowości. | ||
+ | |||
+ | * Wszelkie pozostałe komunikaty | ||
+ | ** W Label w takim przpadku wpisz po prostu co chcesz zobaczyć na belce Garmina np. lewy pas, prawy pas itd. W wersji xmlowej zostanie to zignorowane. | ||
+ | |||
+ | Pozostałe ustalenia: | ||
+ | |||
+ | * Komunikaty powinny być krótkie. Wyświetlane są za nazwą drogi i na wąskich odbiornikach nie będą się mieścić. | ||
+ | * Nie ma jeszcze standardu, co umieszczamy w komunikatach. Jak dotąd używamy: | ||
** lewy pas | ** lewy pas | ||
** prawy pas | ** prawy pas | ||
** środkowy pas | ** środkowy pas | ||
- | ** do uzupełnienia | + | ** (do uzupełnienia...) |
* Linie 0x2f opisujące dodatkowe komunikaty umieszczamy w plikach src/*.znaki.txt | * Linie 0x2f opisujące dodatkowe komunikaty umieszczamy w plikach src/*.znaki.txt | ||
+ | |||
+ | [[Kategoria:Tworzenie mapy]] | ||
+ | [[Kategoria:Routing]] | ||
+ | [[Kategoria:Rysowanie]] | ||
+ | |||
+ | == Prawdziwy LA dla 7ways i osmAnd oraz propozycje wykorzystania w garmnie == | ||
+ | |||
+ | Dla garmina nie zostało to zaimplementowane, jednak korzystają z tego 7ways i osmAnd (i prawdopodobnie inne oparte na format osm) | ||
+ | |||
+ | '''Opis wraz z przykładami robi się w [[LA - wprowadzanie]]''' | ||
+ | |||
+ | Sposób opisu Lane Asistant, tag w extras: | ||
+ | LA | ||
+ | forma zapisu: | ||
+ | dla lini jednokierunkowej | ||
+ | LA=|...| | ||
+ | lub | ||
+ | LA=... | ||
+ | dla lini 2 kierunkowej | ||
+ | LA=+|...|,-|...| | ||
+ | |||
+ | gdzie ... to poszczególne pasy ruchu oddzielone "|" a łączenia | ||
+ | kierunków na pasie oddzielone są "+" | ||
+ | np LA=|Z+L|S|S|S+P| | ||
+ | Wielkość liter bez znaczenia. | ||
+ | |||
+ | Co oznaczają literki (wielka litera to proponowany skrót): | ||
+ | * '''P'''rawo | ||
+ | * '''L'''ewo | ||
+ | * pro'''S'''to lub pros'''T'''o | ||
+ | * '''Z'''awrotka | ||
+ | * '''*''' (gwiazdka) pas ruchu bez oznaczenia | ||
+ | |||
+ | * '''*P'''rawo - specjalny przypadek skrętu w prawo | ||
+ | * '''*Z'''awrotka - specjalny przypadek zawrotki | ||
+ | |||
+ | tu poszukujemy lepszych skrótów | ||
+ | * '''osP''' - ostro prawo | ||
+ | * '''osL''' - ostro lewo | ||
+ | * '''leP''' - lekko prawo - dla zjazdów A/S | ||
+ | * '''leL''' - lekko lewo | ||
+ | |||
+ | dla łączonych: | ||
+ | * L+S | ||
+ | * S+P | ||
+ | * ... | ||
+ | |||
+ | <s>Rozróżniane czy lekki skręt czy ostry można sobie darować.</s> - nie można jak chcemy by działały nie tylko na garminie. | ||
+ | |||
+ | |||
+ | dla 2 kierunkowych kierunki ruchu oznaczamy +/- | ||
+ | np | ||
+ | LA=+|L|S|P|,-|S|P| | ||
+ | gdzie "+" to informacja dla zgodnej z kierunkiem polilini, "-" dla | ||
+ | kierunku przeciwnego. Jedyne co trzeba pamiętać to że przy odwracaniu | ||
+ | kierunku polilinii trzeba zmienić + na - i na odwrót . | ||
+ | dla jednokierunkowych oznaczenie | ||
+ | LA=|L|S|P| oraz LA=L|S|P | ||
+ | (w domyśle brak +/- oznacza +) | ||
+ | |||
+ | Z tego na poziomie węzła można by wygenerować dowolną formę jaka | ||
+ | jest | ||
+ | potrzebna (dla osm to tylko odpowiednie "przepisanie" tagu, a dla | ||
+ | sposobu po id drogi będzie trudniej ale też w zasadzie wszystkie | ||
+ | informację są) | ||
+ | |||
+ | Problemy występują przy skrzyżowaniach złożonych z 5 i więcej dróg | ||
+ | (czasem można rozrysować inaczej, ale nie zawsze), | ||
+ | Nie jest też odporne na dorysowanie chodnika <s>(tu w ramach | ||
+ | przeciwdziałania można ograniczyć się tylko do wybranych typów | ||
+ | dróg)</s>. Jeśli ma być uniwersalnie i działać na osm-owych (i nie tylko) nawigacjach to chodniki trzeba umieścić obok skrzyżowania. | ||
+ | |||
+ | |||
+ | |||
+ | Jest to na tyle czytelne że łatwo to zrozumieć, wprowadzać i poprawić | ||
+ | (tylko po zapoznaniu się z opisami literek) | ||
+ | znaki "|" pomiędzy kierunkami poprawiają IMHO znacznie czytelność. | ||
+ | |||
+ | ==== dla Garmina ==== | ||
+ | Taka informacja wyświetlałaby się na belce na górze i byłaby, po nauczeniu się jak to działa, dosyć czytelna. | ||
+ | |||
+ | |||
+ | Wcześniej proponowany napis "llssp" jest mało czytelny. Lepiej by było pokazywać na belce zamiast llSSp coś takiego: X|X|_|_|X |
Aktualna wersja
Asystent Pasa Ruchu ( w tworzeniu)
Spis treści |
Asystent Pasa Ruchu by Garmin
Garmin w odbiornikach nüvi serii 7x5 dodał nową funkcjonalność: Asystent Pasa Ruchu (Lane Assist). Pomaga ona wybrać odpowiedni pas na skomplikowanych skrzyżowaniach. Wygląda to tak: (strzałki w lewym górnym rogu)
Na terenie Polski asystent jest dostępny tylko w mapie CNE 2009 i nowszych. GPMapa 2009.2 jak i UMP nie ma jeszcze tej funkcjonalności.
Asystent Pasa Ruchu by UMP
W mapach projektu UMP od października 2009 mamy możliwość używać namiastki asystenta pasa ruchu.
Mamy wpływ na to, co wyświetla się w górnym zielonym pasku nüvi.
Zwykle znajduje się tam nazwa ulicy w którą skręcamy. Teraz w nawiasach może pojawić się dodatkowy komunikat.
Odbiorniki z funkcjonalnością TTS mogą go oczywiście przeczytać.(To było pisane przez Alfa nuvi 360 ???, 765T nie czyta tych komunikatów)
Oto przykładowe zrzuty z ekranu nuvi 200 v2 i programu GarminMobilePC:
Jak stworzyć mapę z dodatkowymi komunikatami
Najpierw instalujemy sobie Skórki dla Mapedita. Bez tego wprawdzie też można tworzyć linie obsługujące dodatkowe komunikaty, ale będą wyświetlane cienką czerwoną przerywaną linią, nie odróżniającą się od różnych innych typów specjalnych.
W miejscu gdzie chcemy dodać komunikat tworzymy nową trójwęzłową linię typu 0x2f (Podpowiedź)
Powinna być ona zaczepiona w węzłach, podobnie jak zakazy skrętu i być narysowana we właściwą stronę.
Nowy komunikat będzie wyświetlany w czasie nawigacji wraz z informacją o planowanym manewrze.
UWAGA: Jeśli GPS nie planuje w miejscu użycia linii 0x2f wyświetlać żadnego komunikatu, to jej obecność tego nie spowoduje.
- Czyli najpierw GPS decyduje, czy komunikat padnie, niezależnie od istnienia Podpowiedzi.
- Dopiero po tej decyzji dodawana jest Podpowiedź, jeśli jest zdefiniowana za linii pomocą 0x2f
Dodatkowe komunikaty NIE DZIAŁAJĄ w wersji testowej mapy. Obsługiwane są wersje NI, ogonki i topo.
Technikalia
Jak to działa *technicznie*?
Linia 0x2f zamieniana jest na najnowszą nowinkę w kompilatorze:
[SIGN] SignPoints=20448,20640,20618 SignRoads=9941,9828 SignParam=T,cośtam [END]
Ograniczenia i możliwości
- linia może mieć tylko trzy punkty, czyli dwa odcinki, a nie więcej (jak w przypadku zakazów)
- w opisie linii 0x2f można pisać
- Label=T,cośtam (T jak Toward - po polsku do ), jako najbardziej naturalny jest stosowany jako domyślny
- Label=E,cośtam (E jak Exit- po polsku ??)
- Label=O,cośtam (O jak Onto - po polsku ??)
- nie działa w wersji roboczej, a tylko w wersjach ogonkowej, NI i topo
Opcja E,cośtam w label oznacza Exit – czyli wyjazd. Jeśli dodamy linię drogowskazową z Label=E,label, to w odbiorniku pojawi się informacja: Zjazd label w lewo. Może być przydatne na autostradach, do numerowania albo nazywania zjazdów, np: Zjazd 2 w lewo (Label=E,2), albo Zjazd EMILIA w lewo (Label=E,Emilia, emilia pojawi się kapitalikami, tak było przynajmniej u mnie (PW) podczas testów).
Równie przydatna może być opcja O, która też dosyć tajemniczo jest wyjaśniona jako Onto. A po polsku? A po polsku to oznacza ni mniej ni więcej tylko 'na' i może się przydać jeśli mamy strasznie długaśną nazwę ulicy. I tak, jeśli powiedzmy ulica nazywa się: aleja 1000-lecia Państwa Polskiego wtedy to 1000-lecie będzie wyświetlone na pasku nawigacji. Używając opcji O,Label możemy to zmienić i uzyskać informację Skręć w lewo/trzymaj się prawe w Label.
Dobre praktyki - standardy pisania komunikatów
Od momentu gdy UMP zaczęło być używalne w nawigacjach bazujących na OSM, zaistniała potrzeba ujednolicenia standardu nazywania podpowiedzi/komunikatów, tak aby podczas konwersji mp->xml można było rozpoznać czy podpowiedź dotyczy wyboru pasa ruchu, czy drogowskazu na który trzeba się kierować. Ponieważ w wersjach mapy bazujących na konwersji do xml (osm) komunikaty inne niż drogowskazy są ignorowane, dlatego stworzone zostały poniższe standardy, aby można było automatycznie rozróżnić podczas konwersji, czy brać pod uwagę tę podpowiedź czy nie.
- Komunikaty będące drogowskazami np. Katowice, Kraków, 91 Gdańsk (gdzie 91 to numer drogi)
- Jeśli drogowskaz nie zawiera numeru drogi, to w Label wpisz: T,MiastoA/MiastoB/MiastoC lub T,MiastoA,MiastoB,MiastoC. "T," jest automatycznie usuwane zarówno przez Garmina jak i konwerter, a MiastoA/MiastoB/MiastoC lub MiastoA,MiastoB,MiastoC jest automatycznie dzielone na odpowiednie wpisy w xml. Wyższy priorytet dla oddzielania miejscowości ma znak "/" dlatego gdy pojawią się w jednej linii i przecinek i slash to używany będzie "/".
- Jeśli drogowskaz zawiera numer drogi to w Label wpisz [nr_drogi_1/nr_drogi2] Miasto1/Miasto2/Miasto3 lub [nr_drogi_1,nr_drogi2] Miasto1,Miasto2,Miasto3, lub [nr_drogi_1/nr_drogi2] Miasto1,Miasto2,Miasto3 lub [nr_drogi_1,nr_drogi2] Miasto1/Miasto2/Miasto3. Nie trzeba wtedy dodawać na początku "T," ale jest to dozwolone. Numer drogi i miasta są traktowane niezależnie, dlatego można użyć do rozdzielania numerów i miast zarówno "/" jak i ",", ważne aby zachować jednorodność w ramach numeru i miejscowości.
- Wszelkie pozostałe komunikaty
- W Label w takim przpadku wpisz po prostu co chcesz zobaczyć na belce Garmina np. lewy pas, prawy pas itd. W wersji xmlowej zostanie to zignorowane.
Pozostałe ustalenia:
- Komunikaty powinny być krótkie. Wyświetlane są za nazwą drogi i na wąskich odbiornikach nie będą się mieścić.
- Nie ma jeszcze standardu, co umieszczamy w komunikatach. Jak dotąd używamy:
- lewy pas
- prawy pas
- środkowy pas
- (do uzupełnienia...)
- Linie 0x2f opisujące dodatkowe komunikaty umieszczamy w plikach src/*.znaki.txt
Prawdziwy LA dla 7ways i osmAnd oraz propozycje wykorzystania w garmnie
Dla garmina nie zostało to zaimplementowane, jednak korzystają z tego 7ways i osmAnd (i prawdopodobnie inne oparte na format osm)
Opis wraz z przykładami robi się w LA - wprowadzanie
Sposób opisu Lane Asistant, tag w extras:
LA
forma zapisu: dla lini jednokierunkowej
LA=|...|
lub
LA=...
dla lini 2 kierunkowej
LA=+|...|,-|...|
gdzie ... to poszczególne pasy ruchu oddzielone "|" a łączenia kierunków na pasie oddzielone są "+" np LA=|Z+L|S|S|S+P| Wielkość liter bez znaczenia.
Co oznaczają literki (wielka litera to proponowany skrót):
- Prawo
- Lewo
- proSto lub prosTo
- Zawrotka
- * (gwiazdka) pas ruchu bez oznaczenia
- *Prawo - specjalny przypadek skrętu w prawo
- *Zawrotka - specjalny przypadek zawrotki
tu poszukujemy lepszych skrótów
- osP - ostro prawo
- osL - ostro lewo
- leP - lekko prawo - dla zjazdów A/S
- leL - lekko lewo
dla łączonych:
- L+S
- S+P
- ...
Rozróżniane czy lekki skręt czy ostry można sobie darować. - nie można jak chcemy by działały nie tylko na garminie.
dla 2 kierunkowych kierunki ruchu oznaczamy +/-
np
LA=+|L|S|P|,-|S|P|
gdzie "+" to informacja dla zgodnej z kierunkiem polilini, "-" dla
kierunku przeciwnego. Jedyne co trzeba pamiętać to że przy odwracaniu
kierunku polilinii trzeba zmienić + na - i na odwrót .
dla jednokierunkowych oznaczenie
LA=|L|S|P| oraz LA=L|S|P
(w domyśle brak +/- oznacza +)
Z tego na poziomie węzła można by wygenerować dowolną formę jaka jest potrzebna (dla osm to tylko odpowiednie "przepisanie" tagu, a dla sposobu po id drogi będzie trudniej ale też w zasadzie wszystkie informację są)
Problemy występują przy skrzyżowaniach złożonych z 5 i więcej dróg
(czasem można rozrysować inaczej, ale nie zawsze),
Nie jest też odporne na dorysowanie chodnika (tu w ramach
przeciwdziałania można ograniczyć się tylko do wybranych typów
dróg). Jeśli ma być uniwersalnie i działać na osm-owych (i nie tylko) nawigacjach to chodniki trzeba umieścić obok skrzyżowania.
Jest to na tyle czytelne że łatwo to zrozumieć, wprowadzać i poprawić (tylko po zapoznaniu się z opisami literek) znaki "|" pomiędzy kierunkami poprawiają IMHO znacznie czytelność.
dla Garmina
Taka informacja wyświetlałaby się na belce na górze i byłaby, po nauczeniu się jak to działa, dosyć czytelna.
Wcześniej proponowany napis "llssp" jest mało czytelny. Lepiej by było pokazywać na belce zamiast llSSp coś takiego: X|X|_|_|X