Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 21 sty 2026, o 05:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 36 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 11 lis 2016, o 19:03 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Potrzebuję pomocy, oto mój kod do wyświetlania znaków na tablicy LED 8x8, potrafię wyświetlić znak, potrafię wyświetlać kolejne znaki z wyrazu czy zdania, ale nie mogę poradzić sobie z przesuwaniem napisu, proszę o pomoc, jakąś wskazówkę.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2016, o 20:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Poszperaj tutaj - http://forum.atnel.pl/topic854.html

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lis 2016, o 09:49 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 183
Lokalizacja: Kraków
Pomógł: 30

Idea przesuwania tekstu jest taka: weź kartkę papieru i narysuj sobie dość długi prostokąt, taką ramkę w której wpiszesz jakiś tekst. Ten prostokąt w Twoim kodzie to będzie bufor tekstowy czyli zadeklarowana tablica o rozmiarze odpowiadającym najdłuższemu przewidywanemu tekstowi do wyświetlania. Teraz weź drugą kartkę papieru i wytnij w niej prostokąt tej samej szerokości jak na pierwszej kartce ale o mniejszej długości. To będzie bufor wyświetlacza, w kodzie tablica odpowiadająca ilości zastosowanych matryc. Teraz połóż jedna kartkę na drugiej, tak aby w wyciętym okienku widać było część tekstu. Jeśli będziesz przesuwać okienko w lewo lub w prawo powstanie złudzenie, że to tekst się przesuwa w okienku. Czyli musisz wykombinować takie funkcje, żeby przepisywać w pętli odpowiednie fragmenty tablicy tekstu do tablicy bufora wyświetlacza i wysyłać to do rejestrów. Potem czekasz parę milisekund i przepisujesz kolejny fragment tekstu przesuwając miejsce od jakiego zaczynasz kopiowanie jednej tablicy do drugiej.
Mam nadzieję, że nie zagmatwałem bardzo tego opisu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lis 2016, o 18:41 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Do Janusz 17, nie zagmatwales, koncepcja dobra tylko jak.ją przelac na C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lis 2016, o 20:44 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

mam łańcuch
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


czy istnieje jakaś funkcja w C która poda mi ilość elementów w tym łańcuchu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lis 2016, o 21:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lis 2016, o 21:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

plik nagłówkowy string.h
i przyjrzyj się funkcji strlen();



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 09:09 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Kurcze Eclipse Mars mi się wysypał, w jednym z projektów w main.c mam coś takiego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


mam komunikat :
unresolved inclusion <util/delay.h>

i niemalże przy każdej linijce czerwone biedronki oznaczające błędy, ale co dziwne program się kompiluje w Console nie pokazuje błędów i można go wgrać do procesora, dziwne to chyba nie eclipse tylko coś z plikiem main.c jest coś nie tak.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 09:30 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Spróbuj w "Properties" projektu zmienić mikrokontroler, zatwierdź zmianę poprzez "Apply" i "OK". Następnie znowu wejdź w ustawienia projektu, wybierz właściwy już mikrokontroler, zatwierdź zmianę a biedronki powinny zniknąć ;)


Autor postu otrzymał pochwałę

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 09:38 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 183
Lokalizacja: Kraków
Pomógł: 30

Cytuj:
czy istnieje jakaś funkcja w C która poda mi ilość elementów w tym łańcuchu?

na pewno jest funkcja obliczająca długość stringa, ale ja pisząc
Cytuj:
Ten prostokąt w Twoim kodzie to będzie bufor tekstowy czyli zadeklarowana tablica o rozmiarze odpowiadającym najdłuższemu przewidywanemu tekstowi do wyświetlania

miałem na myśli rozmiar takiego wyświetlacza matrycowego na którym zmieścił by się ten najdłuższy tekst. Ponieważ rozmiar zależy od szerokości wyświetlanych fontów, odstępów między literami i między wyrazami, to oczywiście trudno tak dokładnie wyliczyć. Trzeba to jednak oszacować najlepiej z pewnym zapasem. W tym buforze tekstowym nie będą zapisywane stringi, tylko już przetworzone stringi na wzory liter i cyfr gotowe do przesłania na wyświetlacz. Dlatego potem będziemy mogli już wprost kopiować fragmenty bufora tekstowego do bufora wyświetlacza i wysyłać do rejestrów.
Pomyśl nad funkcją, która przetworzy string na wzory liter, cyfr i innych znaków i zapisze je do bufora.



Ostatnio edytowano 13 lis 2016, o 10:00 przez janusz17, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 09:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

janusz17 napisał(a):
miałem na myśli rozmiar takiego wyświetlacza matrycowego na którym zmieścił by się ten najdłuższy tekst. Ponieważ rozmiar zależy od szerokości wyświetlanych fontów, odstępów między literami i między wyrazami, to oczywiście trudno tak dokładnie wyliczyć. Trzeba to jednak oszacować najlepiej z pewnym zapasem. W tym buforze tekstowym nie będą zapisywane stringi, tylko już przetworzone stringi na wzory liter i cyfr gotowe do przesłania na wyświetlacz. Dlatego potem będziemy mogli już wprost kopiować fragmenty bufora tekstowego do bufora wyświetlacza i wysyłać do rejestrów.


hmmm no można w każdy sposób jeśli zadziała ale ... wydaje mi się, że nie tędy droga

Warto pomyśleć o takim zorganizowaniu funkcji wyświetlania na wyświetlaczu graficznym (dowolnym) żeby pokazywało się na nim TYLKO to (tylko te piksele) które mają się wyświetlać w zakresie współrzędnych osi X i Y wyświetlacza (jego rozmiarów w pikselach, jego rozdzielczości) i wtedy nie trzeba kombinować z żadnym buforem tekstowym

krótko mówiąc pomyślcie co się stanie jeśli napis "ala" który początkowo ma współrzędne 0,0 czyli lewa strona wyświetlacza (górny albo dolny róg - to już nie istotne).

I teraz po kolei zmieniamy jego współrzędne w pętli for na:

X, Y
-1, 0
-2, 0
-3, 0
-4, 0

itd

wtedy chcemy jakby wyświetlać napis z lewej strony poza ekranem - jakby go przesuwać piksel po pikselu w lewo ... Tyle, że w funkcji rysującej piksele nie będą nigdy wyświetlone te, których współrzędna X jest mniejsza niż ZERO ;) ... zatem początek napisu zacznie nam znikać a wyświetlać się będzie tylko jego pozostała część - czyli będzie ładne przesuwanie w lewo ;)

Tak samo można zrobić po przekroczeniu prawej granicy X ale również górnej i dolnej dla Y ;)

ok szerzej niedługo znajdziecie to opisane w YELLOBOOKU - tak od mega podstaw.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 12:37 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Mirku na reklamach widziałem Twoje urządzenie wielofunkcyjne , mam pytanie, czy matryce led kupowałeś gotowe czy robiłeś sam, i jakim układem je sterujesz .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 12:54 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

Hannibal9 napisał(a):
Mirku na reklamach widziałem Twoje urządzenie wielofunkcyjne , mam pytanie, czy matryce led kupowałeś gotowe czy robiłeś sam, i jakim układem je sterujesz .


Spójrz sam na ten obrazek:

Obrazek

Jak widać są to gotowe matryce, ja nie miałbym cierpliwości żeby lutować milion diod LED ;)

A scalaki? ... proszę bardzo kolejny rysunek, który wszystko wyjaśnia w tym zakresie.

Obrazek

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 13:11 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Jakiej wielkości są te matryce? Szybka z przodu z plexi przyciemnianej?



Ostatnio edytowano 13 lis 2016, o 13:21 przez Hannibal9, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 13:20 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

nie wiem, teraz nie pamiętam ale gdzie nie zajrzysz wszędzie są standardowo takie same te matryce jeśli chodzi o rozmiary ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 13:25 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Zmajstrowałem taki kod, testuje na razie na 1 "matrycy" własnej konstrukcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


proszę za mocno nie krytykować, wiem, że trzeba to zoptymalizować, podzielić na pliki itd, na obecną chwilę cieszę się , że działa a najważniejsze jest to, że ja wiem jak to działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 13:52 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

Hannibal9 napisał(a):
Szybka z przodu z plexi przyciemnianej?

No dokładnie ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 20:23 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


strlen - eclipse wyświetla ostrzeżenie, kompiluje i działa prawidłowo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2016, o 20:32 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

Hannibal9 napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


strlen - eclipse wyświetla ostrzeżenie, kompiluje i działa prawidłowo


Nie widać tu nawet pytania ... czasem nie rozumiem niestety takiej oszczędności słów na forum, szczególnie gdy ktoś chce zadać pytanie ... i jeszcze oczekuje precyzyjnej podpowiedzi.

Czy nie sądzisz, że przydałoby się chociaż do tego napisać jakie dostajesz ostrzeżenie? albo pokazać ze 2-3 dodatkowe linijki kodu ? ....

Bo jeśli to było pytanie .... to ciężko na to odpowiedzieć.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2016, o 17:33 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

W poniższym kodzie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


w linijce
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Eclipse pokazuje ostrzeżenie (na marginesie żółty trójkąt z wykrzyknikiem) tekst ostrzeżenia:

Multiple markers at this line
- incompatibile imlicid declaraton of built-in function 'strlen' [enabled by default];

Co to za błąd?

------------------------ [ Dodano po: 11 minutach ]

I proszę jeszcze o pomoc w następującej kwestii, w moim programie przesuwam napis wpisany do zmiennej wyraz
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


chciałbym przesuwać np czas, mam zmienne typu uint_8t:
HD-godziny dziesiątki,
HJ- godziny jednostki,
MD-minuty dziesiątki
MJ-minuty jednostki

powiedzmy, że

HD=2
HJ=1
MD=1
MJ=5

czyli mam czas 21:15
chciałbym te dane załadować do stringa w postaci:

char wyraz[]="21:15"

Jak to zrobić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2016, o 18:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Hannibal9 napisał(a):
Co to za błąd?

Musisz dołączyć plik nagłówkowy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2016, o 18:38 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

anshar napisał(a):
Hannibal9 napisał(a):
Co to za błąd?

Musisz dołączyć plik nagłówkowy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



dzięki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2016, o 20:21 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

W moim programie wykorzystuję 5 sporych tablic, jedna z nich w załaczniku, chciałbym aby znajdowały się w pamięci Flash, jak je zadeklarować i jak następnie odczytywać poszczególne dane z Flasha?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2016, o 20:23 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

Hannibal9 napisał(a):
W moim programie wykorzystuję 5 sporych tablic, jedna z nich w załaczniku, chciałbym aby znajdowały się w pamięci Flash, jak je zadeklarować i jak następnie odczytywać poszczególne dane z Flasha?

Nie pamiętam, przypomnij mi proszę - masz Bluebooka ? Bo jeśli masz to jest to tam pięknie opisane przecież w rozdziale o zwykłym prostym multipleksowaniu wyświetlaczy 7-seg.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 08:34 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Mam blue i green i jeszcze żółtą sobie kupię. Mirku w swoich poradnikach i książkach przekazujesz tyle wiedzy, że trudno zapamiętać co gdzie jest, w książkach przydałby się jakiś skorowidz haseł.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 09:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

Zdaje sobie sprawe z tego ze nie ma skorowidza dlatego podpowiedzialem ci rozdzial konkretny

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 13:58 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

mirekk36 napisał(a):
Zdaje sobie sprawe z tego ze nie ma skorowidza dlatego podpowiedzialem ci rozdzial konkretny



Dzięki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2016, o 23:36 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Hannibal9 napisał(a):
Mam blue i green i jeszcze żółtą sobie kupię. Mirku w swoich poradnikach i książkach przekazujesz tyle wiedzy, że trudno zapamiętać co gdzie jest, w książkach przydałby się jakiś skorowidz haseł.


Do Blue przecież jest.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2016, o 10:54 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Do osób które maja Yeelowbook-a, czy jest tam przykład sterowania oraz opis sposobu zasilania matryc LED?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2016, o 11:09 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Nikt nie ma bo wyjdzie może w grudniu.

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 36 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO