RE: Sterownik rotora - Bascom - SQ6OXK -  31-03-2011 6:01
 
 
A po co Ci jeszcze pasek? 
 
Zmurszeje, przy większej wilgoci będzie się ślizgać. Nie prościej bezpośrednio do wału napędowego reduktora?
 
 
 
RE: Sterownik rotora - Bascom - SQ2EER -  31-03-2011 16:04
 
 
Witam - pasek zębaty z kewlaru - chyba nic mu się nie stanie - zredukowanie obrotów silnika - pozdrawiam Jacek.
 
 
 
RE: Sterownik rotora - Bascom - SQ6OXK -  31-03-2011 19:30
 
 
No oki, ale wydawało mi się, że silnik krokowy plus przekładnia to wystarczające, redukcja obrotów  
 
 
 
RE: Sterownik rotora - Bascom - SQ6ADE -  01-04-2011 10:20
 
 
Pasek zębaty i gotowe kółka pasowe (kupuje się to gotowe) pod niego to prosta metoda połączenia krokówki z osią odbiorczą.
 
 
 
RE: Sterownik rotora - Bascom - SQ2EER -  11-04-2011 22:17
 
 
Witam - niestety nie mogę zrozumieć   przykładu Pawła z obsługa menu. 
Przeglądając net znalazłem sposoby z zastosowaniem select case: i wygląda to tak: 
Kod: 
 'program sterownika rotora napędzanego silnikiem krokowym Bascom AVR 
'############## Konfiguracja mikroprocesora ################### 
'############################################################## 
$regfile = "m644pdef.dat"                                   'informuje kompilator o typie mikrokontrolera 
'$sim 
$crystal = 16000000                                         'informuje kompilator 
                                                            'o częstotliwości oscylatora                                                            'taktującego mikrokontroler 
Config Lcd = 16 * 4 
Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.6 , Rs = Portc.7       'porty mikrokontrolera, do których dołączono wyświetlacz LCD 
 
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'konfiguracja wewnętrznego przetwornika A/C 
 
Config Portd = &B00011111 : Portd = &B11111111 
Config Portb = &B11111111 : Portb = &B11110111 
 
Config Timer0 = Timer , Prescale = 256 
Enable Timer0 : On Timer0 Przerwtimer0 
Enable Interrupts 
 
'Sw_port Alias Pind                                          'przyciski 
Up Alias Pind.7                                             'góra 
Down Alias Pind.6                                           'dół 
Setup Alias Pind.5                                          'wejście/zatwierdzenie 
Step_ Alias Pinb.0                                          'Step 
Dir_ Alias Pinb.1                                           'Dir 
Enab_ Alias Pinb.2                                          'Enable 
Buzer Alias Portb.3 
 
Deflcdchar 1 , 31 , 31 , 4 , 4 , 4 , 4 , 4 , 4              ' replace ? with number (0-7) 
Deflcdchar 2 , 31 , 31 , 32 , 32 , 32 , 32 , 32 , 32        ' replace ? with number (0-7) 
Deflcdchar 3 , 31 , 31 , 4 , 4 , 4 , 32 , 32 , 32           ' replace ? with number (0-7) 
Deflcdchar 4 , 4 , 4 , 4 , 4 , 14 , 14 , 31 , 31            ' replace ? with number (0-7) 
Deflcdchar 5 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32        ' replace ? with number (0-7) 
Deflcdchar 6 , 2 , 6 , 15 , 31 , 15 , 6 , 2 , 32            ' replace ? with number (0-7) 
Deflcdchar 7 , 8 , 12 , 30 , 31 , 30 , 12 , 8 , 32          ' replace ? with number (0-7) 
Deflcdchar 8 , 32 , 32 , 31 , 31 , 31 , 32 , 32 , 32        ' replace ? with number (0-7) 
'#################### Zmienne ########################## 
'####################################################### 
Dim Stan_sw As Byte , Sw As Byte , Licznik_sw As Byte       'sw 
Dim Wyswietlanie As Byte , Poz_wysw As Byte , Wyswietlono As Bit       'Lcd 
Dim Mig As Bit , Poz_ust As Byte 
Dim Autosave As Byte 
Dim Wart_ac1 As Word                                        'zmienna na wartość odczytaną z przetwornika 
Dim Stopnie As Single                                       'zmienna stopni odczyt z przetwornika 'Dim V1 As Single                                                            'podzielony przez 2.841 
Dim Azym_odcz As Word                                       'zmienna odczytanego azymutu'Dim V2 As Word 
Dim Azym_zad As Word                                        'zmienna zadanego azymutu'Dim V3 As Word 
Dim Pomoc1 As String * 14 
Dim Pomoc2 As Byte 
Dim Pomoc3 As Byte 
Dim Dzielnik(3) As Byte 
Dim Czas As Byte 
Dim A As Byte 
Dim B As Byte 
Dim C As Byte 
Dim D As Byte 
Dim Flaga_4ms As Bit , Flaga_100ms As Bit , Flaga_200ms As Bit , Flaga_1s As Bit       'flagi przerwań 
Dim 0_st As Word 
Dim 360_st As Word 
Dim 0_st_ee As Word 
Dim 360_st_ee As Word 
Dim Pam1 As Word                                            'pamięć nastawy 1 
Dim Pam2 As Word                                            'pamięć nastawy 2 
Dim Pam3 As Word                                            'pamięć nastawy 3 
Dim Pam4 As Word                                            'pamięć nastawy 4 
Dim Pam5 As Word                                            'pamięć nastawy 5 
Dim Start_menu As Byte 
 
Declare Sub Lewo 
Declare Sub Prawo 
Declare Sub Zatrz 
Declare Sub Setup1 
Declare Sub Wysw 
 
'####### ustawienia początkowe ############ 
'########################################## 
Cursor Off 
 
Start Adc                                                   'uruchamia wbudowany przetwornik 
 
Wart_ac1 = Getadc(0)                                        'odczytanie wartości z wejści ADC0 mikrokontrolera i przypisanie do zmiennej Wart_ac1 
Stopnie = Wart_ac1 / 2.841                                  'zamiana wartości odczytanej z przetwornika'stopnie = Wart_ac1 / 2.841                                       'zamiana odczytanej wartości z A/C na stopnie azymutu 
                                                            'na stopnie zaymutu 
Azym_odcz = Int(stopnie)                                    'wyciągnięcie części całkowitej ze zmienne "stopnie" Azym_odcz = Int(v1) 
 
Readeeprom Pam1 
Readeeprom Pam2 
Readeeprom Pam3 
Readeeprom Pam4 
Readeeprom Pam5 
 
Cls 
Wait 1 
 
Locate 1 , 4 : Lcd "STEROWNIK" 
Waitms 500 
Locate 2 , 6 : Lcd "ROTORA" 
Waitms 500 
Locate 3 , 4 : Lcd "By  SQ2EER" 
Waitms 500 
Locate 4 , 5 : Lcd "Wer. 1.0" 
Wait 1 
Cls 
 
Azym_zad = Azym_odcz 
 
Do 
 
'################################################## co 4 ms 
If Flaga_4ms = 1 Then 
    Flaga_4ms = 0 
 
    Gosub Przyciski 
    If Wyswietlono = 1 Then Gosub Wys_lcd 
End If 
 
'################################################## 
'################################################## co 100 ms 
If Flaga_100ms = 1 Then 
    Flaga_100ms = 0 
 
    Gosub Odczyt_adc 
End If 
 
'################################################## 
'################################################## co 200 ms                                                                 'początek pętli program 
If Flaga_200ms = 1 Then 
    Flaga_200ms = 0 
 
    Gosub Sterowanie 
End If 
 
'################################################## 
 
 
Loop 
End 
 
'############################################################ 
Przerwtimer0: 
  Timer0 = 5 
  Set Flaga_4ms 
  Incr Dzielnik(1) 
  If Dzielnik(1) = 25 Then 
    Dzielnik(1) = 0 
    Set Flaga_100ms 
      Incr Dzielnik(2) 
      If Dzielnik(2) = 2 Then 
       Dzielnik(2) = 0 
       Set Flaga_200ms 
         Incr Dzielnik(3) 
         If Dzielnik(3) = 5 Then 
         Dzielnik(3) = 0 
         Set Flaga_1s 
         End If 
      End If 
  End If 
Return 
 
'############################################################# 
'###################### Przyciski ############################ 
Przyciski: 
 
If Up = 0 Then                                              'zwiększanie zadanego azymutu 
   Waitms 25 
      If Up = 0 Then 
      Incr Azym_zad 
      Gosub Beep 
      'Bitwait Up , Set 
         If Azym_zad => 360 Then 
         Azym_zad = 360 
         End If 
      End If 
End If 
 
If Down = 0 Then                                            'zmiejszanie zadanego azymutu 
   Waitms 25 
      If Down = 0 Then 
      Decr Azym_zad 
      Gosub Beep 
      'Bitwait Down , Set 
         If Azym_zad <= 0 Or Azym_zad > 360 Then 
         Azym_zad = 0 
         End If 
      End If 
End If 
 
If Setup = 0 Then 
   Waitms 25 
      If Setup = 0 Then 
      'Gosub Beep 
      'Bitwait Setup , Set                                   'Reset 
      'Czas = 5 
      'Decr Czas 
       '  If Setup = 0 And Czas = 0 Then 
            Gosub Beep 
            Gosub Menu 
            'Gosub Setup1 
            'End If 
      End If 
End If 
 
'################################################################## 
'################################################################## 
Wys_lcd: 
 
Locate 1 , 6 : Lcd "Azymut" 
Locate 2 , 1 : Lcd Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) 
Locate 3 , 2 : Lcd Azym_odcz ; Chr(5) ; "  " 
Locate 3 , 9 : Lcd Chr(4) 
Locate 3 , 12 : Lcd Azym_zad ; Chr(5) ; "  " 
 
Return 
'################################################################# 
'################################################################# 
Odczyt_adc: 
 
Wart_ac1 = Getadc(0)                                        'odczytanie wartości z wejści ADC0 mikrokontrolera i przypisanie do zmiennej Wart_ac1 
Stopnie = Wart_ac1 / 2.841                                  'zamiana wartości odczytanej z przetwornika'stopnie = Wart_ac1 / 2.841                                       'zamiana odczytanej wartości z A/C na stopnie azymutu 
                                                            'na stopnie zaymutu 
Azym_odcz = Int(stopnie)                                    'wyciągnięcie części całkowitej ze zmienne "stopnie" Azym_odcz = Int(v1) 
 
Return 
'################################################################### 
'################################################################### 
Sterowanie: 
 
 
 
Return 
'################################################################### 
'################################################################### 
Menu: 
 
Start_menu = 0 
 
Cls 
 
Do 
 
If Setup = 0 Then 
   Waitms 25 
      If Setup = 0 Then 
         Bitwait Setup , Set 
         Incr Start_menu 
         Gosub Beep 
         If Start_menu => 5 Then 
            Start_menu = 0 
         End If 
      End If 
End If 
 
 
Select Case Start_menu 
 
 
 
   Case 1 : 
 
      Locate 1 , 4 : Lcd "Ustawianie" 
      Locate 2 , 6 : Lcd "Rotora" 
      Wait 1 : Cls : Gosub Ustaw_rotor 
   Case 2 : 
 
      Locate 1 , 2 : Lcd "Programowanie" 
      Locate 2 , 6 : Lcd "Pamieci" 
      Wait 1 : Cls : Gosub Prog_pamieci 
 
   Case 3 : 
 
      Locate 1 , 1 : Lcd "Zapis parametrow" 
      Locate 2 , 6 : Lcd "do eeprom" 
      Wait 1 : Cls : Gosub Zapisz_eeprom 
 
   End Select 
 
   Loop Until Start_menu = 4 
 
 
Return 
'##################################################################### 
'######################### Beep ###################################### 
Beep: 
 
Set Buzer 
Waitms 25 
Reset Buzer 
 
Return 
 
Ustaw_rotor: 
 
 
Return 
 
Prog_pamieci: 
 
Return 
 
Zapisz_eeprom: 
 
Return
  
 
ale po wejściu w ustawienia LCD mruga - czyli działa nie tak jak powinien 
czy taka procedura obsługi menu będzie się sprawdzać - pozdrawiam Jacek.
 
 
 
RE: Sterownik rotora - Bascom - SQ6OXK -  12-04-2011 17:04
 
 
Masz dziwnie napisaną obsługę menu. 
 
Klawiszem Zatwierdz (alias Setup) wchodzisz do menu, i następne pozycję menu wybierasz też tym klawiszem. 
 
A którym klawiszem zatwierdzasz wejście w wybraną opcję menu? 
 
A powód "mrugania" jest prosty. W liniach od 238 do 274 masz za dużo komend Cls 
 
w 236 lini masz sam Cls do kasowania po wejściu w menu i to jest w porządku. 
 
Ale zaraz po wyświetleniu pozycji menu czekasz sekundę (po co?) robisz Cls i przechodzisz do obsługi tej pozycji. 
Kod: 
 Case 1 : 
 
      Locate 1 , 4 : Lcd "Ustawianie" 
      Locate 2 , 6 : Lcd "Rotora" 
      Wait 1 : Cls : Gosub Ustaw_rotor
  
proponuje ci:  
1) Wyrzucenie tych Cls-ów w tych pozycji. 
2) Przerobić zmianę pozycji menu za pomoca klawiszy Up Down 
3) dorobić drugiego Case na obsługę poleceń z menu po naciśnięciu klawisza zatwierdź. 
 
Kilka uwag ogólnych: 
1) Niepotrzebnie używasz timer-a, bo twój program poradziłby sobie bez niego 
2) Robisz za duże skoków (używaj jak najmniej Gosub) 
3) Za dużo tu również Wait-ów - program ma pracować, choćby w kółko, a nie stać jak kołek   
 
Zastanawiam się jak go kompilujesz, masz pełną wersję BASCOM AVR?. Kod przekracza już 2k, a jeszcze niewiele robi. 
 
PS. Napisz coś więcej jak ma działać interfejs, bo nie do końca wiem jak program ma działaś.
 
 
 
RE: Sterownik rotora - Bascom - SQ6OXK -  21-04-2011 18:27
 
 
I jak Jacku? 
 
Udało Ci się coś wskurać?
 
 
 
RE: Sterownik rotora - Bascom - SQ2EER -  21-04-2011 23:05
 
 
Witam - Pawle przepraszam że się nie odzywałem tak długi czas - mam wersję Bascom LT kod wynikowy do 8kB. 
Próbowałem co nieco naskrobać ale nie mogę jeszcze dojść do ładu z wychodzeniem z podmenu. 
Interface ma sterować silnikiem krokowym za pomocą komend step, dir, enable chciałbym aby miał kilka komórek pamięci do zaprogramowania, przetwornikiem położenia anteny ma być potencjometr wieloobrotowy, położenie 0 stopni ma sygnalizować krańcówka, 360 stopni również krańcówka 
 to tyle - pozdrawiam Jacek.
 
 
 
RE: Sterownik rotora - Bascom - SQ6OXK -  21-04-2011 23:31
 
 
Jeśli bedziesz miał za czymś klopot podeślij program to Ci chętnie poprawię.  
Proponuje zamiast krańcówki dać zerowanie azymutu, w ten sposób nie bedzie trzeba jej montować i w razie jakiegoś luzu na kaszczie lub obrócenia się anteny w łatwy sposób określisz azymyt 0. 
 
Proponuje również dodać punkt "odbicia" czyli azymut którego nie wolno przekroczyć aby nie oberwać przewodów. Szczególnie bedzie to przydatne w razie ustawiania na pozycji z pamięci, sterownik sam bedzie wiedział w która ma się obracać. 
 
Obie wartość oczywiście zapamiętywane w EEPROM-ie a ich wpisanie, ustawienie anteny na danym zaymucie i zapisanie wartości z przetwornika ADC. 
 
PS. BASCOM LT??? - O mile wiem to pierwsza werska ma Win 3.11 i tylko do '51. Może chodzi Ci o te wersję specjalnie dla Polski, ale ona chyba inaczej się nazywała.
 
 
 
RE: Sterownik rotora - Bascom - SQ2EER -  21-04-2011 23:44
 
 
Witam - ano właśnie chodzi o wersje dla Polski - dzięki za chęć pomocy - hi na pewno skorzystam - bo jak pisałem stawiam pierwsze kroki w pisaniu programów - przez święta pewnie będzie więcej czasu na nasze hobby - pozdrawiam Jacek. 
 
24.04.2011 
 
Witam - coś się ruszyło   w pisaniu: 
Kod: 
 $regfile = "m644pdef.dat"                                   'informuje kompilator o typie mikrokontrolera 
'$sim 
$crystal = 16000000                                         'informuje kompilator 
                                                            'o częstotliwości oscylatora                                                            'taktującego mikrokontroler 
Config Lcd = 16 * 4 
Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.6 , Rs = Portc.7       'porty mikrokontrolera, do których dołączono wyświetlacz LCD 
 
Config Portd = &B00000111 : Portd = &B11111111 
Config Portb = &B11111111 : Portb = &B11110111 
 
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'konfiguracja wewnętrznego przetwornika A/C 
 
Deflcdchar 1 , 31 , 31 , 4 , 4 , 4 , 4 , 4 , 4              ' replace ? with number (0-7) 
Deflcdchar 2 , 31 , 31 , 32 , 32 , 32 , 32 , 32 , 32        ' replace ? with number (0-7) 
Deflcdchar 3 , 31 , 31 , 4 , 4 , 4 , 32 , 32 , 32           ' replace ? with number (0-7) 
Deflcdchar 4 , 4 , 4 , 4 , 4 , 14 , 14 , 31 , 31            ' replace ? with number (0-7) 
Deflcdchar 5 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32        ' replace ? with number (0-7) 
Deflcdchar 6 , 2 , 6 , 15 , 31 , 15 , 6 , 2 , 32            ' replace ? with number (0-7) 
Deflcdchar 7 , 8 , 12 , 30 , 31 , 30 , 12 , 8 , 32          ' replace ? with number (0-7) 
Deflcdchar 8 , 32 , 32 , 31 , 31 , 31 , 32 , 32 , 32        ' replace ? with number (0-7) 
 
Up Alias Pind.7                                             'góra 
Down Alias Pind.6                                           'dół 
Setup Alias Pind.5                                          'wejście/zatwierdzenie 
 
Dim Ekran As Byte 
Dim Pozycja As Byte 
Dim Pozycja1 As Byte 
Dim Pomoc1 As Byte 
Dim Pomoc2 As Byte 
Dim Wart_ac1 As Word                                        'zmienna na wartość odczytaną z przetwornika 
Dim Stopnie As Single                                       'zmienna stopni odczyt z przetwornika 'Dim V1 As Single                                                            'podzielony przez 2.841 
Dim Azym_odcz As Word                                       'zmienna odczytanego azymutu'Dim V2 As Word 
Dim Azym_zad As Word 
 
Start Adc                                                   'uruchamia wbudowany przetwornik 
 
Wart_ac1 = Getadc(0)                                        'odczytanie wartości z wejści ADC0 mikrokontrolera i przypisanie do zmiennej Wart_ac1 
Stopnie = Wart_ac1 / 2.841                                  'zamiana wartości odczytanej z przetwornika'stopnie = Wart_ac1 / 2.841                                       'zamiana odczytanej wartości z A/C na stopnie azymutu 
                                                            'na stopnie zaymutu 
Azym_odcz = Int(stopnie) 
 
Ekran = 1 
Pozycja = 1 
Pomoc1 = 1 
Pomoc2 = 1 
 
Cursor Off 
Cls 
Wait 1 
Locate 1 , 4 : Lcd "STEROWNIK" 
Waitms 500 
Locate 2 , 6 : Lcd "ROTORA" 
Waitms 500 
Locate 3 , 4 : Lcd "By  SQ2EER" 
Waitms 500 
Locate 4 , 5 : Lcd "Wer. 1.0" 
Wait 1 
Cls 
 
Azym_zad = Azym_odcz 
 
Do 
 
If Up = 0 Then 
   Bitwait Up , Set 
   Ekran = Ekran + 1 
   If Ekran => 4 Then Ekran = 3 
End If 
 
If Down = 0 Then 
   Bitwait Down , Set 
   Ekran = Ekran - 1 
   If Ekran = 0 Or Ekran => 4 Then Ekran = 1 
End If 
'Locate 4 , 1 : Lcd Ekran 
 
 
Select Case Ekran 
 
'Case 0: 
 
Case 1: 
 
Cls 
Do 
 
Wart_ac1 = Getadc(0)                                        'odczytanie wartości z wejści ADC0 mikrokontrolera i przypisanie do zmiennej Wart_ac1 
Stopnie = Wart_ac1 / 2.841                                  'zamiana wartości odczytanej z przetwornika'stopnie = Wart_ac1 / 2.841                                       'zamiana odczytanej wartości z A/C na stopnie azymutu 
                                                            'na stopnie zaymutu 
Azym_odcz = Int(stopnie) 
 
Locate 1 , 6 : Lcd "Azymut" 
Locate 2 , 1 : Lcd Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(2) 
Locate 3 , 2 : Lcd Azym_odcz ; Chr(5) ; "  " 
Locate 3 , 9 : Lcd Chr(4) 
Locate 3 , 12 : Lcd Azym_zad ; Chr(5) ; "  " 
 
 
If Up = 0 Then 
   Bitwait Up , Set 
   Azym_zad = Azym_zad + 1 
   If Azym_zad => 360 Then Azym_zad = 360 
End If 
If Down = 0 Then 
   Bitwait Down , Set 
   Azym_zad = Azym_zad - 1 
   If Azym_zad = 0 Or Azym_zad => 360 Then Azym_zad = 0 
End If 
If Setup = 0 Then 
   Bitwait Setup , Set 
   Pomoc1 = Pomoc1 + 1 
   If Pomoc1 => 3 Then Pomoc1 = 2 
End If 
 
Loop Until Pomoc1 = 2 : Ekran = 2 
 
 
Case 2: 
Cls 
Do 
Locate 2 , 1 : Lcd "222" 
Locate 3 , 1 : Lcd Pomoc1 
Locate 4 , 1 : Lcd Pozycja1 
If Up = 0 Then 
   Bitwait Up , Set 
   Pozycja1 = Pozycja1 + 1 
   If Pozycja1 => 4 Then Pozycja1 = 3 
End If 
If Down = 0 Then 
   Bitwait Down , Set 
   Pozycja1 = Pozycja1 - 1 
   If Pozycja1 = 0 Or Pozycja1 => 4 Then Pozycja1 = 1 
End If 
If Setup = 0 Then 
   Bitwait Setup , Set 
   Pomoc1 = Pomoc1 + 1 
   If Pomoc1 => 4 Then Pomoc1 = 3 
End If 
 
Loop Until Pomoc1 = 3 : Ekran = 3 
 
 
Case 3: 
Cls 
Do 
Locate 3 , 1 : Lcd "333" 
Locate 1 , 1 : Lcd Pomoc1 
Locate 4 , 5 : Lcd Pozycja 
If Up = 0 Then 
   Bitwait Up , Set 
   Pozycja = Pozycja + 1 
   If Pozycja => 9 Then Pozycja = 9 
End If 
If Down = 0 Then 
   Bitwait Down , Set 
   Pozycja = Pozycja - 1 
   If Pozycja = 0 Or Pozycja => 10 Then Pozycja = 0 
End If 
If Setup = 0 Then 
   Bitwait Setup , Set 
   Pomoc1 = Pomoc1 + 1 
   If Pomoc1 => 5 Then Pomoc1 = 4 
End If 
 
Loop Until Pomoc1 = 4 : Ekran = 1 
 
End Select 
 
Loop 
End
  
 
to tak dla testu - pewnie źle napisane ale działa wchodzenie i przechodzenie przez poszczególne ekrany ( ustawienia) - pozdrawiam Jacek.
 
 
 
 |