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



Teraz jest 5 gru 2024, o 03:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 10 cze 2015, o 17:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!
Postanowiłem wykorzystać moduł GPS jako dawcę czasu. Po podłączeniu do terminala odbieram różne dane, a "właściwy" string $GPRMC pojawia się zgodnie z oczekiwaniem co 1s. Proszę o podpowiedź jak buforować te dane na potrzeby parsowania $GPRMC. Wg mnie na potrzeby funkcji parsującej w buforze powinien znajdować się aktualny string tzn. z ostatniej sekundy - czy takie podejście jest właściwe?
Poniżej dane wyświetlane w terminalu:
Obrazek
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2015, o 17:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

Obejrzyj to: https://www.youtube.com/watch?v=DJpRk3CVQCc Tu jest w prawdzie Wifi, ale też po uart i bardzo fajne parsowanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2015, o 18:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

icer_cmg napisał(a):
Obejrzyj to: https://www.youtube.com/watch?v=DJpRk3CVQCc Tu jest w prawdzie Wifi, ale też po uart i bardzo fajne parsowanie.

Dziękuję za link. Konkretnie chodzi mi o przekazanie danych z GPS do mikrokontrolera (gps_bufor), tak aby dostępne one były dla funkcji parsującej. Chcę po prostu zastąpić czas NTP czasem GPS i chodzi o sposób jego pozyskania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2015, o 18:10 
Offline
Moderator
Avatar użytkownika

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

avrfun napisał(a):
Chcę po prostu zastąpić czas NTP czasem GPS i chodzi o sposób jego pozyskania.

No to dostałeś wyżej gotową podpowiedź - nie mówiąc już że masz jak widać w podpisie Greenbooka i rozdział o parsowaniu .....

_________________
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: 10 cze 2015, o 19:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Odpowiedzi wprawdzie dostałeś ale na małą zachętę
powiem ci że ze zdania np. GPGGA ja dane wydobywam tak:

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


A polecam sugerowany rozdział z GB o parsowaniu :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2015, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

SunRiver napisał(a):
Odpowiedzi wprawdzie dostałeś ale na małą zachętę
powiem ci że ze zdania np. GPGGA ja dane wydobywam tak:

Pomoc bardzo konkretna i motywująca. Dziękuję. Powiedz jeszcze proszę coś bliżej o funkcji GPS_Start().



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2015, o 21:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

Z tego co widzę, to GPS_Start() pobiera po prostu znak z uart. Popatrz na konstrukcję, którą masz wyżej - GPS_Start zwraca pojedynczy znak. Najpierw czekasz, aż zwróci $, potem przepisujesz 5 znaków i sprawdzasz czy są to GPGGA i tak dalej. Jak coś, to proszę o sprostowanie.

Mała podpowiedź - mam nadzieję że dobra - popatrz na składnię, gdyż np. na początku masz while ze średnikiem na końcu, potem pętlę for bez " { " i " } ", więc odpowiednio to interpretuj.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 10:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!

Próbuję zaimplementować kod podany wyżej przez Kol. SunRiver jako funkcję callback (analizuj_dane_GPS) dla zdarzenia UART_RX_STR_EVENT. Problemy zaczęły się przy jej definicji.
Kod wygląda tak (uzupełniłem definicje zmiennych), przepraszam że kod rozbity na dwie części (uwagi pod spodem dotyczą części drugiej):

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


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


Mam kilka pytań związanych z ostrzeżeniami kompilatora:
- linia 1: brak deklaracji funkcji GPS_Start(), jak ją zdefiniować?
- linia 5: nie rozpoznany symbol GPGGA (funkcja strncmp operuje na wskaźnikach), jak prawidłowo zapisać spodziewany w buforze ciąg znaków (może "GPGGA")?
- linia 9: SunRiver napisał, że to czas, ale czas ma tylko 6 znaków pomiędzy $GPGGA i Latitude, a my pobieramy 10
- linia 22,27: zły argument, jaki jest odpowiednik polecenia LCD_SndTXT w bibliotece BB

Proszę o podpowiedzi jak rozwiązać powyższe problemy
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 17:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Bardzo proszę szanownych Forumowiczów o spojrzenie na kod i pomoc?
icer_cmg napisał(a):
Mała podpowiedź - mam nadzieję że dobra - popatrz na składnię, gdyż np. na początku masz while ze średnikiem na końcu, potem pętlę for bez " { " i " } ", więc odpowiednio to interpretuj.

Czy mógłbyś napisać jak to interpretować?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 18:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Tak jak Ci podpowiada kolega @icer_cmg
funkcja GPS_Start() musiałaby zwracać za każdym jej wywołaniem następny znak z analizowanego bufora.

Zobacz jezcze do tego tematu http://forum.atnel.pl/post25764.html?hilit=GPS%20parsowanie#p25764



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 19:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Zaba napisał(a):
Tak jak Ci podpowiada kolega @icer_cmg
funkcja GPS_Start() musiałaby zwracać za każdym jej wywołaniem następny znak z analizowanego bufora.

Dziękuję rozumiem, ale jak jej użyć w mojej funkcji analizuj_dane_GPS?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 19:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Nie bardzo rozumiem ?

czy chodzi o ten błąd kompilatora
Cytuj:
- linia 1: brak deklaracji funkcji GPS_Start(), jak ją zdefiniować?

jeśli tak to musisz ją napisać w głównym pliku gdzieś na końcu a nagłówek umieścić na początku tego pliku
lub lepiej zrobić plik dołączany dyrektywą
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


czy może chodzi Ci napisanie całej funkcji GPS_Start() ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 cze 2015, o 19:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Zaba napisał(a):
czy może chodzi Ci napisanie całej funkcji GPS_Start() ?

Dokładnie tak. Czy można zastosować gotową funkcję uart_getc z biblioteki MK_USART z GB?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 10:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!
Już kolejny dzień próbuję odebrać "cokolwiek" z GPS za pomocą mikrokontrolera. Przeczytałem rozdział z GB o parsowaniu danych i obejrzałem poradniki. Zastosowałem kod przedstawiony na forum przez użytkownika peikman, jako ciało funkcji callback, ale bezskutecznie. Wydaje się, że funkcja callback nie jest wywoływana. Nie ma też "nic" w termianalu po "przepasażowaniu" sygnału GPS prze mikrokontroler (Rx,Tx). GPS podłączony do terminala wysyła ramki. Proszę o pomoc w rozwiązaniu problemu i uruchomieniu odbioru. Oto kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 11:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

czy w buforze uart_buf[] masz dane odebrane z GPS-u ?
jeśli nie to możliwe że masz komunikację po RS-ie nie poprawną.

Ustaw pułapkę zaraz po wejściu do funkcji parse_uart_data() i wyświetl na
LCD string pBuf



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 12:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Zaba napisał(a):
czy w buforze uart_buf[] masz dane odebrane z GPS-u ?
jeśli nie to możliwe że masz komunikację po RS-ie nie poprawną.

Ustaw pułapkę zaraz po wejściu do funkcji parse_uart_data() i wyświetl na
LCD string pBuf


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


Na LCD nie pojawia się nic, a więc najpewniej funkcja callback nie jest wywoływana. Co jeszcze sprawdzić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 12:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

jeszcze dla pewności zatrzymaj procka po wyświetleniu "pułapką"
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


jeśli nie zatrzymasz uC w pułapce to możesz nic nie zobaczyć bo dane mogą
być nadpisane innym wywołaniem lcd_str(), ale to tylko kosmetyka .

Pusty bufor świadczyć może o złej transmisji po RS-ie.

Musisz sprawdzić czy masz ustawione takie same parametry transmisji szeregowej
w procku jak i w GPS-ie.
Ustaw uC na taką prędkość odbioru jak masz ustawiony terminal kiedy odczytujesz
poprawnie dane przez komputer z GPS-u.
Do ustawiania prędkości służy stała w pliku *.h biblioteki mkuart
( o ile dobrze pamiętam BAUD)

Weź pod uwagę taktowanie uC (najlepiej z zewnętrznym kwarcem)
więcej znajdziesz w DS w tabelach na końcu rozdziału o UATR (mam na myśli błąd transmisji)

nie zapomnij o GND i krosowaniu TX i RX przy podłączaniu modułu GPS do uC.

Jak wszystko poustawiasz i podłączysz napisz krótki program testowy do odbioru kilku znaków z GPS-u

To na początek tyle :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 13:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Zaba napisał(a):
Musisz sprawdzić czy masz ustawione takie same parametry transmisji szeregowej
w procku jak i w GPS-ie.

Dziękuję!!! Klikam pomógł. Po ustawieniu właściwej prędkości w pliku mkuart.h (4800) jest ona teraz identyczna dla GPSi uC. Tu była przyczyna braku transmisji! Na LCD pojawiają się teraz stringi GPS w tempie jak w terminalu, a poniżej czas. Dobrze byłoby dodać do niego 2h, bo taką różnicę pokazuje. Jak można to skorygować?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 15:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

O ile dobrze rozumiem to
GPS podaje Ci czas GMT czyli w okresie letnim w Polsce dodajesz 2h a zimowym 1h :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 17:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Zaba napisał(a):
GPS podaje Ci czas GMT czyli w okresie letnim w Polsce dodajesz 2h a zimowym 1h

Dokładnie tak. Teraz pozostaje zapakować wszystko w strukturę i przekazać do "Dawcy czasu". Nie będzie to zapewne łatwe!
Konieczny jest pomysł na wydobycie hh, mm, ss ze stringa hhmmss (nie ma separatorów).
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 17:39 
Offline
Moderator
Avatar użytkownika

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

Cytuj:
Konieczny jest pomysł na wydobycie hh, mm, ss ze stringa hhmmss (nie ma separatorów).

A po co pomysł - czy aż trzeba pomysłu żeby po dwa bajty odczytać z takiego stringa hhmmss ?

_________________
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 cze 2015, o 17:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

mirekk36 napisał(a):
A po co pomysł - czy aż trzeba pomysłu żeby po dwa bajty odczytać z takiego stringa hhmmss ?

Proszę bardzo o jeszcze jedną podpowiedź.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 cze 2015, o 17:56 
Offline
Moderator
Avatar użytkownika

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

avrfun napisał(a):
Proszę bardzo o jeszcze jedną podpowiedź.

ale jaką podpowiedź ? do czego ? do tego żeby pobrać 3 razy po dwa bajty z tego stringa?

Jeśli o to chodzi to wiesz co - odeślę cię do Bluebooka do poczytania PODSTAW o tablicach bo odnoszę wrażenie, że bardzo ci ich brakuje i w ogóle tego nie trenujesz i nie ćwiczysz .... a wystarczyłoby obejrzeć chociaż poradnik o miganiu diodami LED na różne sposoby - który puściłem na YT jakiś czas temu ....

Nie wyobrażam sobie jak robiąc taki przykład o dawcy czasu, o GPS'ie itp - żeby nie wiedzieć jak z tablicy 6-cio elementowej pobrać po kolei bajty.

_________________
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 cze 2015, o 18:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Dziękuję za naprowadzenie! O to mi chodziło.
"Dawca czasu" działa znakomicie, a i odczyt z GPS-a dzisiaj ruszył :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 cze 2015, o 13:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!
Zrealizowałem pobieranie czasu z odbiornika GPS oraz wyświetlanie go na LCD (hh:mm:ss). Teraz chciałbym dokonać jego korekty dla naszej strefy czasowej (+2h)? Jak to się rozwiązuje w kodzie programu?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 cze 2015, o 14:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Jeśli masz już rozdzielone poszczególne części czasu na oddzielne składowe (hh ,mm ,ss) w postaci stringów
to możesz po sprawdzeniu w jakim jesteśmy czasie (zimowy / letni)
zrobić konwersje stringa hh do typu int funkcją atoi(),
następnie dodać wymaganą ilość godzin i znowu konwersja do string funkcją itoa().

Sposobów pewnie znajdzie się więcej ale taki przyszedł mi do głowy :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 cze 2015, o 13:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!
Zaba napisał(a):
zrobić konwersje stringa hh do typu int funkcją atoi(),
następnie dodać wymaganą ilość godzin i znowu konwersja do string funkcją itoa().

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

Jest mały problem niestety. Dodanie 2h o 23.00 daje godzinę 25:00:00. Ciekawe, że bez żadnych korekt czasowych (surowe dane) północ wyświetla się jako 24:00:00. Trochę to nieeleganckie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 cze 2015, o 14:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Sprawdzenie poprawności godziny już jest w gestii programisty :)
weź pod uwagę że dodajesz zwykłe liczby a nie godziny i sam musisz zadbać o
korektę czasu żeby poprawnie był ustawiony.
np. jeśli w okresie letnim dodajesz 2h :
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 cze 2015, o 18:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Dziękuję za pomysł. Poczekam do 22.00, 23.00 i sprawdzę. Napisałem 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: 15 cze 2015, o 20:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!
Zrealizowałem pomysł zegara w oparciu o czas GPS i zdarzenie UART_RX_STR_EVENT. Funkcja callback realizuje parsowanie i wyświetlenie czasu, zarówno na LCD jak i wyświetlaczu 4x8SEG SPI (2x74HC595). Zegar "zależny jest" jednak od odbiornika GPS". Proszę o podpowiedź jak koncepcyjnie rozwiązać wykorzystanie układu PCF8583 do przechowywania czasu. Chciałbym, aby zegar działał "na czasie" pozyskanym z GPS, a w chwili gdy zabraknie sygnału przełączył się na RTC lub może odwrotnie, wyświetlał czas z RTC, który interwałowo (np. co godzinę) byłby nadpisywany przez czas z GPS. Odbiornik ma wyjście generujące impuls co 1s (PPS). Można je pewnie dobrze wykorzystać?
Pozdrawiam



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: 37 ]  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 2 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